51单片机指令集
51单片机堆栈操作指令的用法

51单片机堆栈操作指令的用法51单片机是一种非常常用的单片机芯片,其指令集非常丰富,其中包含了很多堆栈操作指令。
堆栈操作指令是用来进行数据的入栈和出栈操作的指令,通过堆栈操作指令,我们可以方便地保存和恢复程序执行中的临时数据,提高代码的灵活性和效率。
本文将详细介绍51单片机堆栈操作指令的用法,帮助读者更好地理解和运用这些指令。
一、堆栈简介堆栈(Stack)是一种特殊的数据结构,具有后进先出(LIFO)的特点。
在51单片机的内部RAM中,有一段专门用来存放堆栈的空间,这段空间的大小为128字节(地址为0x07Fh至0x080h)。
在程序执行过程中,我们可以通过堆栈操作指令将数据入栈或者出栈,进栈是将数据放入堆栈,出栈是将数据从堆栈中取出。
二、堆栈操作指令51单片机的指令集中包含了以下几条堆栈操作指令:1. PUSH 指令PUSH指令用于将8位数据入栈,将要入栈的数据放入寄存器A中,通过PUSH 指令可以将A的数据压入堆栈。
PUSH指令的实际操作是将A的数据先放入栈顶指针(SP)所指向的内存单元中,然后将SP的值减1,即栈顶指针向下移动一个位置。
2. POP 指令POP指令用于将数据出栈,即从堆栈中取出一个8位数据,并放入寄存器A中。
POP指令的实际操作是将栈顶指针向上移动一个位置,然后将栈顶指针所指向的内存单元中的数据取出,并放入A中。
3. XCH指令XCH指令用于交换A寄存器的数据和栈顶指针所指向的内存单元的数据。
具体操作是将栈顶指针所指向的内存单元中的数据取出,并放入A中,然后将A中的数据放回栈顶指针所指向的内存单元中。
4. LCALL指令LCALL指令是一个特殊的调用指令,用于将下一条指令的地址入栈,并转移到指定地址处执行。
具体操作是将下一条指令的地址(即当前指令的地址加3)入栈,然后将指定地址的值赋给程序计数器(PC)。
5. RET指令RET指令用于从子程序返回,从堆栈中取出地址,并赋给程序计数器(PC),从而实现返回到调用该子程序的地方继续执行。
MCS-51指令系统

4、控制转移类指令(二)
无条件转移:(LJMP,AJMP,SJMP,JMP—4条) LJMP addr16 长跳转指令
——可在64K范围内跳转 AJMP addr11 绝对跳转指令
——可在指令所在的2K范围内跳转 SJMP rel 相对跳转指令
——可在当前PC-128与+127范围内跳转 JMP @A+DPTR 间接长跳转指令
1
累加器清零/取反操作 (CLR,CPL—2条)
CLR A —对累加器清零
1 Byte 1 Tm
CPL A ——对累加器按位取非 1 Byte 1 Tm 15
3、逻辑运算及移位类指令(三)
逻辑运算指令在程序中的应用(下面的例子认为Acc 的内容为9AH)
逻辑与ANL运算用于对某些位进行清0或者保留: 例: ANL A, #0FH; 则(A) = 0AH
位清零/置位指令(4条): CLR bit(或C) —— (bit或 C)“0” SETB bit(或C) —— (bit或 C)“1”
位逻辑与/或/非指令(6条): ANL C,bit(或/bit) ORL C,bit(或/bit) CPL bit (或 C) 注: “/bit”表示对bit位先取反然后再参加运算
带借位减法(SUBB):(A) ← (A)- (Cy)- (第二操作数)
10
2、算术运算类指令(三)
加1/减1操作: (INC,DEC—9条) INC, DEC与用加/减法指令做加1/减1 操作不 同之处在于INC、DEC不影响标志位。
单字节乘/除运算: (MUL,DIV—2条) 两个单字节数的乘/除法运算只在A与B之间 进行。 MUL AB: (A)与(B)相乘, 积为16位数,
单片机c51汇编语言51单片机汇编语言

