Advertisement

C51指令集中的CJNE @Rn,#data,rel 3指令

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:XLS


简介:
CJNE @Rn,#data,rel 3是C51单片机汇编语言中用于比较直接寻址寄存器Rn的内容与立即数,并根据结果转移程序的条件跳转指令。 51汇编语言指令集 符号定义表: | 符号 | 含义 | | ---- | ---- | | Rn | R0~R7寄存器(n=0~7)| | Direct | 直接地址,内部数据区的地址RAM(00H~7FH)或SFR(80H~FFH),包括B、ACC、PSW等。 | | @Ri | 间接地址,使用寄存器Ri(Ri=R0或R1)作为指针指向的数据区域为8位地址RAM(8051:00H~7FH;8052:00H~FFH)。| | #data | 8位常数 | | #data16 | 16位常数 | | Addr16 | 16位的目标地址 | | Addr11 | 11位的目标地址 | | Rel | 相关地址,用于条件转移指令中的偏移量。| | bit | 内部数据RAM(20H~2FH)或特殊功能寄存器的直接地址的某一位 | 算术运算指令 - ADD A,Rn:1字节 1周期 将累加器A与寄存器Rn的内容相加,结果保留在累加器A中。 - ADD A,direct:2字节 1周期 将累加器A与直接地址的数据相加,结果保存在累加器A里。 - ADD A,@Ri:1字节 1周期 将累加器A的内容加上由寄存器Ri指向的间接地址数据,并将和值保留在累加器中。 ...(以下省略部分指令) 布尔代数运算 - CLR C:清除进位C为0。 - SETB C:设置进位C为1。 - CPL C:反转进位C的状态,即如果原来是0则变成1;如果是1则变为0。 - ANL C,bit:将进位标志与直接地址的某一位进行逻辑“与”操作,并把结果保存在进位标志中。 程序跳跃指令 - ACALL addr11:调用2K范围内子程序。 - LCALL addr16:调用整个64KB范围内的子程序。 - RET:从当前执行的子程序返回到主程序或上一级中断服务例程。 - RETI:从中断处理函数返回至被中断前的状态。 ...(以下省略部分指令)

全部评论 (0)

