
2019/12/23 一、8051指令系统分类 旋点用的有空间可分为 单片机原理及其应用 夏字 51指令可分为以下五类 传送类指今29条 运坐指 第二幸MCS-51指令系统 7案 乘、雕法指) 二、指令格式 三、寻址方式 MCS51汇情指令由兼作码助记特李及和操作数李受所血成: ·号业方式:就是湘令中给出参与运算的操作数的方式 指◆格式加下: ,MC351单片机有七种哥址方式: 5变址闻楼 个英 ·2、直楼哥址 6、州对哥址 ·子寄存器丹址 不寄存喜间接平址
2019/12/23 1 第二章 MCS-51指令系统 一、8051指令系统分类 按照指令占用的存储空间可分为: 单字节指令(49条) 双字节指令(45条) 三字节指令(17条) 按照指令的功能划分,8051指令可分为以下五类: 数据传送类指令(29条) 算术运算类指令(24条) 逻辑运算类指令(24条) 控制转移类指令(17条) 位操作类指令(17条) 按照指令的执行时间可分为: 单周期指令(64条) 双周期指令(45条) 四周期指令(2条,乘、除法指令) 二、指令格式 MCS-51汇编指令由操作码助记符字段和操作数字段所组成。 指令格式如下: 标号:操作码 ︹ [操作数1] [,操作数2] [,操作数3] [;注释] 标号加在指令之前,标号必须以字母开 始,后跟1~8个字母或数字,并以“:” 结尾,用户定义的标号不能和汇编保留 符号(包括指令操作码助记符以及寄存 器名等)重复。标号的值是它后面的指 令存储地址。 操作码表明操作的种 类,由2~5个英文字 母所组成,如JB、 MOV、CJNE、 LCALL等。 它以一个或几个空格和操作码隔 开,根据指令功能的不同,操作 数可以有1、2、3个或没有(如 NOP)。操作数之间以“,”分开。 它以“;”和操作数分开。如果一行写不下, 可以另起一行,但都必须以“;”开始。注释 的作用:是用户对某一条指令或某一段程序 的功能说明,在指令中不起作用。 三、寻址方式 • 寻址方式:就是指令中给出参与运算的操作数的方式 • MCS-51单片机有七种寻址方式: • 1、立即寻址 5、变址间接寻址 • 2、直接寻址 6、相对寻址 • 3、寄存器寻址 7、位寻址 • 4、寄存器间接寻址 1 2 3 4