单片机c51汇编语言51单片机汇编语言单片机C51汇编语言单片机(C51)是指一种集成电路上只包含一个集中式控制器的微处理器,具有完整的CPU指令集、RAM、ROM、I/O接口等功能。
汇编语言是一种低级语言,是用于编写单片机指令的一种语言。
汇编语言能够直接操作单片机的寄存器和输入/输出端口,因此在嵌入式系统的开发中非常重要。
本文将介绍单片机C51的汇编语言编程。
一、了解单片机C51单片机C51是目前应用最广泛的一种单片机系列,广泛用于各种电子设备和嵌入式系统的开发。
C51指的是Intel公司推出的一种基于MCS-51架构的单片机。
该系列单片机具有较高的性能和低功耗的特点,可用于各种控制和通信应用。
二、汇编语言的基本概念汇编语言是一种低级语言,与机器语言紧密相关。
它使用助记符来代替机器指令的二进制表示,使程序的编写更加易读。
在单片机C51汇编语言中,每一条汇编指令都对应着特定的机器指令,可以直接在单片机上执行。
三、汇编语言的基本指令在单片机C51汇编语言中,有一些基本的指令用于控制程序的执行和操作寄存器。
以下是一些常用的指令:1. MOV指令:用于将数据从一个寄存器或内存单元复制到另一个寄存器或内存单元。
2. ADD指令:用于将两个操作数相加,并将结果存储到目的寄存器中。
3. SUB指令:用于将第一个操作数减去第二个操作数,并将结果存储到目的寄存器中。
4. JMP指令:用于无条件跳转到指定的地址。
5. JZ指令:用于在条件为零时跳转到指定的地址。
6. DJNZ指令:用于将指定寄存器的值减一,并根据结果进行跳转。
四、编写单片机C51汇编程序的步骤编写单片机C51汇编程序需要按照以下步骤进行:1. 确定程序的功能和目标。
2. 分析程序的控制流程和数据流程。
3. 设计算法和数据结构。
4. 编写汇编指令,实现程序的功能。
5. 调试程序,并进行测试。
六、实例演示以下是一个简单的单片机C51汇编程序的示例,用于实现两个数的相加,并将结果输出到LED灯上:org 0H ; 程序的起始地址为0mov a, 05H ; 将05H赋值给累加器mov b, 07H ; 将07H赋值给B寄存器add a, b ; 将A寄存器和B寄存器的值相加mov P1, a ; 将相加结果输出到P1口end ; 程序结束在这个例子中,首先将05H赋值给累加器A,然后将07H赋值给B寄存器,接着使用ADD指令将A和B的值相加,将结果存储到累加器A中,最后将累加器A的值输出到P1口。
51单片机汇编指令集

51单片机汇编指令集一、数据传送类指令(7种助记符)MOV(Move)对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送;MOVX(Move External RAM)对外部RAM的数据传送;XCH (Exchange)字节交换;XCHD(Exchange low-order Digit)低半字节交换;PUSH(Push onto Stack)入栈;POP (Pop from Stack)出栈;二、算术运算类指令(8种助记符)ADD(Addition)加法;ADDC(Add with Carry)带进位加法;SUBB(Subtract with Borrow)带借位减法;DA(Decimal Adjust)十进制调整;INC(Increment)加1;DEC(Decrement)减1;MUL(Multiplication、Multiply)乘法;DIV(Division、Divide)除法;三、逻辑运算类指令(10种助记符)ANL(AND Logic)逻辑与;ORL(OR Logic)逻辑或;XRL(Exclusive-OR Logic)逻辑异或;CLR(Clear)清零;CPL(Complement)取反;RL(Rotate left)循环左移;RLC(Rotate Left throught the Carry flag)带进位循环左移;RR(Rotate Right)循环右移;RRC(Rotate Right throught the Carry flag)带进位循环右移;SWAP(Swap)低4位与高4位交换;四、控制转移类指令(17种助记符)ACALL(Absolute subroutine Call)子程序绝对调用;LCALL(Long subroutine Call)子程序长调用;RET(Return from subroutine)子程序返回;RETI(Return from Interruption)中断返回;SJMP(Short Jump)短转移;AJMP(Absolute Jump)绝对转移;LJMP(Long Jump)长转移;CJNE (Compare Jump if Not Equal)比较不相等则转移;DJNZ (Decrement Jump if Not Zero)减1后不为0则转移;JZ (Jump if Zero)结果为0则转移;JNZ (Jump if Not Zero)结果不为0则转移;JC (Jump if the Carry flag is set)有进位则转移;JNC (Jump if Not Carry)无进位则转移;JB (Jump if the Bit is set)位为1则转移;JNB (Jump if the Bit is Not set)位为0则转移;JBC(Jump if the Bit is set and Clear the bit)位为1则转移,并清除该位;NOP (No Operation)空操作;五、位操作指令(1种助记符)CLR (Clear)位清零;SETB(Set Bit)位置1。
51单片机条件转移指令

