实验四
实验一:
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 ]的结合使用未完全理解
浙公网安备 33010602011771号