§422寻址方式 指令中寻找操作数的方式,称为寻址方式。 IAPI5W4K58S4单片机共有7种寻址方式 立即数寻址 寄存器寻址 直接寻址 寄存器间接寻址 >变址寻址 相对寻址 >位寻址 02404 16:17:5
16:17:59 §4.2.2 寻址方式 指令中寻找操作数的方式,称为寻址方式。 IAP15W4K58S4单片机共有7种寻址方式 ➢立即数寻址 ➢寄存器寻址 ➢直接寻址 ➢寄存器间接寻址 ➢变址寻址 ➢ 相对寻址 ➢位寻址 23 10:24:04
1、立即数寻址 ◇指令中,操作所需要的操作数就在指令中,是指令的组 成部分,CPU在得到指令的同时也立即得到了操作数。 ◇例如:M0VA,#28H; ◆功能:将立即数28H送入累加器A中。指令执行后,A 中为28H,A中原来数据被覆盖,记作:A←28H ◆源操作数是立即数28H,目的操作数是累加器A。 ◆指令的机器码为两个字节:74H,28H。 ◆注意:因累加器A是8位的,立即数只能是8位的,且只 能是整数,不能是小数、变量或其他类型数据。 ◆立即数只能作为源操作数,且位数要与目的操作数一致 ◆#号表示其后所跟的数据是立即数而不是直接地址。 02404 16:17:5
16:17:59 1、立即数寻址 指令中, 操作所需要的操作数就在指令中,是指令的组 成部分, CPU在得到指令的同时也立即得到了操作数。 24 10:24:04 例如: M0V A,#28H ; 功能:将立即数28H送入累加器A中。指令执行后, A 中为28H,A中原来数据被覆盖,记作:A←28H 源操作数是立即数28H, 目的操作数是累加器A。 指令的机器码为两个字节:74H,28H。 注意:因累加器A是8位的,立即数只能是8位的, 且只 能是整数, 不能是小数、变量或其他类型数据。 立即数只能作为源操作数,且位数要与目的操作数一致。 #号表示其后所跟的数据是立即数而不是直接地址
1、立即数寻址 MOVA,#28H(机器码74H,28H)执行过程示意图 ◇假设该指令存放在物理地址为0100H开始的地址中,则 机器码的存放与指令的执行过程如图所示。 执行程序存储器 顺序地址 加1[PC 010074H←操作码 010H28H←操作数(立即数 0102H ←下一条指令操作码 28H累加器A 图4-1MOVA,#28H执行过程示意图 102404 16:17:5
16:17:59 1、立即数寻址 假设该指令存放在物理地址为0100H开始的地址中, 则, 机器码的存放与指令的执行过程如图所示。 25 10:24:04 图4-1 MOV A,#28H 执行过程示意图 0100H 74H 0101H 28H 0102H 程序存储器 地址 ←操作码 ←操作数(立即数) 执行 顺序 ←下一条指令操作码 28H 累加器A MOV A, #28H (机器码74H,28H)执行过程示意图 加1 PC
1、立即数寻址 ◇立即数寻址方式优点 采用立即数寻址方式的指令主要用来对寄存 器或存储器赋值。因为操作数可以从指令中直 接取得,不需要再到其他地方去寻找操作数, 所以,立即数寻址方式的指令执行速度很快。 02404 16:17:5
16:17:59 1、立即数寻址 立即数寻址方式优点 采用立即数寻址方式的指令主要用来对寄存 器或存储器赋值。因为操作数可以从指令中直 接取得,不需要再到其他地方去寻找操作数, 所以,立即数寻址方式的指令执行速度很快。 26 10:24:04
2、寄存器寻址 ◇指令所用操作数在CPU的内部寄存器中,指令中操作数 用寄存器名(A,R0-R7,B,DPTR)表示。一条指令中,源 操作数和目的操作数,都可采用寄存器寻址方式。 ◇寄存器地址隐含在指令码中(也是隐含寻址方式) 比较:MOvB,#73H 机器码:75H(操作码)、F0H(B的地址)、73H ◇例如: MUL AB:机器码:1010100△41 MOVA,#45H;A←立即数45H(机器码:74H45H) 其中,源操作数45H为立即寻址方式,目的操作数为 寄存器寻址方式。 INCR0;R0<R0+1(机器码:08H 该指令只有一个操作数,为寄存器寻址方式。 02404 NCRn;机器码08H-0FH(000B 16:17:5
16:17:59 2、寄存器寻址 指令所用操作数在CPU的内部寄存器中, 指令中操作数 用寄存器名(A, R0~R7, B, DPTR)表示。一条指令中, 源 操作数和目的操作数, 都可采用寄存器寻址方式。 寄存器地址隐含在指令码中(也是隐含寻址方式)。 27 10:24:04 例如: MOV A, #45H ;A←立即数45H(机器码: 74H 45H) 其中,源操作数45H为立即寻址方式,目的操作数为 寄存器寻址方式。 INC R0 ;R0 ←R0+1 (机器码: 08H) 该指令只有一个操作数,为寄存器寻址方式。 比较:MOV B, #73H ; 机器码: 75H(操作码)、F0H(B的地址)、73H MUL AB; 机器码: 1010 0100 (A4H) INC Rn ; 机器码08H~0FH(00001rrrB)