第三章址方式与指令系统 3,寻址方式 条指令通常由两大部分构成: 操作码「操作数 操作码部分:表示该指令应完成的具体操作,如加法、减 法、乘法、移位等等。在汇编语言中使用一定的符号来表示, 称为助记符。如ADD、PUSH、POP、MOV等等。 操作数部分:表示该指令的操作对象。如移位操作的被移位 数,加法操作的加数等等。它可以是一个操作数,也可以是 多个操作数。这取决于操作码部分的具体需要
1 第三章 寻址方式与指令系统 3.1 寻址方式 一条指令通常由两大部分构成: 操作码 操作数 操作码部分:表示该指令应完成的具体操作,如加法、减 法、乘法、移位等等。在汇编语言中使用一定的符号来表示, 称为助记符。如ADD 、PUSH、POP、MOV等等。 操作数部分: 表示该指令的操作对象。如移位操作的被移位 数,加法操作的加数等等。它可以是一个操作数,也可以是 多个操作数。这取决于操作码部分的具体需要
寻找指令中所需操作数的各种方法叫寻址方式 Intel8086/8088CPU各指令中操作数的来源有以下四种: (1)操作数在指令代码中提供立即数操作数 (2)操作数在CPU的通用寄存器或段寄存器中 寄存器操作数 (3)操作数在内存的存储单元中存储器操作数 (4)操作数在输入输出接口的寄存器中—输入输 出端口操作数
2 寻找指令中所需操作数的各种方法叫寻址方式 Intel 8086/8088 CPU各指令中操作数的来源有以下四种: (4)操作数在输入/输出接口的寄存器中——输入/输 出端口操作数。 (1)操作数在指令代码中提供——立即数操作数 (2)操作数在CPU的通用寄存器或段寄存器中—— 寄存器操作数 (3)操作数在内存的存储单元中——存储器操作数
1.立即数寻址 立即数寻址方式的指令中,所需操作数直接包含在指令 代码中,这种操作数称为立即数。 立即数可以是8位,也可以是16位。 例: MOV AH,20H 它表示将8位立即数20H送入AH中 AH AL AX 操作码 20H 一条指令
3 1.立即数寻址 立即数寻址方式的指令中,所需操作数直接包含在指令 代码中,这种操作数称为立即数。 例:MOV AH,20H 它表示将8位立即数20H送入AH中 AH AL AX 操作码 20H 一条指令 …... …... 立即数可以是8位,也可以是16位
例: MOV AX,20AOH 它表示将16位立即数20A0H送入AX中 AH AL AX 操作码 AOH 条指令 20H 由于在指令执行过程中,立即数作为指令的一部分直接 从BIU的指令队列中取出,它不需另外占用总线周期,因此 这种寻址方式执行速度快。 注意:立即数只能作为源操作数,而不能作为目的操作数
4 例:MOV AX,20A0H 它表示将16位立即数20A0H送入AX中 由于在指令执行过程中,立即数作为指令的一部分直接 从BIU的指令队列中取出,它不需另外占用总线周期,因此 这种寻址方式执行速度快。 注意:立即数只能作为源操作数,而不能作为目的操作数。 AH AL AX 操作码 20H 一条指令 …... …... A0H
2寄存器寻址 寄存器寻址方式是指指令中所需的操作数在CPU的某 个寄存器中。寄存器可以是8位或16位通用寄存器,或者是 段寄存器。如:AH、AL、AX、CX、DS、ES等。 例如: MOV AX,BX MOV DS, AX 由于存取寄存器操作数完全在CPU内部进行,不需要 总线周期,所以执行速度很快。 后面介绍的几种寻址方式其操作数都是在存储器中,因此它 们的主要区别就是操作数在内存中存放地址的形成方法不同
5 2.寄存器寻址 寄存器寻址方式是指指令中所需的操作数在CPU的某 个寄存器中。寄存器可以是8位或16位通用寄存器,或者是 段寄存器。如:AH、AL、AX、CX、DS、ES等。 例如:MOV AX,BX MOV DS,AX 由于存取寄存器操作数完全在CPU内部进行,不需要 总线周期,所以执行速度很快。 后面介绍的几种寻址方式其操作数都是在存储器中,因此它 们的主要区别就是操作数在内存中存放地址的形成方法不同