寄存器地址和位地址 运算器中有哪些寄存器?
运算器中有哪些寄存器?
答:寄存器是运算器中临时存放数据的的部件。
运算器中有存储数据的寄存器,存放一些中间运算结果等。保存指令的寄存器、运算状态的寄存器,保存存储器地址的寄存器。
8086可以对寄存器 位寻址吗?
可以
寻址就是寻找指令或操作数存放地址的方法。8086提供了8种操作,理解这8种寻址要联系8086微处理器的结构来学习。
寻址是去找指令或者操作数的存放的地址的,也就是去寻找操作数,最直接的寻址就是立即寻址,操作数直接就在指令之中。
例:MOV AX,1234H ;直接将16进制数1234H存入寄存器AX中。
还可以对内存进行访问,8位为一个字节,对内存中的每一个字节都编了号的,这个就是地址。只要知道了地址就可行了,地址既可以通过直接给出(直接寻址),也可以用计算得到。
例:MOV AX,[5634H] 用中括号括起来表示将其中的内容作为地址(偏移地址),还需通过加法器跟段寄存器中的地址相加,才能获得20位得物理地址。
8086微处理器可以对寄存器与寄存器之间进行操作,其操作在CPU内部完成。即,寄存器寻址。
例:MOV AX,BX ;AX,BX均为寄存器。
还有寄存器间接寻址,将寄存器中的内容作为偏移量。
例:MOV AX,[BX] ;用中括号将BX括起来表示将BX中的值作为地址。
基址变址寻址其有效地址由一个基址寄存器和一个变址寄存器得确定,不能两者均为变址寄存器。
例:MOV AX,[BX][SI]
MOV AX,[BX SI]
MOV AX,CS:[BX SI]
在上边即基础上在加上一个位移量,也可找到一个地址,这种叫做相对基址变址寻址。
例:MOV AX,TABLE[BX][SI]
MOV AX,TABLE[BX SI]
mov AX,[BX SI TABLE] 上面三种等价
跟寄存器间接寻址差不多得还有寄存器相对间接寻址,在上面得基础上面在加上一个位移量。这样同样可容易找到所存储得位置,如果两个均为没有基地址则会出错。
例:MOV CL,[BX 2000H] [位移量 基址寄存器名或变址寄存器名]
MOV AX,20H[SI] 位移量[基址寄存器名或变址寄存器名]
若选择BX,SI,或DI寄存器提供得基地址或变地址,则操作数一般用DS提供基址,若选择BP寄存器提供得基地址或变地址,则操作数在堆栈段,一般用SS提供基址。
除上述七种寻址外还有一类特殊得寻址,即隐含寻址。隐含寻址就是在指令中不出现操作数,但指令本身隐含指示了操作数得来源。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。