1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据0403H。
源代码为
assume cs:code
code segment
	mov dx, 0b800h
	mov ds, dx
	mov bx, 07b8h
	mov cx, 16
s:	mov [bx], 0403h
	loop s
	mov ax, 4c00h
	int 21h
code ends
end


接着同样的操作。查看内存单元

为什么不是0403。。自己查不出来。
(2)写入代码
assume cs:code 
code segment
	mov ax, 0020h
	mov ds, ax
	mov bx, 0
	
	mov cx, 64
s: 	mov [bx], bx
	inc bx
	loop s
	mov ax, 4c00h
	int 21h
code ends
end
编译,链接

debug调试,反汇编,单步执行


 
查看程序运行后的内存单元

(3)代码
assume cs:code
code segment
	mov ax, cs
	mov ds, ax
	mov ax, 0020h
	mov es, ax
	mov bx, 0
	
	mov cx, 17h
s: 	mov al, [bx]
	mov es:[bx], al
	inc bx
	loop s
	
	mov ax, 4c00h
	int 21h
code ends
end
编译,链接,debug

由题要 将mov ax, 4c00h之前的指令复制到内存中 所以第二空填17h
第一空是因为复制指令
总结:loop和[bx]的组合可以实现很多复杂的操作,loop的循环槽操作也是非常的方便滴。
原文:https://www.cnblogs.com/LANBABA/p/9979253.html