《汇编语言》- 读书笔记 - 实验4 [bx]和 loop 的使用

《汇编语言》- 读书笔记 - 实验4 [bx]和 loop 的使用

  1. 编程,向内存 0:200~0:23F 依次传送数据 0~63(3FH)。
  2. 编程,向内存 0:200~0:23F 依次传送数据 0~63(3FH),程序中只能使用 9 条指令,9条指令中包括mov ax, 4c00hint 21h
assume cs:code
code segment
	mov ax, 20h			;配合bx正好得到 20h*16 + 0 =0200h
	mov ds, ax			;设置(ds)=0
	mov bx, 0			
	
	mov cx, 64			;设置循环次数(0时结束,所以要多给一次)
 s: mov [bx], bx		;0 送到 200 遍历63次,每次bx+1
	inc bx				;偏移地址向前移动
	loop s				;检测循环条件,符合就循环,否则向下继续
	
	mov ax, 4c00h		
	int 21h
code ends
end

在这里插入图片描述

  1. 下面的程序的功能是将mov ax,4c0h之前的指令复制到内存 0:200 处,补全程序。上机调试,跟踪运行结果。
assume cs:code
code segment
	mov ax, cs			;配合bx正好得到 20h*16 + 0 =0200h
	mov ds, ax			;设置(ds)=0
	mov ax, 0020h
	mov es, ax
	mov bx, 0
	mov cx, cx			;设置循环次数(0时结束,所以要多给一次)
 s: mov al, [bx]		;
	mov es:[bx], al
	inc bx				;偏移地址向前移动
	loop s				;检测循环条件,符合就循环,否则向下继续
	mov ax, 4c00h		
	int 21h
code ends
end

在这里插入图片描述

但是不知道何最后是 CC21 ???

总结

bx + loop 可以实现类似 for 循环的效果

		mov bx, 0			; i = 0
		mov cx, 8			; len = 8
	s:	push [bx]		
		inc bx				; i++
		loop s				; i < len 循环

inc 自增相当于 i++
dec 自减相当于 i--

猜你喜欢

转载自blog.csdn.net/jx520/article/details/130865327