2019/12/23 1.立即寻址 2.直楼寻址方式 ·指令中直接给出操作数所在存储单元的地址 ,立即寻址方式中作歌包含在指令中。即操作数以指令字节的形式 ,直接寻址方式访问以下三种存储空间: 存破于程存储器中。在绿作码后面。用“表示 ,特珠功能态存器(S只能用直接寻址方式访间): 操作数可以是8位的。也可以是16位的. ◆内部数据存储器RAM低128字节 位地址空间 ·如 ADD A.WODIH 3.寄存器寻址 4.寄存器间接寻址 ·由指令指出某一个寄存器的内容作为操作数 寄存器间接寻址是指将存放接作数的内存单元的地址被在寄存器中 可用寄存器寻址方式访同等南存有 指令中只给出该寄存器。寄存器前面必须加上符号“@,执行指令时。 的-R,A息DPTR进位标志C(布尔处蛋器的聚加器9等 首先根据寄存器的内容,找到所需要的操作数地址,再由该地址找到操 作数井完成相应操作 · :将位家加和
2019/12/23 2 1. 立即寻址 • 立即寻址方式中操作数包含在指令中。即操作数以指令字节的形式 存放于程序存储器中。在操作码后面。用“#”表示。 操作数可以是8位的,也可以是16位的。 • 如: MOV A,#3AH ; 3AHA MOV DPTR,#23C8H ; 23C8H DPTR ADD A,#0D4H ;(A)+0D4H A 2. 直接寻址方式 • 指令中直接给出操作数所在存储单元的地址 • 直接寻址方式访问以下三种存储空间: ●特殊功能寄存器(SFR只能用直接寻址方式访问); ●内部数据存储器RAM低128字节 ●位地址空间 • 如: MOV A,3AH ;(3AH)A • MOV P1,R0 ;(R0)P1口 INC 58H ;(58H)+1 58H SUBB A,TL0 ;(A)-(TL0) A 3. 寄存器寻址 • 由指令指出某一个寄存器的内容作为操作数 可用寄存器寻址方式访问的寄存器有: R0~R7、A、B、DPTR、进位标志C(布尔处理器的累加器C)等 • 如:MOV A,R0 ;(R0)A MOV P1, A ; 将累加器A的内容送 到P1口 MOV P1, R4 ;将寄存器R4的内容送到P1口 CLR A ;将累加器A清0 CLR C ;将位累加器C清0 4. 寄存器间接寻址 寄存器间接寻址是指将存放操作数的内存单元的地址放在寄存器中, 指令中只给出该寄存器。寄存器前面必须加上符号“@”。执行指令时, 首先根据寄存器的内容,找到所需要的操作数地址,再由该地址找到操 作数并完成相应操作。 注: 在MCS-51指令系统中,用于寄存器间接寻址的寄存器 有R0、R1和DPTR,称为间接寻址寄存器。 5 6 7 8

2019/12/23 5.变址寻址 1.用选定的工作寄存器区中的R0或R1作地址指针来寻址片内RAM的1288 (O0-7F刊)或片外RAM的低256空间(O0-0FFH ,变址号址是指将基址寄存器与变址寄存器的内容相加,结果作为操作数的 誉数人宝黄装导世方 只能访间程序存储器,范国:64KB MCS-51指令系统中总共有如下三亲显寄存器加变址寄存器同暖寻址指令 乙。用DPTR作地址缩针来进行态存器间接寻址 ·如:设(DPTR}=2000 A外BAM ·O.@DPTR外RAM的2OO0H单元的内容→A JMP 2A+DPTR ((A)+(DPTR)>PC 6.相对寻址 7.位寻址 相对寻址是指程计数器PC的当前内容与指令中的操作数相,其结果作 转指令的移地址(他称目的地地)。该类寻址方式只用于转指令】 为00 SFR中有11个寄存器可以位寻址 目的地址=源地址+相对转移指令字节敬+ 位寻址的两种方式: 直接使用位地址 2减诗节>· 特殊功能寄存器可由寄存器名字加位数表示 E75H(P0+2+75H>PC0霸S> 0H牛的位7面1
2019/12/23 3 1、用选定的工作寄存器区中的R0或R1作地址指针来寻址片内RAM的128B (00~7FH)或片外RAM的低256B空间(00~0FFH)。 • 如:设(R0)=65H,(65H)=47H MOV A,@R0 ;(65H)A,A中的值是47H MOV @R0,#3AH;3AH65H MOVX A,@R0 ;外RAM的(65H) A 带X为访问外部RAM的指令 2、用DPTR作地址指针来进行寄存器间接寻址 • 如:设(DPTR)=2000H • MOVX @DPTR,A ;A外部RAM的2000H单元 • MOVX A,@DPTR ;外RAM的2000H单元的内容 A 5. 变址寻址 • 变址寻址是指将基址寄存器与变址寄存器的内容相加,结果作为操作数的 地址。DPTR或PC是基址寄存器,累加器A是变址寄存器。该类寻址方式 主要用于查表操作。 • 只能访问程序存储器,范围:64KB • MCS-51指令系统中总共有如下三条基寄存器加变址寄存器间接寻址指令 MOVC A,@A+DPTR ;((A)+(DPTR))A MOVC A,@A+PC ;((A)+(PC))A JMP @A+DPTR ;((A)+(DPTR))PC 6. 相对寻址 相对寻址是指程序计数器PC的当前内容与指令中的操作数相加,其结果作 为跳转指令的转移地址(也称目的地址)。该类寻址方式只用于跳转指令。 目的地址=源地址+相对转移指令字节数+rel 如 JC 75H;(PC)+2+75H->PC 2字节或3字节 8位带符号数 7. 位寻址 操作数按8位二进制数中的某一位为单元进行存取和操作,而上述介绍的指 令都是按字节进行的寻址操作。当我们把某一位作为操作数时,这个操作数 的地址称为位地址。 直接使用位地址 特殊功能寄存器可由寄存器名字加位数表示 位寻址的两种方式: MOV C,01H ;01H为位地址 SETB EA ;中断允许寄存器IE的位7置1 位寻址区包括专门安排在内部RAM中的两个区域: 一是内部RAM的位寻址区,地址范围是20H~2FH,共16个RAM单元, 位地址为00H~7FH; 二是特殊功能寄存器SFR中有11个寄存器可以位寻址 9 10 11 12

2019/12/23 单片机中的数 第二节数据传送类指令 名称形式 说明 MC-51的数据传送操作可以在累加器A工作寄存器R0-R7,内部数据 1R0 R7 本上是访的内部RAM 存储器.外部数据存储器和程序存能器之间进行,其中对A和R0-R7的操 作层多。 珠功能寄存内都】 地出 数据传送操作是指把数据从添地址传送到日的地址,添地址内容不变 86P0R1 目的地址潭地址 RA+DPTR 存内或外用 1.片内8位最摆传送搬净(15条) 提理干军诺头机内都中青存之周给素清作 OV作新 已知相应单元的内容如下,请指出每条指令执行后相应单 量加器八 (1)M0VA#201 等得春Rw (②MOVA40H (3)MOV ARO e-A (4)MOVA@RO 注意:以上传送指令的情果均影响混序状态字膏存SW的P标去
2019/12/23 4 名称 形式 说明 单 片 机 中 的 数 立即 数 #0f0h 8位立即数 #1234h 16位立即数 寄存 器 R0.R7 本质上是访问的内部RAM A B DPTR. 特殊功能寄存器(内部) 存 储 器 10H(8位直接 地址) 可能是字节地址,也可能是位地址, 但只能访问内部RAM或SFR @R0或@R1 @DPTR 8位及16位寄存器间接寻址, @R1 或@R0内部RAM或外部RAM, @DPTR只能为外部RAM(内用 MOV,外用MOVX) @A+PC @A+DPTR 用于访问程序存储器(内或外都用 MOVC) 单片机中的数 MCS-51的数据传送操作可以在累加器A、工作寄存器R0~R7、内部数据 存储器、外部数据存储器和程序存储器之间进行,其中对A和R0~R7的操 作最多。 数据传送操作是指把数据从源地址传送到目的地址,源地址内容不变。 数 据 目的地址 源地址 第二节 数据传送类指令 1. 片内8位数据传送指令(15条) 主要用于MCS-51单片机内部RAM与寄存器之间的数据传 送。指令基本格式: MOV , 1) 以累加器A为目的地址的传送指令(4条) 助记符格式 机器码(B) 相应操作 指令说明 机器周期 MOV A,Rn 11101rrr ARn n=0~7, rrr=000~111 1 MOV A,direct 11100101 direct A (direct) 1 MOV A,@Ri 1110011i A (Ri) i=0,1 1 MOV A,#data 01110100 data A #data 1 注意:以上传送指令的结果均影响程序状态字寄存器PSW的P标志。 例 已知相应单元的内容如下,请指出每条指令执行后相应单 元内容的变化。 累加器A 40H 寄存器R0 50H 内部RAM:40H 30H 内部RAM:50H 10H (1) MOV A,#20H (2) MOV A,40H (3) MOV A,R0 (4) MOV A,@R0 13 14 15 16

2019/12/23 2以R■为目的地址的传送指令(3条) 以直接地址为目的地 上的传送指令(5亲】) n. 注意:以上传送指令的结果不影响程序状老字青存最PSW标志, 生意:以上 )以寄存器间援地址为目的地址的传送指令(3条 器二股视应单无的内容如下。清指出下列指令线行后备维元内 OV RiA MOV RLet 主意:以上传送指的果 字存悬PSW标法
2019/12/23 5 2) 以Rn为目的地址的传送指令(3条) 助记符格式 机器码(B) 相应操作 指令说明 机器周期 MOV Rn,A 11111rrr Rn A n=0~7, rrr=000~111 1 MOV Rn,direct 10101rrr direct Rn (direct) n=0~7, rrr=000~111 1 MOV Rn,#data 01111rrr data Rn #data n=0~7, rrr=000~111 1 注意:以上传送指令的结果不影响程序状态字寄存器PSW标志。 3) 以直接地址为目的地址的传送指令(5条) 助记符格式 机器码(B) 相应操作 指令说明 机器周 期 MOV direct,A 11111010 direct (direct) A 1 MOV direct,Rn 10001rrr direct (direct )Rn n=0~7, rrr=000~111 1 MOV direct2,direct1 10000101 direct1 direct2 (direct2) direct1 2 MOV direct,@Ri 1000011i direct (direct )(Ri) i=0,1 2 MOV direct,#data 01110101 direct data (direct)#dat a 2 注意:以上传送指令的结果不影响程序状态字寄存器PSW标志。 4) 以寄存器间接地址为目的地址的传送指令(3条) 助记符格式 机器码(B) 相应操作 指令说 明 机器周 期 MOV @Ri,A 1111011i (Ri)A i=0,1 1 MOV @Ri,direct 1110011i direct (Ri)(direc t) 2 MOV @Ri,#data 0111010i data (Ri)#data 1 注意:以上传送指令的结果不影响程序状态字寄存器PSW标志。 例: 已知相应单元的内容如下,请指出下列指令执行后各单元内 容相应的变化。 寄存器R0 50H 寄存器R1 60H 寄存器R6 30H 内部RAM:50H 60H 内部RAM:60H 45H 内部RAM:70H 40H (1) MOV A,R6 (2) MOV 70H,50H (3) MOV R0,70H (4) MOV 40H,@R0 (5) MOV @R1,#88H 17 18 19 20

2019/12/23 2.16位数据传送指令(1条)】 ·3.外部数据传送指令(4最) 时记将格式 氧需图 相应操作 湘个视明 阳 助记清格式 款两) 相皮编作 湘中礼项 2 A.EDPTR (DPTR) ame 1110001i A← MOV DPTR.Adatale 11110000 (RD ,赫不纳标志 注意:以上传进指令的皓果不影响程序状志字青存量PSW标老, 注意:①外部RAM只能通过累加器A进行据 传送 累加器A与外号 RAM之间传送数据时只能间接寻址方式,间 接寻址寄存器为DPTR,RO,R1。 21 22 ·4.交换和查表类指中(9条) ·1功字节交换指令(3条) 例:把外郁数精存情善2040H单元中的敷据传进到外部数频存储暑 2560H单元中去. 品释安四湘终 MOV DPTR,#2040H XCH A.Ra A+3Rn A每R如内喜互换 1 MOVX A,@DPTR;先将2040H单元的内容传送到累加器A中 XCH A.direet 11000101 MOV DPTR,#2560H direct MOVX@DPTR,A;再将累加器A中的内容传送到2560H单元中 XCH A.ZRi 110001li A(Ri) 注意:交换双方中必须有一方为黑加器A。 以上传进指◆的皓果影响序状态字寄存PSW的P标志, 24
2019/12/23 6 2. 16位 数据传送指令(1条) 助记符格式 机器码(B) 相应操作 指令说明 机器周 期 MOV DPTR,#data16 10010000 data15~8 data7~0 (DPTR) #data16 把 16位 常数 装入 数 据指 针 2 注意:以上传送指令的结果不影响程序状态字寄存器PSW标志。 • 3. 外部数据传送指令(4条) 助记符格式 机器码(B) 相应操作 指令说明 机器 周期 MOVX A,@DPTR 11100000 A(DPTR) 把DPTR所对应的外部RAM 地址中的内容传送给累加器 A 2 MOVX A,@Ri 1110001i A (Ri) i=0,1 2 MOVX @DPTR,A 11110000 (DPTR) A 结果不影响P标志 2 MOVX @Ri,A 1110001i (Ri) A i=0,1,结果不影响P标志 2 注意:① 外部RAM只能通过累加器A进行数据传送。 ② 累加器A与外部RAM之间传送数据时只能间接寻址方式,间 接寻址寄存器为DPTR,R0,R1。 例: 把外部数据存储器2040H单元中的数据传送到外部数据存储器 2560H单元中去。 MOV DPTR,#2040H MOVX A,@DPTR;先将2040H单元的内容传送到累加器A中 MOV DPTR,#2560H MOVX @DPTR,A ;再将累加器A中的内容传送到2560H单元中 • 4. 交换和查表类指令(9条) • 1) 字节交换指令(3条) 助记符格式 机器码(B) 相应操 作 指令说明 机器周 期 XCH A,Rn 11001rrr ARn A与Rn内容互换 1 XCH A,direct 11000101 direct A(dire ct) 1 XCH A,@Ri 1100011i A(Ri) i=0,1 1 注意:交换双方中必须有一方为累加器A。 以上传送指令的结果影响程序状态字寄存器PSW的P标志。 21 22 23 24

2019/12/23 ·2)半字节交换指令(1条) ·3)累加器A中高4位和低4位交换(1亲) 助记卉棉式凯再)相应狮作 推女黄明 不 XCHD A.Ri 1101011i 变业变提南不 A一-秀标 注意:上面物令射果不影响程序状态字膏存暴PSW标志。 注意:上面指令帖果影响序状态寄存PSW的P标志, 25 26 ·4)程序存储器访问指令(2条) ·5)堆栈操作指令(2条) 助记膏格式 相应海作 翻女微明 精精文有政 中花明 MOVC A.2A+PC 1o0001 HA+C) 摩存单元的童 110000 2 001001 A+DPT A+DPTR所霜外 POP drect 注意: ①以上指令结果影响程序状态字寄存器PSW的P标志. ②用于查找存放在程序存储器中的表格。 ①MOVC的传送方向是确定的,即程序存储器不能通过传送指令 改写 27 28
2019/12/23 7 • 2) 半字节交换指令(1条) 助记符格式 机器码(B) 相应操作 指令说明 机器周 期 XCHD A,@Ri 1101011i A3~0(Ri)3~0 低4位交换,高4位不 变 1 注意:上面指令结果影响程序状态字寄存器PSW的P标志。 • 3) 累加器A中高4位和低4位交换(1条) 助记符格 式 机器码 (B) 相应操作 指令说明 机器周 期 SWAP A 110001 00 A 3~0A7~ 4 高、低4位互相 交换 1 注意:上面指令结果不影响程序状态字寄存器PSW标志。 • 4) 程序存储器访问指令(2条) 助记符格式 机器码 (B) 相应操作 指令说明 机器周 期 MOVC A,@A+PC 1000001 1 A(A+PC) A+PC所指外部程 序存储单元的值 送A 2 MOVC A,@A+DPTR 1001001 1 A (A+DPT R) A+DPTR 所 指 外 部程序存储单元 的值送A 2 注意: ① 以上指令结果影响程序状态字寄存器PSW的P标志。 ② 用于查找存放在程序存储器中的表格。 ③ MOVC的传送方向是确定的,即程序存储器不能通过传送指令 改写 • 5) 堆栈操作指令(2条) 助记符格式 机器码 (B) 相应操作 指令说明 机器周 期 PUSH direct 1100000 0 direct SPSP+1 (SP)(dir ect) 将SP加1,然后将源地址单 元中的数传送到SP所指示的 单元中去 2 POP direct 1101000 0 direct (direct) (SP) SPSP-1 将SP所指示的单元中的数传 送到direct地址单元中,然后 SPSP-1 2 25 26 27 28

