微机原理与接口技术,MOOC视频,老师:戴胜华 第三章之前

mac2022-11-22  45

第三章:指令系统

3.2寻址方式

3.2.3

立即寻址:指定的操作数紧跟在操作码之后,直接存放在代码段中。

(不需要找地址,已经知道数)

如:MOV BL, 56H ;     八位寄存器(H表示十六进制数,一位16进制数占4位,两个就站8位)

       MOV AX, 2056H   ;  十六位寄存器

       MOV ECX, 12345678H ;    三十二位寄存器 

      2.寄存器寻址:操作数在CPU的寄存器中,而寄存器的名由指令指出。

(我要找的数在寄存器里)

如:INC CL  ->  (CL+1);

       MOV AX, BX;

      3.直接寻址:中括号一定是偏移地址。就是在寄存器里直接放[地址]。(段基址默认:DS)

(要找的数就在指令里面)

       4.寄存器间接寻址:[寄存器存的内容]是我们要找的存储器的地址(BP不加说明是:SS:堆栈寄存器)

(我要找的数的地址在寄存器里面)

       5.相对寄存器间接寻址:(基址的一段加直接地址)EA

       6.基址加变址寻址:(基址里面一段加变址的一段合起来的偏移地址)EA

       7.相对基址加变址寻址:(三种地址加起来)EA:有效地址effective address(所有加在一起的地址的统称)

     

3.2.4与跳转有关的寻址方式

物理地址 = 逻辑地址(基址寄存器+变址寄存器+偏移量)+DS/SS左移一位(相当于*16)

3.4.1与传送有关的指令

1.MOV  立即数不能直接送到段寄存器,需要先送到普通寄存器在送到段寄存器。

              32位寄存器必须传递32位的立即数,

2.XCHG 交换指令:

3.  IN/OUT 输入输出

4.LEA装入有效地址:LDS, LES LFS LGS LSS

5.PUSH压栈/POP出栈 指令 用存储器的数据(具有堆栈特点先进后出原则)

A->all 全部压入栈内

   

 

6.标志寄存器不能用MOV移动,有其特有的移动指令

7.查表指令  XLAT  ;  AL<-((BX)+(AL))

 

3.5.1加减运算

1.加法运算:ADD OP1 OP2 ; OP1+OP2将结果传入OP1

2.减法运算: SUB OP1 OP2; OP1-OP2结果送OP1

3.5.2

3.借位加法运算:ADC OP1 OP2 ; OP1+OP2+CF传入OP1

4.借位减法运算:SBB OP1 OP2 ; OP1-OP2-CF 传入OP1

3.5.3

1.加一指令:INC SI;地址加一

2.减一指令:DEC

3.加法交换指令:XADD OP1 OP2 ; 先是OP1+OP2给OP1,再把OP1给了OP2

4.变反指令:NEG OP1;即取OP1的相反数。

3.5.4

1.比较指令:CMP OP1 OP2 ;  通过标志位来判断两个数相减后是否有借位来判断大小。

最新回复(0)