汇编语言笔记实验4[bx]和loop的使用
汇编语言笔记实验4[bx]和loop的使用
0x00 实验一
assume cs:codesg
codesg segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,40h
s: mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
codesg ends
end
实验结果如下,实验成功
0x01 实验二
完成实验一的代码已经满足了实验二的要求,完成跳过
0x02 实验三
将指令复制和将数据复制本质都是从内存复制没区别 程序被装入内存时 cs指向 代码段,ip通常为0,所以时从cs:0 ->20:0 所以根据代码 第一空应该填 cs 复制长度cx是多少? 取决于指令长度,题目要求 mov ax,4c00h以前的都复制,那么我们先随意填一个数在第二空,编译完成后用debug查看指令长度,然后再修改。 实际上是23字节(如果你对汇编对应的机器指令熟悉,也可以计算出来)
实验步骤
1先随便填一个长度把代码补全
2编译链接调试 查看代码到mov ax,4c00h的长度,该指令的地址是18h也就是之前的指令到17h截至,那么长度是17h 也就是23