实验二 汇编源程序编写与汇编、调试
实验任务一
1.ex1.asm源代码
assume cs:code
code segment mov ax, 0b810h mov ds, ax mov byte ptr ds:[0], 1 mov byte ptr ds:[1], 1 mov byte ptr ds:[2], 2 mov byte ptr ds:[3], 2 mov byte ptr ds:[4], 3 mov byte ptr ds:[5], 3 mov byte ptr ds:[6], 4 mov byte ptr ds:[7], 4 mov ah, 4ch int 21h code ends end
2.对ex1.asm进行编译

3.进行连接

4.运行结果

5.debug调试的截图
d命令查看:

u命令反汇编:

g命令执行到第16行:

实验任务二
1.ex2.asm的源代码:
assume cs:code code segment mov ax, 0b810h mov ds, ax mov bx, 0 mov ax, 101H mov cx, 4 s: mov [bx], ax add bx, 2 add ax, 101H loop s mov ah, 4ch int 21h code ends end
2.编译、连接、运行:

3.debug调试截图:
反汇编

调试


4.比较区别


实现的效果相同,具体实现上ex1直接编写,而ex2通过循环比较简便。
实验任务三
1.ex3.asm源代码
assume cs:code code segment mov ax,0b800h mov ds,ax mov bx,07b8h mov cx,16 s: mov ax,0237h mov [bx],ax add bx,2 loop s mov ax,4ch int 21h code ends end
2.运行结果

3.改变后比较
0239h

0437h

高两位表示颜色,低两位表示数字。
实验任务四
1.源代码
assume cs:code code segment mov ax,0020h mov ds,ax mov bx,0 mov cx,64 s: mov [bx],bl inc bx loop s mov ax,4c00h int 21h code ends end
2.编译、连接、运行完成

3.调试




实验任务五
1.源代码
assume cs:code code segment mov ax,cs mov ds,ax mov ax,0020h mov es,ax mov bx,0 mov cx,23 s: mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00h int 21h code ends end
程序入口为cs:0(ip=0),所以第一空处传递段地址为cs;
先将第二空位随便设为1,加载后观察mov ax,4c00h之前代码为0000~0016h,总长度为23。
2.


浙公网安备 33010602011771号