此部分书写内容:
task1.asm源代码:
1 assume cs:code, ds:data 2 data segment 3 db ‘Nuist‘ 4 db 5 dup(2) 5 data ends 6 7 code segment 8 start: 9 mov ax, data 10 mov ds, ax 11 12 mov ax, 0b800H 13 mov es, ax 14 15 mov cx, 5 16 mov si, 0 17 mov di, 0f00h 18 s: mov al, [si] 19 and al, 0dfh 20 mov es:[di], al 21 mov al, [5+si] 22 mov es:[di+1], al 23 inc si 24 add di, 2 25 loop s 26 27 mov ah, 4ch 28 int 21h 29 code ends 30 end start
使用masm、link工具汇编、链接的命令行及运行结果截图:
使用debug调试:
修改line4里5个字节单元的值,重新汇编、链接、运行,观察结果:
1 db 5 dup(2) 2 --> 改成: 3 db 2,3,4,5,6
分析:修改之后输出字符颜色发生了变化,内容保持不变。分析可知, db 5 dup(2) 表示分配5字节内存空间并初始化为2; db 2,3,4,5,6 表示直接分配5字节内存空间并初始化为2,3,4,5,6.综上分析可知,修改的部分控制了输出字符的颜色,对内容并五影响。
此部分书写内容:
ex2.asm源代码:
1 ;ex2.asm
2 assume cs:code
3 code segment
4 mov ax,0b810h
5 mov ds,ax
6 mov bx,0
7 mov ax,101H
8 mov cx,4
9 s: mov [bx],ax
10 add bx,2
11 add ax,101H
12 loop s
13 mov ah,4ch
14 int 21h
15 code ends
16 end
此部分书写内容:
程序源码:
1 assume cs:code
2 code segment
3
4 mov ax,0b800h
5 mov ds,ax
6 mov bx,07b8h
7 mov cx,16
8 s: mov dx, word ptr 0237h
9 mov ds:[bx],dx
10 add bx,2
11 loop s
12
13 mov ax,4c00h
14 int 21h
15
16 code ends
17 end
运行结果:
此部分书写内容:
程序源代码:
1 assume cs:code
2 code segment
3
4 mov ax,0200h
5 mov ds,ax
6 mov cx,64
7 s: mov [bx],bx
8 inc bx
9 loop s
10
11 mov ax,4c00h
12 int 21h
13
14 code ends
15 end
t、p、g命令调试:
d命令查看0:200~0:23F:
此部分书写内容:
程序源代码:
1 assume cs:code
2 code segment
3 mov ax,cs
4 mov ds,ax
5 mov ax,0020h
6 mov es,ax
7 mov bx,0
8 sub cx,5
9 s: mov al,[bx]
10 mov es:[bx],al
11 inc bx
12 loop s
13 mov ax,4c00h
14 int 21h
15 code ends
16 end
调试查看:
此部分书写内容:
此部分书写内容:
此部分书写内容:
原文:https://www.cnblogs.com/max-max/p/14010667.html