汇编语言之寄存器总结
2014-06-16 09:50
190 查看
通用寄存器的主要用途
这张表用来参照。
(1)在8086CPU中只有这四个寄存器可以在[...]中进行内存单元的寻址。
比如,下面的指令都是正确的:
mov ax,[bx]
mov ax,[bx+si]
mov ax,[bx+di]
mov ax,[bp]
mov ax,[bp+si]
mov ax,[bp+di]
而下面都是错误的:
mov ax,[cx]
mov ax,[ax]
mov ax,[dx]
mov ax,[ds]
(2).在[...]中,这四个寄存器可以单独出现,或者只能以四种组合出现:bx和si、bx和di、bp和si、bp和di。
比如下面都是正确的
mov ax,[bx]
mov ax,[si]
mov ax,[di]
mov ax,[bp]
mov ax,[bx+si]
mov ax,[bx+di]
mov ax,[bp+si]
mpv ax,[bp+di]
mov ax,[bx+si+idata]
mov ax,[bx+si+idata]
mov ax,[bp+si+idata]
mov ax,[bp+di+idata]
下面就是错误的
mov ax,[bx+bp]
mov ax,[si+di]
(3)只要在[....]中使用寄存器bp,而指令汇总没有显示给出段地址,段地址就默认在ss中。 比如下面的指令。
mov ax,[bp] 含义:(ax)=((ss)*16+(bp))
mov ax,[bp+idata] 含义:(ax)=((ss)*16+(bp)+idata)
mov ax,[bp+si] 含义:(ax)=((ss)*16+(bp)+(si))
mov ax,[bp+si+idata] 含义:(ax)=((ss)*16+(bp)+(si)+idata)
寄存器的分类 | 寄存器 | 主 要 用 途 | |
通 用 寄 存 器 | 数据 寄存器 | AX | 乘、除运算,字的输入输出,中间结果的缓存 |
AL | 字节的乘、除运算,字节的输入输出,十进制算术运算 | ||
AH | 字节的乘、除运算,存放中断的功能号 | ||
BX | 存储器指针 | ||
CX | 串操作、循环控制的计数器 | ||
CL | 移位操作的计数器 | ||
DX | 字的乘、除运算,间接的输入输出 | ||
变址 寄存器 | SI | 存储器指针、串指令中的源操作数指针 | |
DI | 存储器指针、串指令中的目的操作数指针 | ||
变址 寄存器 | BP | 存储器指针、存取堆栈的指针 | |
SP | 堆栈的栈顶指针 | ||
指令指针 | IP/EIP | ||
标志位寄存器 | Flag/EFlag | ||
32位 CPU的 段寄存器 | 16位CPU的 段寄存器 | ES | 附加段寄存器 |
CS | 代码段寄存器 | ||
SS | 堆栈段寄存器 | ||
DS | 数据段寄存器 | ||
新增加的 段寄存器 | FS | 附加段寄存器 | |
GS | 附加段寄存器 |
(1)在8086CPU中只有这四个寄存器可以在[...]中进行内存单元的寻址。
比如,下面的指令都是正确的:
mov ax,[bx]
mov ax,[bx+si]
mov ax,[bx+di]
mov ax,[bp]
mov ax,[bp+si]
mov ax,[bp+di]
而下面都是错误的:
mov ax,[cx]
mov ax,[ax]
mov ax,[dx]
mov ax,[ds]
(2).在[...]中,这四个寄存器可以单独出现,或者只能以四种组合出现:bx和si、bx和di、bp和si、bp和di。
比如下面都是正确的
mov ax,[bx]
mov ax,[si]
mov ax,[di]
mov ax,[bp]
mov ax,[bx+si]
mov ax,[bx+di]
mov ax,[bp+si]
mpv ax,[bp+di]
mov ax,[bx+si+idata]
mov ax,[bx+si+idata]
mov ax,[bp+si+idata]
mov ax,[bp+di+idata]
下面就是错误的
mov ax,[bx+bp]
mov ax,[si+di]
(3)只要在[....]中使用寄存器bp,而指令汇总没有显示给出段地址,段地址就默认在ss中。 比如下面的指令。
mov ax,[bp] 含义:(ax)=((ss)*16+(bp))
mov ax,[bp+idata] 含义:(ax)=((ss)*16+(bp)+idata)
mov ax,[bp+si] 含义:(ax)=((ss)*16+(bp)+(si))
mov ax,[bp+si+idata] 含义:(ax)=((ss)*16+(bp)+(si)+idata)
相关文章推荐
- 汇编语言基础之一 - CPU架构和寄存器种类简介
- 汇编语言基础之九- 关于栈指针的规律性的总结
- 寄存器(CPU工作原理)05 - 零基础入门学习汇编语言10
- 寄存器(CPU工作原理)07 - 零基础入门学习汇编语言12
- 寄存器(CPU工作原理)07 - 零基础入门学习汇编语言12
- 北京自考北大上机汇编语言知识点总结(二)
- 寄存器(内存访问)02 - 零基础入门学习汇编语言14
- 寄存器(CPU工作原理)04 - 零基础入门学习汇编语言09
- 寄存器(CPU工作原理)02 - 零基础入门学习汇编语言07
- 寄存器(内存访问)01 - 零基础入门学习汇编语言13
- 汇编语言2——寄存器概述
- 关于汇编语言寄存器和指令操作的整理 2010-05-16 15:22 by Create Chen
- 关于汇编语言寄存器和指令操作的整理
- 寄存器(CPU工作原理)04 - 零基础入门学习汇编语言09
- 寄存器(CPU工作原理)01 - 零基础入门学习汇编语言06
- 汇编语言基础之六- 调用栈和各种调用约定的总结对比
- 关于汇编语言寄存器和指令操作的整理
- 汇编语言复习摘要三——寄存器的内存访问
- 寄存器(CPU工作原理)06 - 零基础入门学习汇编语言11
- 寄存器(内存访问)02 - 零基础入门学习汇编语言14