51单片机条件转移指令51单片机是一种广泛应用于嵌入式系统中的微控制器,具有强大的条件转移指令集,可以实现复杂的逻辑控制。
本文将以51单片机条件转移指令为标题,介绍其基本概念、使用方法以及相关应用。
一、概述条件转移指令是计算机指令中的一种重要类型,它可以根据特定条件的成立与否,决定程序的执行路径。
在51单片机中,条件转移指令用于实现基于条件的分支和循环控制,是实现复杂控制逻辑的重要工具。
二、条件转移指令的基本语法在51单片机中,条件转移指令的基本语法如下:```CJxx 操作数1, 操作数2, 目标地址```其中,CJxx是条件转移指令的助记符,表示不同的条件;操作数1和操作数2是进行比较的操作数;目标地址是程序执行的跳转地址。
三、条件转移指令的常用类型51单片机中常用的条件转移指令包括以下几种类型:1. 条件转移指令(CJNE):用于比较两个操作数的大小,并根据比较结果决定是否跳转到目标地址。
2. 无条件转移指令(JMP):无条件跳转到目标地址。
3. 相对跳转指令(DJNZ):用于实现循环控制,根据操作数的值决定是否跳转到目标地址,并将操作数减一。
四、条件转移指令的使用方法使用条件转移指令需要注意以下几点:1. 确定比较的操作数:根据具体需求,选择合适的操作数进行比较。
2. 确定目标地址:根据条件的成立与否,确定程序执行的跳转地址。
3. 编写条件转移指令代码:根据条件转移指令的语法,编写相应的汇编指令。
4. 调试和测试:在编写完条件转移指令代码后,进行调试和测试,确保程序的逻辑正确。
五、条件转移指令的应用示例以下是一个简单的应用示例,演示了如何使用条件转移指令实现一个LED闪烁的程序:```ORG 0H ; 程序的起始地址MOV P1, #01H ; 将01H送入P1口,点亮LEDLOOP: ; 循环开始CJNE P1, #01H, NEXT ; 如果P1不等于01H,则跳转到NEXTMOV P1, #00H ; 将00H送入P1口,熄灭LEDSJMP LOOP ; 无条件跳转到LOOP,实现循环控制NEXT: ; 跳转到NEXTMOV P1, #01H ; 将01H送入P1口,点亮LEDSJMP LOOP ; 无条件跳转到LOOP,实现循环控制END ; 程序结束```在上述示例中,通过使用CJNE指令和JMP指令,实现了LED的闪烁效果。
51单片机原理范文

51单片机原理范文51单片机(或8051单片机)是集成度较高,功能丰富的一种单片机。
它是由英特尔公司推出的一种基于哈佛架构的8位单片机,因为它的全称是Intel MCS-51,所以又称为MCS-51单片机。
51单片机采用了CISC的计算机指令集结构,其指令系统包括了强大的操作码集合,可以实现灵活且高效的数据处理和控制。
1.主功能模块:(1)CPU:51单片机的CPU部分主要有累加寄存器(ACC)、数据指针(DPTR)、程序计数器(PC)和栈指针(SP)等器件。
CPU通过解码指令,实现对数据的操作和控制。
它支持不同寻常的指令类型,如算术和逻辑运算、移位和旋转操作、位操作等。
(2)存储器:51单片机的存储器分为RAM和ROM两部分。
RAM是用于存储中间数据的随机访问存储器,它的容量比较小,通常只有256个字节。
ROM是用于存储程序和常量的只读存储器,其容量可以达到64KB。
ROM中包含了单片机的应用程序和常用的函数库,它们可以在需要的时候调用。
(3)I/O端口:51单片机有许多个I/O端口,用于连接外部的设备和外部存储器。
这些端口通过编程来进行输入和输出操作,可以实现与外部设备的数据交换和控制信号的传送。
(4)定时器:51单片机内置了多个定时器,可用于测量时间和产生定时中断。
定时器可以被程序配置为不同的计数模式,比如定时、计数和脉冲宽度调制等。
定时器的主要作用是提供时间基准,用于事件的精确控制和计算。
2.扩展模块:(1)串行通信接口(UART):51单片机内置了一个UART,用于实现与外部设备的串行通信。
UART可通过串行口发送和接收数据,常用于与计算机、显示器、打印机等设备的数据传输。
(2)中断系统:51单片机具有可编程的中断控制器,用于处理外部中断和软件中断。
它可以实现异步事件的响应和中断服务程序的执行,大大提高了系统的实时性和灵活性。
(3)声音和视频接口:有些型号的51单片机还支持声音和视频接口,用于实现音频和视频的录制、放映和处理。
《单片机》教学课件51单片机的指令系统