2019/12/23 注意 格后实动皮菌内奉压入 部RAM中的一块专用存储区,使用时一定先 指针,维钱指针缺省为SP=O7H. MOV SP.30H 出的 将累加A入钱出钱指令可以写成: 商不能写5 POP ACCPU5 POP EOH PUSH DPL: PUSH/POP A ④维钱通常用于临时保护数据及子程序调用时保护现场和恢复现场。 三算术运算类指令 1.鱼、法指中(22条) 注意 @ADD与ADDC的区别为是否加进位位CY, ②指令执行结果均在累加器A中 以上指今结果均影响程序状态字寄存器PSW的CY.OV.AC 和P标志
2019/12/23 8 注意: ① 堆栈是用户自己设定的内部RAM中的一块专用存储区,使用时一定先 设堆栈指针,堆栈指针缺省为SP=07H。 ② 堆栈遵循后进先出的原则安排数据。 ③ 堆栈操作必须是字节操作,且只能直接寻址。 将累加器A入栈、出栈指令可以写成: PUSH/POP ACC 或 PUSH/POP 0E0H 而不能写成: PUSH/POP A ④ 堆栈通常用于临时保护数据及子程序调用时保护现场和恢复现场。 例:设置堆栈指针为30H,把累加器A和DPTR中的内容压入, 然后根据需要再把它们弹出,编写实现该功能的程序段。 MOV SP,#30H ; PUSH ACC ; PUSH DPH ; PUSH DPL ; . POP DPL ; POP DPH ; POP ACC ; 三 算术运算类指令 1. 加、减法指令(22条) 1) 加法指令(8条) 助记符格式 机器码(B) 相应操作 指令说明 机器周 期 ADD A,Rn 00101rrr AA+Rn n=0~7, rrr=000~111 1 ADD A,direct 00100101 AA+(direct) 1 ADD A,@Ri 0010011i AA+(Ri) i=0,1 1 ADD A,#data 00100100 data AA+#data 1 ADDC A,Rn 00111rrr AA+Rn+CY n=0~7, rrr=000~111 1 ADDC A,direct 00110101 direct AA+(direct) +CY 1 ADDC A,@Ri 0011011i AA+(Ri)+C Y i=0,1 1 ADDC A,#data 00110100 data AA+#data+ CY 1 注意: ① ADD与ADDC的区别为是否加进位位CY。 ② 指令执行结果均在累加器A中。 ③ 以上指令结果均影响程序状态字寄存器PSW的CY、OV、AC 和P标志。 29 30 31 32

