




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 单片机指令系统3.1 寻址方式寻址方式3.2 指令系统指令系统2022-4-13 在汇编语言中,用在汇编语言中,用助记符助记符代替操作码,用地址代替操作码,用地址符号符号(Symbol)(Symbol)或标号或标号(Label)(Label)代替地址码。这样用代替地址码。这样用符号代替机器语言的二进制码,就把符号代替机器语言的二进制码,就把机器语言机器语言变成变成了了汇编语言汇编语言。 使用汇编语言编写的程序,机器不能直接识别,使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫翻译作用的程序
2、叫汇编程序汇编程序,汇编程序是系统软件,汇编程序是系统软件中语言处理系统软件。中语言处理系统软件。 汇编程序把汇编语言翻译成机器语言的过程称汇编程序把汇编语言翻译成机器语言的过程称为为汇编汇编。2022-4-13指令执行过程I.程序是按要求实现的指令有序集合,是串程序是按要求实现的指令有序集合,是串行执行的。行执行的。II.事情要一步一步做,所以需要时钟事情要一步一步做,所以需要时钟III.通过通过PC指向程序地址,完成取指放到指令指向程序地址,完成取指放到指令寄存器中寄存器中IV.指令寄存器的译码,知道要做什么指令寄存器的译码,知道要做什么V.按照要求完成任务按照要求完成任务VI.PC指向下
3、一条指令指向下一条指令2022-4-132022-4-13 51单片机指令系统是一个具有指令系统是一个具有255种代码的集合种代码的集合 一条汇编指令中最多包含一条汇编指令中最多包含4段段: 标号:标号:操作码操作码 操作数或操作数地址操作数或操作数地址; ;注释注释2022-4-13标号标号: 给程序指令起个名字给程序指令起个名字操作码操作码 表明做什么表明做什么操作数操作数 源操作数,目的操作数源操作数,目的操作数;注释注释 说明程序作用,参数定义说明程序作用,参数定义 入口参数,返回值所在,入口参数,返回值所在, 格式格式2022-4-13 源操作数源操作数: “数数”从哪里来从哪里来
4、目的操作数:目的操作数: “数数”放到哪里放到哪里找数的方式就是寻址方式找数的方式就是寻址方式2022-4-13 3.1 寻址方式寻址方式(共有共有7种种)立即寻址立即寻址 Immediate Constants直接寻址直接寻址 Direct Addressing寄存器寻址寄存器寻址 Register Instructions寄存器间接寻址寄存器间接寻址 Indirect Addressing基址变址间接寻址基址变址间接寻址 Indexed Addressing相对寻址相对寻址 Relative Offset Addressing位寻址位寻址 Bits Addresing2022-4-13例:
5、例:MOV A,#40H MOV DPTR,#2345H ;立即寻址;立即寻址 MOV A,40H MOV B,P2 ;特殊功能寄存器只能用;特殊功能寄存器只能用直接寻址直接寻址访问访问 MOV A,R0 ;寄存器寻址寄存器寻址:R0-R7、A、B、DPTR MOV A,R0 ;间接寻址间接寻址只能用只能用R0、R1或或DPTR做地址指针做地址指针 MOVX A,DPTR MOVC A,A+PC ;基址变址寻址基址变址寻址 MOVC A,A+DPTR ;适用于访问程序存储器中的数据表格;适用于访问程序存储器中的数据表格 SJMP LOOP1 JC LOOP2 ;相对寻址相对寻址只出现在相对转移
6、指令中只出现在相对转移指令中 CLR P1.1 ;位寻址位寻址针对针对20H2FH的位定义区和的位定义区和SFR位操作位操作 SETB 10H ;内部;内部SRAM 22H中的第中的第0位位2022-4-13MOV A,#40H ;A40HMOV A,40H ;A(40H)41H 78H40H 56HMOV A,R0 ;A(R0) MOV A,R0 ;A (R0)设指令执行前设指令执行前 A=20H,R0=40H,地址为,地址为40H存储器单元内容如存储器单元内容如图所示图所示。执行指令后,执行指令后,A=? 41H 67H 40H 34HR0A20HR040H设指令执行前设指令执行前 A=2
7、0H,R0=40H,执行指令后,执行指令后,A= ?2022-4-13例例1 MOV A,#0 MOV DPTR, #TABLE MOVC A , A+DPTR TABLE: DB 3FH,06H,5BH,4FH ;7段共阴显示代码段共阴显示代码 例例2 1000H MOV A,#10H1002H MOVC A,A+PC 1013H DB 3FH1014H DB 06H 基址变址寻址:指令给出的寄存器存放数据的基地址和偏移量。基址变址寻址:指令给出的寄存器存放数据的基地址和偏移量。(只针对程序存储器)(只针对程序存储器)TABLE 3FH 06H2022-4-13位寻址范围:位寻址范围: (1
8、)内部)内部RAM中的位寻址区:字节地址为中的位寻址区:字节地址为20H2FH; (2)专用寄存器)专用寄存器SFR的可寻址位:的可寻址位:11个(个(83位)位)表示方法:表示方法: (1)直接使用位地址;)直接使用位地址;如:如:PSW的第的第6位可表示为位可表示为0D6H (2)位名称表示;)位名称表示; 或或AC (3)字节地址加位数表示;)字节地址加位数表示; 或或0D0H.6 (4)专用寄存器符号加位数表示。)专用寄存器符号加位数表示。 或或PSW.6 例:例: MOV C,40H;Cy(位地址位地址40H) 设指令执行前设指令执行前 Cy=1,位地址,位地址40H存储器单元如图,
9、存储器单元如图, 执行指令后,执行指令后,Cy= ?29H 0110001028H 11010110位寻址区位寻址区2022-4-13寄存器名寄存器名SFR地址地址位地址名位地址名位地址位地址P080HP0.0P0.780H87HP190HP1.0P1.790H97HP2A0HP2.0P2.7A0HA7HP3B0HP3.0P3.7B0HB7HTCON88HTCON.0TCON.788H8FHSCON98HSCON.0SCON.798H9FHIEA8HIE.0IE.7A8HAFHIPB8HIP.0IP.7B8HBFHPSWD0HPSW.0PSW.7D0HD7HACCE0HACC.0ACC.7E0
10、HE7HBF0HB.0B.7F0HF7H 可位寻址的可位寻址的SFR位地位地址址2022-4-13 (1)对程序存储器(内、外):只能变址寻址)对程序存储器(内、外):只能变址寻址 MOVC (2)对内部数据存储器:)对内部数据存储器:MOV (3)对外部数据存储器:只能寄存器间址)对外部数据存储器:只能寄存器间址 MOVX寄存器间接寻址方式寄存器间接寻址方式高地址单元(高地址单元(6528065280个)个) 低地址单元(低地址单元(256256个)个)(0FFFFH0FFFFH 0100H0100H)(00FFH00FFH 0000H0000H)以以R R0 0或或R R1作间址寄存器作间
11、址寄存器以以DPTRDPTR作作间址寄存器间址寄存器2022-4-13 3.2 指令系统介绍指令系统介绍(共共5类类)数据传送数据传送 Data Transfers 29条条算术运算算术运算 Arithmetic Instructions 24条条逻辑运算逻辑运算 Logical Instructions 24条条位操作位操作 Boolean Instructions 17条条控制转移控制转移 Jump Instructions 17条条 共共111条条2022-4-13回忆:回忆:5151单片机的主要寄存器单片机的主要寄存器(1)累加器)累加器ACC,程序中有时可以简写为,程序中有时可以简写
12、为A (2)辅助寄存器)辅助寄存器B,乘除指令用到,乘除指令用到 (3)程序计数器)程序计数器PC,“不不”能用程序直接访问能用程序直接访问 (4)数据指针)数据指针DPTR,有的单片机有两个,有的单片机有两个 (5)堆栈指针)堆栈指针SP,复位时内容是复位时内容是07H,一定要记住。,一定要记住。(6)程序状态寄存器)程序状态寄存器PSW 记住哪些记住哪些指令指令影响影响标志位标志位2022-4-13PSW地址地址 0D0H CY ACF0RS1RS0OVF1P位位D7 D6D5D4D3D2D1D0复位时复位时 00Cy(PSW.7)进位标志。有进位或借位时置进位标志。有进位或借位时置1AC
13、(PSW.6)辅助进位标志。低辅助进位标志。低4位有进位或借位时位有进位或借位时F0(PSW.5)用户用位标志用户用位标志RS1(PSW.4)、RS0(PSW.3)选择通用寄存器组选择通用寄存器组 R0R7 所在内部所在内部RAM中的位置中的位置OV(PSW.2)溢出标志。溢出标志。F1(PSW.1)保留。保留。51未用,未用,52为用户标志位为用户标志位P(PSW.0)奇偶标志。奇偶标志。ACC中中1的个数为奇数时置的个数为奇数时置10D0H=208 PSW的地址的地址2022-4-13影响标志位的指令影响标志位的指令(X表示有影响,表示有影响,o表示清零,表示清零,1表示置一)表示置一)2
14、022-4-13Rn 当前工作寄存器中的某一个,即当前工作寄存器中的某一个,即R0R7; Ri R0或者或者R1Direct 单片机内部单片机内部RAM低低128字节(字节(00h7fh)中的某个字节地)中的某个字节地 址,或者是某个专用寄存器的名字;址,或者是某个专用寄存器的名字;#data 8位(位(1字节)立即数字节)立即数#data16 16位(位(2字节)的立即数字节)的立即数Addr16 16位目的地址,在位目的地址,在LJMP和和LCALL的指令中采用的指令中采用Addr11 11位目的地址,只在位目的地址,只在AJMP和和ACALL指令中采用指令中采用Rel 相对转移指令中的偏
15、移量。相对转移指令中的偏移量。DPTR 数据指针(由数据指针(由DPH和和DPL构成)构成)Bit 内部内部RAM(包括专用寄存器包括专用寄存器)中可寻址位的地址或名字中可寻址位的地址或名字A 累加器累加器ACCB B寄存器寄存器 间接寻址标志间接寻址标志 / 加在位地址前,表示对该位状态取反加在位地址前,表示对该位状态取反(X) 某寄存器或某单元的内容某寄存器或某单元的内容(X) 由由X间接寻址的单元中的内容间接寻址的单元中的内容指令中符号的意义说明指令中符号的意义说明2022-4-13一、数据传送类指令一、数据传送类指令 格式格式: MOV 目的目的, 源源 传送到传送到A累加器的指令累加
16、器的指令 MOV A, Rn ;n=0,1,.7 MOV A,direct ; direct是地址是地址 MOV A,Ri ;i=0,1 MOV A,#data ; #data是立即数是立即数 MOV A,B ; 2022-4-13 传送到传送到Rn的指令的指令 MOV Rn, A MOV Rn,direct MOV Rn,#data 传送到内部传送到内部RAM或特殊功能寄存器或特殊功能寄存器 MOV direct, A MOV direct,Rn MOV direct, direct ;地址到地址地址到地址 MOV direct, Ri MOV direct, #data (高高128只能用
17、间接寻址只能用间接寻址)2022-4-13传送到传送到Ri指定的单元指定的单元 MOV Ri , direct MOV Ri, A传送到传送到DPTR寄存器寄存器 MOV DPTR,#data16传送到外部传送到外部RAM中中(配合配合WR,RD) MOVX A,DPTR(16位指针可寻址位指针可寻址64KB外部外部RAM) MOVX DPTR,A MOVX A,Ri (8位指针可寻址位指针可寻址256B外部外部RAM) MOVX Ri,A 2022-4-13 说说 明:明: 只有指令表中的指令才有对应指令代码,计算机才能执行。只有指令表中的指令才有对应指令代码,计算机才能执行。编程时,不能随
18、意创造发明指令。编程时,不能随意创造发明指令。1. 一条指令中不能同时出现两个工作寄存器:一条指令中不能同时出现两个工作寄存器:非法非法指令:指令:MOV RMOV R1 1,R R2 2MOV RMOV R2 2,RR0 02. 间址寄存器只能使用间址寄存器只能使用 R R0 0、R R1 1。 非法非法指令:指令: MOV AMOV A,RR2 23. SFRSFR区只能直接寻址,不能用寄存器间接寻址。区只能直接寻址,不能用寄存器间接寻址。非法非法指令:指令: MOV RMOV R0 0,#80H#80H MOV A MOV A,RR0 ;(520 ;(52系列的,认为是高系列的,认为是高
19、128B128B的间接寻址的间接寻址) )4. .片外数据存储器不能直接寻址,且只能通过片外数据存储器不能直接寻址,且只能通过A A累加器传递数据。累加器传递数据。 非法非法指令:指令: MOVX AMOVX A,2000H 2000H MOVX 2100H MOVX 2100H,2000H2000H2022-4-13例例1 1:MOV AMOV A,#30H#30HMOV 4FHMOV 4FH,A AMOV RMOV R0 0,#20H#20HMOV RMOV R0 0,4FH4FHMOV 21HMOV 21H,20H20H例例2 2:用两种寻址方式实现,将片内:用两种寻址方式实现,将片内R
20、AM 60HRAM 60H单元的数据传送单元的数据传送给累加器给累加器A A。解:解: MOV A,#60HMOV A,#60H()MOV RMOV R0 0,#60H #60H () MOV AMOV A,RR0 0;A= 30HA= 30H;(4FH)= 30H(4FH)= 30H;R R0 0= 20H= 20H;(20H)= 30H(20H)= 30H;(21H)= 30H(21H)= 30HMOV MOV R R0 0,60H60H MOV AMOV A, R R0 0 () 解:解: MOV A,60HMOV A,60H () 结果结果A=32HA=32H 顺序执行下列指令序列,求
21、每一步执行结果。顺序执行下列指令序列,求每一步执行结果。2022-4-13练习:练习:(1)将)将R1的内容传送到的内容传送到R0(2)片外)片外RAM 20H单元内容送片内单元内容送片内SRAM 30H单元单元(3)片外)片外RAM 1000H单元内容送片内单元内容送片内SRAM 30H单元单元(4) ROM 1000H单元内容送片内单元内容送片内SRAM 20H单元单元(5)片内)片内SRAM 30H单元内容送片外单元内容送片外RAM 2000H单元单元(6)立即数)立即数23H送内部送内部SRAM 90H2022-4-13堆栈操作指令堆栈操作指令 MOV SP,#data ;设堆栈设堆栈
22、 PUSH direct ; POP direct ; PUSH A ; POP A ; PUSH PSW (ACALL、LCALL、中断要硬件执行、中断要硬件执行PC入栈,入栈, 先低先低8位,位,后高后高8位。位。) 错错 !PUSH ACCPOP ACCSPSP+1;(SP) (direct)(SP) (direct);SP SP-1MCS -51 提供一个提供一个向上升向上升的堆栈的堆栈, 因此因此SP设置初值时要充分设置初值时要充分考虑考虑堆栈的深度堆栈的深度, 要留出适当的单元空间要留出适当的单元空间, 满足堆栈的使用。满足堆栈的使用。 2022-4-13练习:练习:说明程序执行过
23、程中,说明程序执行过程中,SP的内容及堆栈中内容的改变过程。的内容及堆栈中内容的改变过程。 MOV SP,#30H MOV A,#20H MOV B,#30H PUSH ACC PUSH B MOV A,#30H MOV B,#20H POP B POP ACC;SP=30H;A=20H;B=30H;SP=31H (31H)=20H ;SP=32H (32H)=30H ;A=30H;B=20H ; B=30H SP=31H;A=20H SP=30H 2022-4-13 代码区代码区(程序区程序区)操作指令操作指令(查表用查表用) MOVC A,A+DPTR MOVC A,A+PC 实现从实现从
24、程序存储器程序存储器读取数据到读取数据到A累加器累加器,1DPTR为基址寄存器为基址寄存器:查表范围为查表范围为 64KB 程序存储程序存储器任意空间,称为器任意空间,称为远程远程查表指令。查表指令。2PC为基址寄存器为基址寄存器:只能在查表指令后只能在查表指令后256B范围内,范围内,称为称为近程近程查表指令。查表指令。2022-4-13例:例:程序程序1: ORG 1000H SQU: MOV DPTR,#3000H ;确定表首地址(基地址);确定表首地址(基地址) MOV A,20H ;取;取 X(变量:偏移量)(变量:偏移量) MOVC A,A+DPTR ;查表求;查表求Y=X2 MO
25、V 21H,A ;保存;保存Y(结果)(结果) RET ;子程序结束;子程序结束 ;其它程序段;其它程序段 ORG 3000H ;常数表格首地址;常数表格首地址 TAB: DB 00,01,04,09, ,225;平方表;平方表 END查表法求查表法求Y=XY=X2 2。设。设X(0X15)X(0X15)在片内在片内RAMRAM的的20H20H单元中,单元中,要求查表求要求查表求Y Y,存入片内,存入片内RAM 21HRAM 21H单元。单元。2022-4-13例:例:程序程序2:指令地址指令地址 源程序源程序 ORG 1000H ;程序起始地址;程序起始地址1000H SQU: MOV A,
26、20H ;取;取X1002H ADD A,#3 ;修正偏移量;修正偏移量1004H MOVC A,A+PC ;查表求;查表求Y=X2 (PC=1005H)1005H MOV 21H,A ;存结果;存结果1007H RET ;子程序结束;子程序结束1008HTAB: DB 00,01,04 ;平方表;平方表100BH DB 09, ,225 查表法求查表法求Y=XY=X2 2。设。设X(0X15)X(0X15)在片内在片内RAMRAM的的20H20H单元中,单元中,要求查表求要求查表求Y Y,存入片内,存入片内RAM 21HRAM 21H单元。单元。思考:当思考:当0X2550X255时,如何用
27、查表法编程求时,如何用查表法编程求Y=XY=X2 2。2022-4-13 字节交换指令字节交换指令 XCH A,Rn ;A Rn XCH A,Ri ;A (Ri) XCH A,direct ;A (direct) (全字节交换全字节交换) SWAP A ;半字节交换半字节交换(高高4位与低位与低4位交换位交换)2022-4-13习题:找出指令错误并改正习题:找出指令错误并改正1MOV A,#1000H 2MOVX A,1000H3MOVC A,1000H4MOVX 60H,A 5MOV R0,60H MOV 61H,R0 6. XCH R1,R27. MOVX DPTR,#2000H 8. M
28、OVX 60H,DPTR2022-4-13影响标志位的指令影响标志位的指令(X表示有影响,表示有影响,o表示清零,表示清零,1表示置一)表示置一)二、二、 算术运算指令算术运算指令2022-4-13 (一一) 加法指令加法指令 不带进位加指令不带进位加指令 ADD A,Rn ;A=A+Rn ADD A,direct ;A=A+(direct) ADD A,Ri ;A=A+(Ri) ADD A,#data ;A=A+data 带进位加指令带进位加指令 ADDC A,Rn ;A=A+Rn+Cy ADDC A,direct ;A=A+(direct)+Cy ADDC A,Ri ;A=A+(Ri)+C
29、y ADDC A,#data ;A=A+data+Cy算术运算指令主要完成片内算术运算指令主要完成片内RAMRAM和和A A中数据的加减乘除运算。中数据的加减乘除运算。2022-4-13 增量增量(增增1)指令指令 INC A ;A=A+1 INC Rn ;Rn=Rn+1 INC direct ;(direct)=(direct)+1 (地址中的数增一地址中的数增一) INC Ri ;(Ri)=(Ri)+1 INC DPTR ;DPTR=DPTR+1 十进制调整指令十进制调整指令 DA A (在在BCD码运算中码运算中,要进行调整要进行调整) 2022-4-13教材教材P77例例3-15:试编
30、写十进制数:试编写十进制数2345H加加5678H的的程序段,结果存于程序段,结果存于40H(低位)、(低位)、41H(高位)中。(高位)中。 2022-4-13 (二二) 减法指令减法指令 带借位减法指令带借位减法指令 没有不带借位的减法指令没有不带借位的减法指令 SUBB A,Rn ;A=A-Rn-Cy SUBB A,direct ;A=A-(direct)-Cy SUBB A,Ri ;A=A-(Ri)-Cy SUBB A,#data ;A=A-data-Cy (对对BCD码无调整指令码无调整指令) 减减1指令指令 DEC A ;A=A-1 DEC Rn ;Rn=Rn-1 DEC dire
31、ct ;(direct)=(direct)-1 DEC Ri ;(Ri)=(Ri)-12022-4-13 (三三) 乘法指令乘法指令 MUL AB ;A X B (高位在高位在B中中,低位在低位在A中中 clear Cy 结果小于等于结果小于等于255 OV=0,大于则置,大于则置1) (四四) 除法指令除法指令 DIV AB ;A/B(整数在整数在A中中,余数在余数在B中,中,clear Cy &OV=0) 如果如果B(除数除数)=0,OV=12022-4-13三、三、 逻辑运算指令逻辑运算指令 简单的逻辑运算指令简单的逻辑运算指令 CLR A ;A=0,清零清零 CPL A ;将将
32、A中的数按位取反中的数按位取反 RL A ;A中的数左循环移一位中的数左循环移一位(不带不带Cy) RR A ;A中的数右循环移一位中的数右循环移一位(不带不带Cy) (小循环小循环) RLC A ; A中的数带中的数带Cy左循环移一位左循环移一位 RRC A ; A中的数带中的数带Cy右循环移一位右循环移一位 (大循环大循环) 2022-4-13例:把例:把30H和和31H两单元存放的两单元存放的16位二进制数扩大二位二进制数扩大二倍。(倍。(P68) CLR C MOV A,30H RLC A MOV 30H,A MOV A,31H RLC A MOV 31H,A2022-4-13 逻辑与
33、指令逻辑与指令(按位与按位与) ANL A,Rn ;A=A&Rn ANL A,direct ;A=A&(direct) ANL A,Ri ;A=A&Ri ANL A,#data ;A=A&data ANL direct,A ;(direct) =(direct)&A ANL direct,#data ;(direct)=(direct)&data 2022-4-13 逻辑或指令逻辑或指令(按位或按位或) ORL A,Rn ;A=A或或Rn ORL A,direct ;A=A或或(direct) ORL A,Ri ;A=A或或Ri ORL A,#d
34、ata ;A=A或或data ORL direct,A ;(direct) =direct或或A ORL direct,#data ;(direct)=(direct)或或data2022-4-13 逻辑异或指令逻辑异或指令(按位异或按位异或) XRL A,Rn ;A=A异或异或Rn XRL A,direct ;A=A异或异或(direct) XRL A,Ri ;A=A异或异或Ri XRL A,#data ;A=A异或异或data XRL direct,A ;(diect)=(direct)异或异或A XRL direct,#data ;(diect)=(direct)异或异或data2022
35、-4-13P77课后题课后题3-14:设:设A=83H,R0=17H,(,(17H)=34H,执行下面程序后,执行下面程序后,A为何值?。为何值?。 ANL A,#27H ORL 17H,A XRL A,R0 CPL A2022-4-13四、控制转移指四、控制转移指令令 (一一) 无条件转移无条件转移 SJMP rel ;在在-128+127内跳转内跳转 SJMP $ ;原地转圈原地转圈 AJMP addr11 ;在在 2K地址内跳转地址内跳转 LJMP addr16 ;在在 64K地址内跳转地址内跳转 JMP A+DPTR ;间接转移间接转移(多分支转移)(多分支转移)2022-4-13JM
36、P A+DPTR 多分支转移应用:处理功能键多分支转移应用:处理功能键KEY:KEY: MOV DPTR,#KTAB MOV DPTR,#KTAB MOV A,40H MOV A,40H ADD A,A ADD A,A JMP A+DPTR JMP A+DPTRKTAB:KTAB: AJMP FUNC0 AJMP FUNC0 AJMP FUNC1 AJMP FUNC1 FUNC0: FUNC0: FUNC1: FUNC1: 要求不同功能键执行不同程序段,设每个功能键对应一要求不同功能键执行不同程序段,设每个功能键对应一个键值个键值X(0X0FH)X(0X0FH)。假设。假设X X已存入片内已存
37、入片内RAMRAM的的40H40H单元中。单元中。若若X=0X=0,则执行程序段,则执行程序段FUNC0FUNC0;若若X=1X=1,则执行程序段,则执行程序段FUNC1FUNC1; 2022-4-13 JZ rel ; 在在 -128+127内跳转内跳转 (A=0,跳转跳转) JNZ rel ; 在在 -128+127内跳转内跳转 (A!=0,跳转跳转) (二二) 有条件转移有条件转移 对累加器对累加器A的判零转移的判零转移2022-4-13 比较不相等转移比较不相等转移 CJNE A,direct,rel; CJNE A,#data,rel; CJNE Rn,#data,rel; CJNE
38、 Ri,#data,rel; (跳转范围跳转范围-128+127,相对寻址相对寻址) 减减1不为不为0跳转跳转(循环转移循环转移) DJNZ Rn,rel; DJNZ direct,rel; (跳转范围跳转范围-128+127,相对寻址相对寻址) 2022-4-13(三三)调用子程序调用子程序 ACALL rel(addr11) ;在在2K内内 LCALL rel(addr16) ;在在64K内内2022-4-13(四四)调用子程序返回指令调用子程序返回指令 RET ;一般调用返回一般调用返回(子程序子程序) RETI ;硬件中断返回硬件中断返回(中断程序中断程序) (五五)空操作指令空操作指
39、令 NOP ;不做任何操作,延时一个机器周期不做任何操作,延时一个机器周期2022-4-13注意:注意:常用格式:常用格式:MAINMAIN: MOV SPMOV SP,#30H#30H ;设置栈顶;设置栈顶 ;主程序;主程序LCALLLCALL SUBR SUBR;调用;调用SUBRSUBRSUBRSUBR:;子程序首地址;子程序首地址RETRET;子程序返回;子程序返回1、子程序起始指令要使用标号,用作子程序名。、子程序起始指令要使用标号,用作子程序名。2、执行返回指令、执行返回指令RETRET之前,保证栈顶内容为主程序返回之前,保证栈顶内容为主程序返回地址,以便正确返回主程序。地址,以便正确返回主程序。2022-4-13五、五、 位操作指令位操作指令2022-4-13 片内片内RAM中的位寻址区中的位寻址区2022-4-13特殊功能寄存器位地址特殊功能寄存器位地址表表2022-4-13位地址表达形式位地址表达形式举举 例例1)直接地址方式)直接地址方式0A9H2)点操作符方式)点操作符方式IE.13)位名称方式)位名称方式ET04)用户定义方式)用户定义方式用伪指令用伪指令BIT定义的位定义的位 T0ZD BIT ET0允许用允许用T0ZD代替代替ET02022-4-13 位传送指令位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级国学试卷上及答案
- 行业协会合作协议履约金细则
- 购房定金退款条件协议
- 施工现场的安全警示与宣传
- 针灸推拿学的社区服务与健康指导
- 区块链技术开启价值传递的新纪元
- EPC项目经验总结模版
- 《神经系统MRI》课件
- 影像科轮转总结模版
- AI在医学决策支持系统中的价值与挑战
- 2025-2030中国开关插座行业市场发展分析及前景趋势与投资研究报告
- 人教五四 六年级 下册 语文 第五单元《中国有能力解决好吃饭问题 第一课时》课件
- 不同茶叶的冲泡方法
- MOOC 创业基础-暨南大学 中国大学慕课答案
- 水资源论证工作大纲
- MTM-1基本方法
- 无机材料科学基础第六章
- 东南大学论文模板v1.1
- 神经系统体格检查-PPT课件
- 赛英公司FOD监测雷达系统
- 脓毒症的诊疗规范 中医
评论
0/150
提交评论