汇编学习3
发布时间
阅读量:
阅读量
mov/add指令
mov a,b 将b中的数据移动到a中。
指令中数据从哪送到哪一定要指明,寄存器用寄存器名来指明,内存单元用内存单元的地址来指明。[…]表示一个内存单元,[0]中的0表示内存单元的偏移地址。只有偏移地址是不能定位一个内存单元的,指令执行时,8086CPU自动取ds中的数据作为内存单元的段地址。
例1 :将10000H(用段地址和偏移地址表示为1000:0)中的数据读到al中
mov bx,1000H ;将10000H中的数据送入bx中
mov ds,bx ;将bx中的数据送入ds中
mov al,[0] ;偏移为0,相当于不动,把当前位置的数据送入al中
mov指令不仅能够将数据从内存单元移动到寄存器中,并且也能从寄存器中转移至内存单元。然而,在8086CPU上无法直接将数据送到段寄存器。因此执行该指令mov ds 1\text{ }ooooH会导致错误。那该怎么办才能将oooH的数据传输到ds段呢?通常的做法是使用一个通用寄存器作为临时存储空间:首先将oooH的数据加载至bx或者其他通用寄存器中;接着通过执行mov bx, oooH命令完成初步转移;最后再通过bxxs dseg load dsooohh$等操作完成最终的数据迁移。
在内存布局中设定
全部评论 (0)
还没有任何评论哟~