2019/12/23 2》减法指中(4条) MOV 40H.A 注意:©减法指令中没有不带借位的减法指令,所以在需要时,须先将CY和 MOV A#12H ADDC A#OFH 均在票 MOV 41HA PSW的CY.OV.AC和P标志 )BCD滑调整指令(条) 注意:结果影响程序状态字寄存器PSW的CYOV.AC和P标志 @DAA指舍只能跟在ADD或ADDC加法指令后,不适用于减法. MOV A,W0SH :05HA ADD A,#O8H ;05H+08H-A,A=0DH DAA:自动调整为BCD码.A=13H
2019/12/23 9 2) 减法指令(4条) 助记符格式 机器码(B) 相应操作 指令说明 机器周期 SUBB A,Rn 1001rrr AA-(Rn)- CY n=0~7 rrr=000~111 1 SUBB A,direct 10010101 direct AA- (direct)-CY 1 SUBB A,@Ri 1001011i AA- (Ri)- CY i=0,1 1 SUBB A,#data 10010100 data AA- (#data)-CY 1 注意:① 减法指令中没有不带借位的减法指令,所以在需要时,须先将CY清0。 ② 指令执行结果均在累加器A中。 ③ 减法指令结果影响程序状态字寄存器PSW的CY、OV、AC和P标志。 例:编写计算12A4H+0FE7H的程序,将结果存入内部RAM 41H和40H单元, 40H存低8位,41H存高8位。 分析:单片机指令系统中只提供了8位的加减法运算指令,两个16位数(双字 节)相加可分为两步进行,第一步先对低8位相加,第二步再对高8位相加。 MOV A,#0A4H ADD A,#0E7H MOV 40H,A MOV A,#12H ADDC A,#0FH MOV 41H,A 3) BCD码调整指令(1条) 助记符格式 机器码(B) 指令说明 机器周期 DA A 11010100 BCD码加法调整指令 1 注意:① 结果影响程序状态字寄存器PSW的CY、OV、AC和P标志。 ② DA A指令只能跟在ADD或ADDC加法指令后,不适用于减法。 例: MOV A,#05H ;05H→A ADD A,#08H ;05H+08H→A,A=0DH DA A ;自动调整为BCD码,A=13H 33 34 35 36

