实验四
实验一:
assume cs:code code segment mov ax,0b800h mov ds,ax mov bx,07b8h mov cx,10h mov cx,16 a: mov ax,0403h mov [bx],ax inc bx inc bx loop a mov ax,4c00h int 21h code ends end
将0403h修改为0441h
练习二:
内存0:200˜0:23f依次传送数据0~63(3fh):
assume cs:code code segment mov ax,0 mov ds,ax mov bx,0200h mov cx,40h a: mov al,0 mov [bx],al inc al inc bx loop a mov ax,4c00h int 21h code ends end
反汇编
调试,查看:
练习三
assume cs:code code segment mov ax,cs mov ds,ax mov ax,0020h mov es,ax mov bx,0 mov cx,17h a: mov al,[bx] mov es:[bx],al inc bx loop a mov ax,4c00h int 21h code ends end
未知代码长度,先给cx赋值为0
loop后一个命令的偏移地址为0017,用g命令时应该为17,即给cx赋值应为17h
总结:
学会一些简单使用loop循环的地方
未知指令段长度即循环执行次数cx值,调试时应先反汇编查看偏移地址
问题:还是不大理解[bx],只知道编译器编译时[bx]和bx两者不同,loop循环执行次数的查看还存在不理解的地方,
loop与[ bx ]的结合使用未完全理解