8086寻址方式
2017-09-04 22:57
218 查看
8086寻址方式
立即数寻址
寄存器寻址
Reg to Reg
Seg to Reg
Reg to Seg
存储器寻址
直接寻址
寄存器间接寻址
寄存器相对寻址
寄存器变址寻址
寄存器相对变址寻址
寻址:就是寻找操作数的过程。注:获取操作数采用的寻址方式,会影响机器运行效率。
操作码:有时候指,机器指令的二进制编码。有时候指机器指令对应的英文缩写(助记符)
指令中的操作数:1可以指具体的数值。2可以是存放数据的寄存器。3指明数据在主存位置的存储器地址
2.从内存中取立即数第位八位,放在指令暂存区。
3.从内存中取立即数高八位,放在指令暂存区。
4.从指令暂存区,将拼装好的立即数,送入寄存器。
mov ax, 0000h
mov al, 00h
mov ah, 00h
取立即数(暂存到内部暂存器),与Seg运算,获得操作数地址
取操作数
默认的段地址在DS段寄存器,可使用段超越前缀改变
1. 取指令,要取两次。
2. 将寄存器的数值放到暂存器中,与Reg运算。
3. 根据运算结果取内存中的地址。
有效地址=BX/BP/SI/DI+8/16位位移量
段地址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是SS;可用段超越前缀改变
1.取指令
2.区操作数获得操作的寄存器,将寄存器的值暂存到ALU中,
3.取立即数,将立即数存放到内部暂存器中。取完立即数后,将其送往ALU
3. ALU做运算,计算出偏移值,由地址加法器算出地址。
4. 由计算出的地址取相应的值。
mov ax [SI +01]
mov ax [SI +0101]
立即数寻址
寄存器寻址
Reg to Reg
Seg to Reg
Reg to Seg
存储器寻址
直接寻址
寄存器间接寻址
寄存器相对寻址
寄存器变址寻址
寄存器相对变址寻址
8086寻址方式
8086寻址方式主要分为三种,立即数寻址方式,寄存器寻址方式,存储器寻址方式。寻址:就是寻找操作数的过程。注:获取操作数采用的寻址方式,会影响机器运行效率。
操作码:有时候指,机器指令的二进制编码。有时候指机器指令对应的英文缩写(助记符)
指令中的操作数:1可以指具体的数值。2可以是存放数据的寄存器。3指明数据在主存位置的存储器地址
立即数寻址
1.从内存中取指令。2.从内存中取立即数第位八位,放在指令暂存区。
3.从内存中取立即数高八位,放在指令暂存区。
4.从指令暂存区,将拼装好的立即数,送入寄存器。
mov ax, 0000h
mov al, 00h
mov ah, 00h
byte | byte/word(1bit) | High/Low(1bit) | reg(3big) | 立即数 | 指令 |
---|---|---|---|---|---|
1011 | 1 | 0 | 00 | 0000h | mov ax, 0000h |
1011 | 1 | 0 | 01 | 0000h | mov cx, 0000h |
1011 | 1 | 0 | 10 | 0000h | mov dx, 0000h |
1011 | 1 | 0 | 11 | 0000h | mov bx, 0000h |
1011 | 1 | 1 | 00 | 0000h | mov sp, 0000h |
1011 | 1 | 1 | 01 | 0000h | mov bp, 0000h |
1011 | 1 | 1 | 10 | 0000h | mov si, 0000h |
1011 | 1 | 1 | 11 | 0000h | mov di, 0000h |
1011 | 0 | 0 | 00 | 00h | mov al, 00h |
寄存器寻址
Reg to Reg
8BC0-8BC7 | 8BC8-8BCF | 8BD0-8BD7 | 8BD8-8BDF |
---|---|---|---|
mov ax, ax | mov cx, ax | mov dx, ax | mov bx, ax |
mov ax, cx | mov cx, cx | mov dx, cx | mov bx, cx |
mov ax, dx | mov cx, dx | mov dx, dx | mov bx, dx |
mov ax, bx | mov cx, bx | mov dx, bx | mov bx, bx |
mov ax, sp | mov cx, sp | mov dx, sp | mov bx, sp |
mov ax, bp | mov cx, bp | mov dx, bp | mov bx, bp |
mov ax, si | mov cx, si | mov dx, si | mov bx, si |
mov ax, di | mov cx, di | mov dx, di | mov bx, di |
Seg to Reg
8CC0-8CC7 | 8CC8-8CCF | 8CD0-8CD7 | 8CD8-8CDF |
---|---|---|---|
mov ax, es | mov ax, cs | mov ax, ss | mov ax, ds |
mov cx, es | mov cx, cs | mov cx, ss | mov cx, ds |
mov dx, es | mov dx, cs | mov dx, ss | mov dx, ds |
mov bx, es | mov bx, cs | mov bx, ss | mov bx, ds |
mov sp, es | mov sp, cs | mov sp, ss | mov sp, ds |
mov bp, es | mov bp, cs | mov bp, ss | mov bp, ds |
mov si, es | mov si, cs | mov si, ss | mov si, ds |
mov di, es | mov di, cs | mov di, ss | mov di, ds |
Reg to Seg
8EC0-8EC7 | 8EC8-8ECF | 8ED0-8ED7 | 8ED8-8EDF |
---|---|---|---|
mov es,ax | mov cs ,ax | mov ss ,ax | mov ds ,ax |
mov es,cx | mov cs ,cx | mov ss ,cx | mov ds ,cx |
mov es,dx | mov cs ,dx | mov ss ,dx | mov ds ,dx |
mov es,bx | mov cs ,bx | mov ss ,bx | mov ds ,bx |
mov es,sp | mov cs ,sp | mov ss ,sp | mov ds ,sp |
mov es,bp | mov cs ,bp | mov ss ,bp | mov ds ,bp |
mov es,si | mov cs ,si | mov ss ,si | mov ds ,si |
mov es,di | mov cs ,di | mov ss ,di | mov ds ,di |
存储器寻址
直接寻址
取指令取立即数(暂存到内部暂存器),与Seg运算,获得操作数地址
取操作数
B8,0100-BF,0100 |
---|
mov ax, [0001h] |
mov cx, [0001h] |
mov dx, [0001h] |
mov bx, [0001h] |
mov sp, [0001h] |
mov bp, [0001h] |
mov si, [0001h] |
mov di, [0001h] |
寄存器间接寻址
有效地址存放在基址寄存器BX或变址寄存器SI、DI中默认的段地址在DS段寄存器,可使用段超越前缀改变
1. 取指令,要取两次。
2. 将寄存器的数值放到暂存器中,与Reg运算。
3. 根据运算结果取内存中的地址。
BX | IS | DI | |
---|---|---|---|
ax | 8B07 | 8B04 | 8B05 |
cx | 8B0F | 8B0C | 8B0D |
dx | 8B17 | 8B14 | 8B15 |
bx | 8B1F | 8B1C | 8B1D |
sp | 8B27 | 8B24 | 8B25 |
bp | 8B2F | 8B2C | 8B2D |
si | 8B37 | 8B34 | 8B35 |
di | 8B3F | 8B3C | 8B3D |
BX | IS | DI | |
---|---|---|---|
es | 8E07 | 8E04 | 8E05 |
cs | 8E0F | 8E0C | 8E0D |
ss | 8E17 | 8E14 | 8E15 |
ds | 8E1F | 8E1C | 8E1D |
寄存器相对寻址
有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX、BP或SI、DI有效地址=BX/BP/SI/DI+8/16位位移量
段地址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是SS;可用段超越前缀改变
1.取指令
2.区操作数获得操作的寄存器,将寄存器的值暂存到ALU中,
3.取立即数,将立即数存放到内部暂存器中。取完立即数后,将其送往ALU
3. ALU做运算,计算出偏移值,由地址加法器算出地址。
4. 由计算出的地址取相应的值。
mov ax [SI +01]
SI | DI | BP | BX | |
---|---|---|---|---|
ax | 8B44xx | 8B45xx | 8B46xx | 8B47xx |
cx | 8B4Cxx | 8B4Dxx | 8B4Exx | 8B4Fxx |
dx | 8B54xx | 8B55xx | 8B56xx | 8B57xx |
bx | 8B5Cxx | 8B5Dxx | 8B5Exx | 8B5Fxx |
sp | 8B64xx | 8B65xx | 8B66xx | 8B67xx |
bp | 8B6Cxx | 8B6Dxx | 8B6Exx | 8B6Fxx |
si | 8B74xx | 8B75xx | 8B76xx | 8B77xx |
di | 8B7Cxx | 8B7Dxx | 8B7Exx | 8B7Fxx |
SI | DI | BP | BX | |
---|---|---|---|---|
ax | 8B84xxxx | 8B85xxxx | 8B86xxxx | 8B87xxxx |
cx | 8B8Cxxxx | 8B8Dxxxx | 8B8Exxxx | 8B8Fxxxx |
dx | 8B94xxxx | 8B95xxxx | 8B96xxxx | 8B97xxxx |
bx | 8B9Cxxxx | 8B9Dxxxx | 8B9Exxxx | 8B9Fxxxx |
sp | 8BA4xxxx | 8BA5xxxx | 8BA6xxxx | 8BA7xxxx |
bp | 8BACxxxx | 8BAExxxx | 8BADxxxx | 8BAFxxxx |
si | 8BB4xxxx | 8BB5xxxx | 8BB6xxxx | 8BB7xxxx |
di | 8BBCxxxx | 8BBExxxx | 8BBDxxxx | 8BBFxxxx |
寄存器变址寻址
BX+SI | BX+DI | BP+SI | BP+DI | |
---|---|---|---|---|
ax | 8B00 | 8B01 | 8B02 | 8B803 |
cx | 8B08 | 8B09 | 8B0A | 8B80B |
dx | 8B10 | 8B11 | 8B12 | 8B813 |
bx | 8B18 | 8B19 | 8B1A | 8B81B |
sp | 8B20 | 8B21 | 8B22 | 8B823 |
bp | 8B28 | 8B29 | 8B2A | 8B82B |
si | 8B30 | 8B31 | 8B32 | 8B833 |
di | 8B38 | 8B39 | 8B3A | 8B83B |
寄存器相对变址寻址
BX+SI+XXXX | BX+DI+XXXX | BP+SI+XXXX | BP+DI+XXXX | |
---|---|---|---|---|
ax | 8B80xxxx | 8B81xxxx | 8B82xxxx | 8B83xxxx |
cx | 8B88xxxx | 8B89xxxx | 8B8Axxxx | 8B8Bxxxx |
dx | 8B90xxxx | 8B91xxxx | 8B92xxxx | 8B93xxxx |
bx | 8B98xxxx | 8B99xxxx | 8B9Axxxx | 8B9Bxxxx |
sp | 8BA0xxxx | 8BA1xxxx | 8BA2xxxx | 8BA3xxxx |
bp | 8BA8xxxx | 8BA9xxxx | 8BAAxxxx | 8BABxxxx |
si | 8BB0xxxx | 8BB1xxxx | 8BB2xxxx | 8BB3xxxx |
di | 8BB8xxxx | 8BB9xxxx | 8BBAxxxx | 8BBBxxxx |
BX+SI+XX | BX+DI+XX | BP+SI+XX | BP+DI+XX | |
---|---|---|---|---|
ax | 8B40xx | 8B41xx | 8B42xx | 8B43xx |
cx | 8B48xx | 8B49xx | 8B4Axx | 8B4Bxx |
dx | 8B50xx | 8B51xx | 8B52xx | 8B53xx |
bx | 8B58xx | 8B59xx | 8B5axx | 8B5Bxx |
sp | 8B60xx | 8B61xx | 8B62xx | 8B63xx |
bp | 8B68xx | 8B69xx | 8B6Axx | 8B6Bxx |
si | 8B70xx | 8B71xx | 8B72xx | 8B73xx |
di | 8B78xx | 8B79xx | 8B7Axx | 8B7Bxx |
相关文章推荐
- 8086寻址方式
- 汇编语言3——8086CPU的寻址方式
- 8086的七种寻址方式(临时整理1)
- 小结:8.4 8086汇编 寻址方式小结
- 8086/8088 寻址方式
- 8086/8088寻址方式
- 8086寻址方式
- 微机原理--第三章(1) 8086的寻址方式
- 8086寻址方式
- Intel 8086/8088系统寻址方式
- 8086寻址方式学习
- 8086 寻址方式(一)CPU和主存中的寻址方式
- 汇编_8086/8088寻址方式和指令系统
- 8086汇编寻址方式总结
- 关于8086/88内存寻址方式
- 8086/8088 寻址方式
- 8086中的七种寻址方式
- 8086汇编寻址方式总结
- 8086 寻址方式(一)CPU和主存中的寻址方式
- 8086 的寻址方式