北航微机原理课件第三讲.ppt
文本预览下载声明
(一)操作数寻址方式 共七种寻址方式: 1. 立即数寻址 2. 寄存器寻址 3. 直接寻址 4. 寄存器间接寻址 5种与内存单元 5. 寄存器相对寻址 有关的寻址 6. 基址加变址寄存器寻址 (存储器操作数) 7. 相对基址加变址寄存器寻址 作业: (1)1.5, (2)6(1) (3) (5) (7) (9) ,(3)7 (1) (3) (5) (7) 第1次作业 6.(1)[X]补=81H [X]原 X==-127 (2)[Y]补=77H [Y]原=77H,Y=119 7.(1)X=0001 0001B [X]反=0001 0001B (2)Y=-0001 0001B[Y]反 19(2)[X] 补=0000 0001 0000 0001 [X] =129 20 [X] 补=1000 0001 0000 0001 [X] 原=1111 1110 1111 1111 [-X] = 0111 1110 1111 1111 第2次作业: 1.详细说明8088CPU中寄存器的作用 8088CPU的寄存器包括三组:通用寄存器AX、BX、CX、DX、BP、SP、SI、DI,段寄存器CS、DS、ES、SS和标志寄存器PCW。详细说明见笔记。 2.如何用16位寄存器实现对20根地址 线的操作。 8088的地址分为段地址和偏移量(有效)地址,实际地址为20位物理地址,由20位的加法加法器得到,具体为 物理地址=段地址×16+有效地址 二、8086/8088的寻址方式 由指令字节给出的信息求出操作数的地址称为有效地址——EA 寻找(得到)操作数有效地址的方法称为操作 数的寻址方法 寻找(得到)操作数有效地址和存取操作数的 过程称为指令的寻址操作 7种 以数据传送指令MOV为例介绍寻址方式。 指令 MOV dst, src 执行 (dst) ← (src) 即: 源操作数的内容不变, 目的操作数 = 源操作数 立即数寻址 操作数直接存放在指令中,紧跟在操作码之后,作为指令的一部分, 存放在代码段里,这种操作数称为立即数。 操作数在指令中,取来指令立即可得到操作数。称该操作数为立即数。 立即数可以是8位或16位(16位的立即数是高位字节放在高地址,低位字节放在低地址) 。 应用场合: 立即数常用来给寄存器或内存单元赋初值。 例1 MOV AX , 2056H 结果 ( AH ) = 20H ( AL ) = 56H 例2 MOV AL , 78 H 结果 ( AL ) = 78H 注意:只能用于源操作数字段,不能用于目的操作数字段。 低地址 高地址 2. 寄存器寻址方式 操作数在寄存器中,指令中指定寄存器名 8 位操作数, 用 8 位寄存器: AH、AL、BH、BL、CH、CL、DH、DL 16 位操作数,用 16 位寄存器: AX、BX、CX、DX、SP、BP、SI、DI CS、DS、SS、ES 这种寻址方式因为操作数在寄存器中 不需要访问存储器因此运算速度较高。 例1 MOV AX , 2056H 执行后:(AX)=2056H 例2 MOV BL , AH 执行前:(BL) = 12H, (AH) = 78H 执行后:(BL) = 78H , (AH) = 78H 立即数寻址、寄存器寻址的操作数, 不用在取完指令后再到内存中取数。 指令中用 [ ] 给出偏移地址。 操作数的偏移地址又称有效地址EA ( Efficient Address) 按给出偏移地址方式的不同,分为以下5种: 直接寻址 MOV AL, [ 1000H ] 寄存器间接寻址 MOV AL, [ BX ] 寄存器相对寻址
显示全部