汇编 | 寄存器篇
8086CPU
内存中字的存储:CPU中,用16位寄存器来存储一个字,高8位存放高位字节,低8位存放低位字节。在内存中存储时,由于内存单元是字节单元,一个字要用两个地址连续的内存单元来存放。字的低位字节存在低位地址单元中,字的高位字节存在高位地址单元。
起始地址(低位)为N,则为N地址字单元。
CPU中DS寄存器通常用来存放要访问数据的段地址。
如下几种形式:
mov 寄存器,数据
mov 寄存器,寄存器
mov 寄存器,内存单元
mov 内存单元,寄存器
mov 段寄存器,寄存器
mov 段寄存器,内存单元
内存单元的段地址默认是放在DS寄存器中,可用偏移地址进行读取内存单元中的内容。
8086CPU不支持直接将数据直接送入段寄存器中。可用ds存放数据段的段地址。
add 寄存器,数据
add 寄存器,寄存器
add 寄存器,内存单元
add 内存单元,寄存器
sub 寄存器,数据
sub 寄存器,寄存器
sub 寄存器,内存单元
sub 内存单元,寄存器
允许mov 段寄存器,内存单元,但不允许add/sub 段寄存器,内存单元。
mov、add、sub是具有两个操作对象的对象,jmp是具有一个操作对象的指令。
jmp修改CS:IP值单操作对象。
文章目录
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。