1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据0403H。 

源代码:

assume cs:code
code segment
mov ax,0b800h
mov ds,ax
mov bx,07b8h
mov ax,0403h
mov cx,16

s:mov [bx],ax
add bx,2
loop s

mov ax,4c00h
int 21h
code ends
end

修改后运行结果截图:

2. 综合使用 loop,[bx],编写完整汇编源程序,实现向内存 0:200~0:23F 依次传送数据 0~63(3FH)。 

源代码:

assume cs:code
code segment
mov ax,0
mov ds,ax
mov bx,0200h
mov cx,64

s:mov [bx],ax
add bx,2
add ax,1
loop s

mov ax,4c00h
int 21h
code ends
end

使用debug检验的截图

(3)下面的程序功能是将“mov ax,4c00h"之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。

源代码:

assume cs:code
code segment
mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,0017h
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s

mov ax,4c00h
int 21h
code ends
end

运行结果截图:

空白处应填上cs,和0017h。

二.总结与体会

这一章主要是讲关于loop和[bx]的用法,这一章我看了挺久的,而且在自己思考代码的时候还出了很多错误,

比如不能正确将要复制进去的内容成功输入进去,大问题和小问题林林总总发现了许多,不过还好改正过来了。