MOV Rn ,direct
;(direct)→Rn ,n =0~7
MOV Rn ,#data
;#data→Rn ,n =0~7
把源操作数送入当前寄存器区的R0~R7中的某一寄存器。
3.以直接地址direct为目的操作数的指令
MOV direct,A
; (A)→direct
MOV direct,Rn
寻址空间内快速地找到指定的地址单元。 下面介绍指令系统7种寻址方式。
5
1.寄存器寻址方式
指令中的操作数为某一寄存器的内容。
例如:MOV A,Rn
;(Rn)→A,n =0~7
把Rn中的源操作数送入到累加器A中。由于指令指定了从寄存 器Rn中取得源操作数,所以称为寄存器寻址方式。
本寻址方式的寻址范围:
4.以寄存器间接地址为目的操作数的指令
MOV @Ri,A
;(A)→((Ri)), i=0,1
MOV @Ri,direct ;(direct)→((Ri)),i=0,1
MOV @Ri,#data ;#data→((Ri)), i=0,1
功能是把源操作数内容送入R0或R1指定的存储单元中。
5.16位数传送指令
内部RAM的00H~7FH共128个单元。 6.堆栈操作指令 内部RAM中设定一个后进先出(LIFO,Last In First Out)
的区域,称为堆栈。在特殊功能寄存器中有一个堆栈指针 SP,指示堆栈的栈顶位置。堆栈操作有进栈和出栈两种, 因此,在指令系统中相应有两条堆栈操作指令。
22
(1)进栈指令 PUSH direct
(1)4组通用工作寄存区共32个工作寄存器。但只对当前工 作寄存器区的8个工作寄存器寻址,指令中的寄存器名称只 能是R0~R7。
mcs-51单片机原理及应用教程

