首页 > 代码库 > 汇编语言(王爽)实验十

汇编语言(王爽)实验十

实验要求:

在屏幕的8行3列,用绿色显示data段中的字符串。

data段的数据: ‘welcome to masm!’,0

实验分析:

 

建立在实验九的基础上。

定位:8行3列。

输出:只能输出welcome to masm!

寄存器太多,不能重用。

 

解决第一个问题:di为屏幕上的位置。dh存的行,dl存的是列

技术分享

解决第二个问题:loop循环退出的条件是cx寄存器为0

技术分享技术分享

把data段传入cx。如果是0。退出。

 1 assume cs:code
 2 data segment
 3     db ‘Welcome to masm!‘,0
 4 data ends
 5 
 6 code segment
 7 start:
 8     mov dh,8
 9     mov dl,3
10     mov cl,2
11     mov ax,data
12     mov ds,ax
13     mov si,0
14     call show_str
15 
16     mov ax,4c00h
17     int 21h
18 show_str:
19     mov bx,cx
20 
21     mov ax,data
22     mov ds,ax
23 
24     mov ax,0b800h
25     mov es,ax
26 
27     mov al,160
28     mul dh
29 
30     add dl,dl
31     mov cl,dl
32     mov ch,0
33 
34     add ax,cx
35     mov di,ax
36 
37 
38     s:
39     mov ch,0
40     mov cl,ds:[si]
41     jcxz brk
42     mov al,ds:[si]
43     mov ah,bl
44     mov es:[di],ax
45     inc di
46     inc di
47     inc si
48     loop s
49 
50 
51     brk:
52     ret
53 
54     code ends
55     end start

 

 

 实验虽然很简单。但是我做了一个小时。

我爱学习!我不爱玩狼人杀

汇编语言(王爽)实验十