还没有任何评论哟~
客服
客服
  • C51CJNE @Rn,#data,rel 3
    优质
    CJNE @Rn,#data,rel 3是C51单片机汇编语言中用于比较直接寻址寄存器Rn的内容与立即数,并根据结果转移程序的条件跳转指令。 51汇编语言指令集 符号定义表: | 符号 | 含义 | | ---- | ---- | | Rn | R0~R7寄存器(n=0~7)| | Direct | 直接地址,内部数据区的地址RAM(00H~7FH)或SFR(80H~FFH),包括B、ACC、PSW等。 | | @Ri | 间接地址,使用寄存器Ri(Ri=R0或R1)作为指针指向的数据区域为8位地址RAM(8051:00H~7FH;8052:00H~FFH)。| | #data | 8位常数 | | #data16 | 16位常数 | | Addr16 | 16位的目标地址 | | Addr11 | 11位的目标地址 | | Rel | 相关地址,用于条件转移指令中的偏移量。| | bit | 内部数据RAM(20H~2FH)或特殊功能寄存器的直接地址的某一位 | 算术运算指令 - ADD A,Rn:1字节 1周期 将累加器A与寄存器Rn的内容相加,结果保留在累加器A中。 - ADD A,direct:2字节 1周期 将累加器A与直接地址的数据相加,结果保存在累加器A里。 - ADD A,@Ri:1字节 1周期 将累加器A的内容加上由寄存器Ri指向的间接地址数据,并将和值保留在累加器中。 ...(以下省略部分指令) 布尔代数运算 - CLR C:清除进位C为0。 - SETB C:设置进位C为1。 - CPL C:反转进位C的状态,即如果原来是0则变成1;如果是1则变为0。 - ANL C,bit:将进位标志与直接地址的某一位进行逻辑“与”操作,并把结果保存在进位标志中。 程序跳跃指令 - ACALL addr11:调用2K范围内子程序。 - LCALL addr16:调用整个64KB范围内的子程序。 - RET:从当前执行的子程序返回到主程序或上一级中断服务例程。 - RETI:从中断处理函数返回至被中断前的状态。 ...(以下省略部分指令)
  • ATA/ATAPI - 3
    优质
    《ATA/ATAPI指令集 - 3》详细介绍了ATA(高级技术附件)和ATAPI(ATA包交换接口)规范中的各种命令及其操作方法,是理解和设计硬盘、光驱等设备的重要参考文献。 ATA8-ACS-3命令集
  • C51汇编
    优质
    《C51汇编指令指南》是一本全面介绍C51微控制器汇编语言编程的书籍,详细解析了各种指令及其应用技巧。 本段落将介绍8051内核单片机的汇编指令集,并讲解每条指令的具体用法及注意事项,同时通过实例来帮助理解这些概念。
  • SCSI与SCSI
    优质
    本文将介绍SCSI(小型计算机系统接口)的基本概念,并深入探讨其指令集的工作原理和组成部分。适合初学者和技术人员参考学习。 SCSI指令集详解 SCSI详解 SCSI指令集 SCSI详解 SCSI指令集 SCSI详解
  • Vue 3:Directives
    优质
    本文将详细介绍Vue 3框架中的指令系统,包括其工作原理、常用内置指令及自定义指令的应用方法。 指令:vue指令3。 安装: CDN: ```html ``` NPM: ```shell npm i @vbardodirectives ``` 用法: 安装所有指令: ```javascript import { createApp } from vue; import App from ./App.vue; import Directives from @vbardodirectives; createApp(App) .use(Directives) .mount(#app); ``` 导入并使用您需要的任何指令: ```javascript import { createApp } from vue; import App from ./App.vue; // 注意:此处原文似乎有误,未提供完整的代码片段。正确的做法是根据实际需求从包中选择特定导出项。 ```
  • C51汇编伪详解
    优质
    《C51汇编伪指令详解》是一本深入剖析C51汇编语言中各种伪操作指令及其应用的技术书籍,适合嵌入式开发人员阅读学习。 ### C51汇编伪指令详解 #### 一、DS — 预留存储区命令 **DS** 命令用于定义一个特定大小的存储区域供程序使用,尤其在需要为特定目的预留内存空间时非常有用。 **格式**: ``` [标号:] DS 表达式值 ``` **功能**: 从指定地址开始预留一定数量的存储单元,存储单元的数量由表达式的值确定。 **示例**: ``` TMP: DS 1 ``` 此命令表示在标号`TMP`地址处预留一个字节大小的空间。 #### 二、BIT — 定义位命令 **BIT** 命令允许定义特定的位地址名称,便于后续代码中使用该名字代替具体的位地址。这提高了程序可读性和维护性。 **格式**: ``` 字符名称 BIT 位地址 ``` **功能**: 通过此指令可以为某个特定的位地址赋予一个新名,在编写程序时可以直接用这个名字替代原来的位地址值。 **示例**: ``` SPK BIT P3.7 ``` 这条命令定义了一个名为`SPK`的新名字代表`P3.7`,之后在代码中可用`SPK`来代替具体的位地址。 #### 三、USING 指令 **USING**指令用于指定使用哪一个工作寄存器组。这对于多任务程序来说尤为关键,可以防止不同任务间的工作寄存器发生冲突。 **格式**: ``` USING 表达式 (值必须为0-3,默认值为0) ``` **功能**: 通过该命令明确告诉汇编器应使用哪一组工作寄存器。这对于确保程序中正确管理不同的任务非常有用。 **示例**: ``` USING 0 ``` 这条指令指定使用第0组工作寄存器。 #### 四、SEGMENT 指令 **SEGMENT**指令用于声明一个可重定位的段及选择性地定义其类型。这有助于更好地组织代码和数据,以适应特定需求。 **格式**: ``` [标号:] SEGMENT 类型 ``` **功能**: 通过该命令可以创建一个新的段,并指定它的类型(如CODE或DATA)。这些类型的声明帮助编译器正确处理程序中的不同部分。 #### 五、DB 指令 **DB**指令用于初始化代码空间内的数据。通常用在需要固定值的数据表中,例如字符映射等。 **格式**: ``` [标号:] DB 表达式列表 ``` **功能**: 使用`DB`可以将一系列字节或字符串放置到程序的特定位置。 #### 六、END 指令 **END**指令用于结束汇编过程。在每个C51汇编文件中,必须且只能有一个这样的指令来标记代码的结尾。 #### 七、EQU 指令 **EQU**指令将一个数值或寄存器名赋给指定符号名称。这有助于简化复杂的地址引用和常量定义。 **格式**: ``` 符号名 EQU 表达式 或 寄存器名 ``` **功能**: 使用`EQU`可以为变量分配特定值,这些变量可以在程序中作为内存位置、代码地址或立即数来用。例如: ```assembly LIMIT EQU 1200 COUNT EQU R5 ``` 此处定义了符号`LIMIT`和`COUNT`并赋予它们相应的数值。 #### 八、DATA 指令 **DATA**指令将内部RAM的某个地址赋给指定名称,以便后续引用。这可以简化对特定内存位置的操作处理。 ```assembly [标号:] DATA 表达式 ``` 例如: ```assembly PORT1 DATA 40H ``` 此命令定义了符号`PORT1`并将其绑定到内部RAM地址`40H`处。 #### C51汇编程序基本框架 使用C51汇编语言时,可以通过直接定义变量来避免使用`EQU`指令可能出现的问题(如地址冲突)。具体方法包括: - **定义字节型变量**: ```assembly [标号:] DS 表达式值 ``` 这种方法不仅简化了代码的编写过程,并且提高了程序可读性和维护性。
  • MIPS(含31条)1
    优质
    本教程详细介绍了MIPS指令集的基础知识,包括其核心的31条基本指令的功能和用法,适合初学者快速掌握MIPS架构编程。 MIPS指令集包括31条指令。
  • SCL
    优质
    SCL指令集是专为STEP 7编程环境设计的一套控制语言命令集合,用于SIMATIC可编程逻辑控制器(PLC)编程,支持结构化文本编写与自动化任务处理。 SCL指令集是一种编程语言的语法集合,主要用于在自动化工程领域编写可读性强、易于维护的代码。它支持一系列用于过程控制系统的功能块库,并且可以与其他PLC编程语言(如LAD, FBD)结合使用以增强程序的功能性和灵活性。