汇编笔记12

思考:如何把ffff:0-ffff:b单元中的数据之和写入寄存器dx中呢?

一般来说,我们把一个数据单元中的数据移到一个寄存器中的方法是"dl=0,dh=数据单元值"的形式。但上述问题中需要转移的是ff:0-fff:b单元中的数据之和,结果很可能大于8位。因此我们选择,让一个寄存器的高(低位)依次存储ff:0-fff:b单元中的数据,再依次加入寄存器dx中。

————代码见P125.

用loop指令实现"依次转移"

————代码见P128.


思考:如何把ffff:0-ffff:b单元中的数据复制到020:0-020:b中呢?

显然此题需要用到段前缀及loop指令。

注意:

1.只有段寄存器才能储存段地址,而段寄存器的值无法直接用mov指令赋值("mov ds,0ffffh"的写法是错误的)。需要寄存器中转。

1.两个内存单元之间的数据转移不能直接用mov指令,("mov es:[bx],ds:[bx]"的写法是错误的)。需要寄存器中转。

————代码见P133.


你可能感兴趣的:(汇编笔记12)