2019/12/23 子德 黑二黑图 结精产社的内ov(山,香狗 )除法指令(1条 零巴罗 精老时9 四逻辑运算及移位类指令注意:①通常影响程厚状态字寄存器P5W的 2)逻辑或指令(6条) 1.湿辑远算指女(20条) 1)逻据与指令(6条)」 位清和,其用于将一个字节中的指定 注意:士指令结果通常影响程序状态字存器 1,令通常用于将一个字节中的指定位
2019/12/23 10 4) 加1减1指令(9条) 助记符格式 机器码(B) 相应操作 指令说明 机器周 期 INC A 00000100 AA+1 影 响 PSW的 P 标 志 1 INC Rn 00001rrr RnRn+1 n=0~7, rrr=000~111 1 INC direct 00000101 direct (direct)(direct )+1 1 INC @Ri 0000011i (Ri)(Ri)+1 i=0,1 1 INC DPTR 10100011 DPTRDPTR+ 1 2 DEC A 00010100 AA-1 影 响 PSW的 P 标 志 1 DEC Rn 00011rrr RnRn-1 n=0~7, rrr=000~111 1 DEC direct 00010101 direct (direct)(direct )+1 1 DEC @Ri 0001011i (Ri)(Ri)-1 i=0,1 1 12 • 1) 乘法指令(2条) 助记符格 式 机器码 (B) 相应操 作 指令说明 机器周 期 MULAB 1010010 0 BAA* B 无符号数相乘,高位存B, 低位存A 4 乘法结果影响程序状态字寄存器PSW的OV(积超过0FFH则置1,否则为0) 和CY(总是清0)以及P标志。 2) 除法指令(1条) 助记符格 式 机器码(B) 相应操作 指令说明 机器周 期 DIV AB 10000100 AA/B 的 商BA/B 的 余数 无符号数相除,商存A, 余数存B 4 2. 乘、除法指令 除法结果影响程序状态字寄存器PSW的OV(除数为0则置1,否则 为0)和CY(总是清0)以及P标志;当除数为0时结果不能确定。 四 逻辑运算及移位类指令 1. 逻辑运算指令(20条) 1) 逻辑与指令(6条) 助记符格式 机器码(B) 相应操作 指令说明 机器周期 ANLA,direct 01010101 direct AA∧direct 按位相与 1 ANLA,Rn 01011rrr AA∧Rn n=0~7, rrr=000~111 1 ANLA,@Ri 0101011i AA∧(Ri) i=0,1 1 ANLA,#data 01010100 data AA∧#data 1 ANL direct,A 01010010 direct (direct)(direct)∧ A 不影响PSW的P标志 1 ANL direct,#data 01010011 direct data (direct) (direct)∧#data 不影响PSW的P标志 2 注意:① 通常影响程序状态字寄存器PSW的 P标志。 ② 逻辑与指令通常用于将一个字节中的指定 位清0,其它位不变。 2) 逻辑或指令(6条) 助记符格式 机器码(B) 相应操作 指令说明 机器周期 ORL A,direct 01000101 direct AA∨direct 按位相或 1 ORL A,Rn 01001rrr AA∨Rn n=0~7, rrr=000~111 1 ORL A,@Ri 0100011i AA∨(Ri) i=0,1 1 ORL A,#data 01000100 data AA∨#data 1 ORL direct,A 01000010 direct (direct)(direct) ∨A 不影响PSW的P标志 1 ORL direct,#data 01000011 direct data (direct) (direct)∨#data 不影响PSW的P标志 2 注意:① 以上指令结果通常影响程序状态字寄存器 PSW的P标志。 ② 逻辑或指令通常用于将一个字节中的指定位 置1,其余位不变。 37 38 39 40