mcs-51单片机原理及应用教程MCS-51单片机是一种用于嵌入式系统的微处理器,它广泛应用于各种电子设备中。
本教程将介绍MCS-51单片机的原理和应用。
在接下来的内容中,我们将从基本概念开始,逐步深入了解MCS-51单片机的工作原理和常见应用。
1. 概述MCS-51单片机是由Intel公司于20世纪80年代推出的一种8位微处理器。
它包括中央处理器(CPU)、存储器、输入/输出(I/O)接口和定时器等功能模块,可以完成各种数据处理和控制任务。
2. 架构和指令集MCS-51单片机采用哈佛架构,即指令存储器和数据存储器分开存储的结构。
它的指令集包括基本指令、算术指令、逻辑指令和控制指令等,可以完成各种数据操作和控制流程。
3. 存储器和寄存器MCS-51单片机具有内部存储器和外部扩展存储器。
内部存储器包括程序存储器和数据存储器,用于存储指令和数据。
此外,MCS-51单片机还包括多个特殊功能寄存器,用于存储控制和状态信息。
4. 输入/输出(I/O)MCS-51单片机具有多个I/O口,用于连接外部设备。
通过配置I/O口的输入和输出模式,可以实现与外界的数据交换和控制。
5. 中断和定时器MCS-51单片机支持中断功能,可以在特定条件下中断正在执行的程序,并转向处理中断程序。
此外,MCS-51单片机还包含多个定时器/计数器,用于生成精确的时间控制和测量。
6. 应用领域MCS-51单片机广泛应用于各种嵌入式系统中,包括家电、通信设备、汽车电子和工业控制等。
它的低成本、低功耗和高可靠性使其成为许多应用场景的首选。
综上所述,MCS-51单片机是一种功能强大的嵌入式微处理器,具有丰富的功能和广泛的应用领域。
通过学习MCS-51单片机的原理和应用,我们可以更好地理解和应用该技术,为嵌入式系统的开发和设计提供支持。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机指令集.txt我这辈子只有两件事不会:这也不会,那也不会。
人家有的是背景,而我有的是背影。
肉的理想,白菜的命。
肉的理想,白菜的命。
白马啊你死去哪了!是不是你把王子弄丢了不敢来见我了。
MCS-51单片机的指令集1、数据传送类指令助记符功能说明字节数振荡周期MOV A,Rn 寄存器内容送入累加器 1 12MOV A,direct 直接地址单元中的数据送入累加器 2 12MOV A,@Ri 间接RAM中的数据送入累加器 1 12MOV A,#data8 8位立即数送入累加器 2 12MOV Rn,A 累加器内容送入寄存器 1 12MOV Rn,direct 直接地址单元中的数据送入寄存器 2 24MOV Rn,#data8 8位立即数送入寄存器 2 12MOV direct,A 累加器内容送入直接地址单元 2 12MOV direct,Rn 寄存器内容送入直接地址单元 2 24MOV direct,direct 直接地址单元中的数据送入直接地址单元 3 24 MOV direct,@Ri 间接RAM中的数据送入直接地址单元 2 24 MOV direct,#data8 8位立即数送入直接地址单元 3 24MOV @Ri,A 累加器内容送入间接RAM单元 1 12MOV @Ri,direct 直接地址单元中的数据送入间接RAM单元 2 24 MOV @Ri,#data8 8位立即数送入间接RAM单元 2 12MOV DPTR,#data16 16位立即数地址送入地址寄存器 3 24 MOV A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 1 24 MOV A,@A+PC 以PC为基地址变址寻址单元中的数据送入累加器 1 24 MOV A,@Ri 外部RAM(8位地址)送入累加器 1 24MOV A,@DPTR 外部RAM(16位地址)送入累加器 1 24MOV @Ri,A 累加器送入外部RAM(8位地址) 1 24MOV @DPTR,A 累加器送入外部RAM(16位地址) 1 24PUSH direct 直接地址单元中的数据压入堆栈 2 24POP DIRECT 堆栈中的数据弹出到直接地址单元 2 24XCH A,Rn 寄存器与累加器交换 1 12XCH A,direct 直接地址单元与累加器交换 2 12XCH A,@Ri 间接RAM与累加器交换 1 12XCHD A,@Ri 间接RAM与累加器进行低半字节交换 1 122、算术操作类指令助记符功能说明字节数振荡周期ADD A,Rn 寄存器内容加到累加器 1 12ADD A,direct 直接地址单元加到累加器 2 12ADD A,@Ri 间接RAM内容加到累加器 1 12ADD A,#data8 8位立即数加到累加器 2 12ADDC A,Rn 寄存器内容带进位加到累加器 1 12ADDC A,dirct 直接地址单元带进位加到累加器 2 12 ADDC A,@Ri 间接RAM内容带进位加到累加器 1 12 ADDC A,#data8 8位立即数带进位加到累加器 2 12SUBB A,Rn 累加器带借位减寄存器内容 1 12SUBB A,dirct 累加器带借位减直接地址单元 2 12SUBB A,@Ri 累加器带借位减间接RAM内容 1 12SUBB A,#data8 累加器带借位减8位立即数 2 12 INC A 累加器加1 1 12INC Rn 寄存器加1 1 12INC direct 直接地址单元内容加1 2 12INC @Ri 间接RAM内容加1 1 12INC DPTR DPTR加1 1 24DEC A 累加器减1 1 12DEC Rn 寄存器减1 1 12DEC direct 直接地址单元内容减1 2 12DEC @Ri 间接RAM内容减1 1 12MUL AB A乘以B 1 48DIV AB A除以B 1 48DA A 累加器进行十进制转换 1 123、逻辑操作类指令助记符功能说明字节数振荡周期ANL A,Rn 累加器与寄存器相“与” 1 12ANL A,direct 累加器与直接地址单元相“与” 2 12ANL A,@Ri 累加器与间接RAM内容相“与” 1 12ANL A,#data8 累加器与8位立即数相“与” 2 12ANL direct,A 直接地址单元与累加器相“与” 2 12ANL direct,#data8 直接地址单元与8位立即数相“与” 3 24 ORL A,Rn 累加器与寄存器相“或” 1 12ORL A,direct 累加器与直接地址单元相“或” 2 12ORL A,@Ri 累加器与间接RAM内容相“或” 1 12ORL A,#data8 累加器与8位立即数相“或” 2 12ORL direct,A 直接地址单元与累加器相“或” 2 12ORL direct,#data8 直接地址单元与8位立即数相“或” 3 24 XRL A,Rn 累加器与寄存器相“异或” 1 12XRL A,direct 累加器与直接地址单元相“异或” 2 12XRL A,@Ri 累加器与间接RAM内容相“异或” 1 12XRL A,#data8 累加器与8位立即数相“异或” 2 12XRL direct,A 直接地址单元与累加器相“异或” 2 12XRL direct,#data8 直接地址单元与8位立即数相“异或” 3 24 CLR A 累加器清0 1 12CPL A 累加器求反 1 12RL A 累加器循环左移 1 12RLC A 累加器带进位循环左移 1 12RR A 累加器循环右移 1 12RRC A 累加器带进位循环右移 1 12SWAP A 累加器半字节交换 1 124、控制转移类指令助记符功能说明字节数振荡周期ACALL addr11 绝对短调用子程序 2 24LACLL addr16 长调用子程序 3 24RET 子程序返回 1 24RETI 中断返回 1 24AJMP addr11 绝对短转移 2 24LJMP addr16 长转移 3 24SJMP rel 相对转移 2 24JMP @A+DPTR 相对于DPTR的间接转移 1 24JZ rel 累加器为零转移 2 24JNZ rel 累加器非零转移 2 24CJNE A,direct,rel 累加器与直接地址单元比较,不等则转移 324CJNE A,#data8,rel 累加器与8位立即数比较,不等则转移 3 24 CJNE Rn,#data8,rel 寄存器与8位立即数比较,不等则转移 3 24 (相等则执行本指令的下一条)CJNE @Ri,#data8,rel 间接RAM单元,不等则转移 3 24 (但有时还想得知两数比较之后哪个大,哪个小,本条指令也具有这样的功能,如果两数不相等,则CPU还会反映出哪个数大,哪个数小,这是用CY(进位位)来实现的。
如果前面的数(A中的)大,则CY=0,否则CY=1)DJNZ Rn,rel 寄存器减1,非零转移 3 24DJNZ direct,rel 直接地址单元减1,非零转移 3 24NOP 空操作 1 12控制转移指令共有17条,可分为“无条件转移指令”“有条件转移指令”“子程序调用指令”及“返回指令”。
5、布尔变量操作类指令助记符功能说明字节数振荡周期CLR C 清进位位 1 12CLR bit 清直接地址位 2 12SETB C 置进位位 1 12SETB bit 置直接地址位 2 12CPL C 进位位求反 1 12CPL bit 直接地址位求反 2 12ANL C,bit 进位位和直接地址位相“与” 2 24 ANL C,/bit 进位位和直接地址位的反码相“与” 2 24 ORL C,bit 进位位和直接地址位相“或” 2 24 ORL C,/bit 进位位和直接地址位的反码相“或” 2 24 MOV C,bit 直接地址位送入进位位 2 12 MOV bit,C 进位位送入直接地址位 2 24JC rel 进位位为1则转移(CY=O不转移,=1转移) 2 24 JNC rel 进位位为0则转移(和上面相反) 2 24JB bit,rel 直接地址位为1则转移 3 24 JNB bit,rel 直接地址位为0则转移 3 24 JBC bit,rel 直接地址位为1则转移,该位清零 3 24伪指令助记符功能说明字节数振荡周期ORG 设置程序起始地址END 标志源代码结束EQU 定义常数SET 定义整型数DATA 给字节类型符号定值BYTE 给字节类型符号定值WROD 给字类型符号定值BIT 给位地址取名ALTNAME 用自定义名取代保留字DB 给一块连续的存储区装载字节型数据DW 给一块连续的存储区装载字型数据DS 预留一个连续的存储区或装入指定字节。
INCLUDE 将一个源文件插入程序中 ITITLE 列表文件中加入标题行NOLIST 汇编时不产生列表文件NOCODE 条件汇编时,条件为假的不产生清单寄存器:符号地址功能介绍B F0H B寄存器ACC E0H 累加器PSW D0H 程序状态字IP B8H 中断优先级控制寄存器P3 B0H P3口锁存器IE A8H 中断允许控制寄存器P2 A0H P2口锁存器SBUF 99H 串行口锁存器SCON 98H 串行口控制寄存器P1 90H P1口锁存器TH1 8DH 定时器/计数器1(高8位)TH0 8CH 定时器/计数器1(低8位)TL1 8BH 定时器/计数器0(高8位)TL0 8AH 定时器/计数器0(低8位)TMOD 89A 定时器/计数器方式控制寄存器TCON 88H 定时器/计数器控制寄存器DPH 83H 数据地址指针(高8位)DPL 82H 数据地址指针(低8位)SP 81H 堆栈指针P0 80H P0口锁存器PCON 87H 电源控制寄存器。