
51汇编学习笔记
文章平均质量分 73
51汇编学习
嵌入式Stark
亿点点积累
展开
-
汇编指令-NOT、SHL、LSR
NOT在汇编语言中,NOT是一个按位逻辑非操作指令。它对一个操作数中的每一位执行逻辑取反操作,即将0变成1,将1变成0。例如,在某些CPU架构(如x86)的汇编语言中,对于一个字节或字(以及其他大小的寄存器或内存位置),NOT对于给定的操作数执行NOT操作后,结果确实会是0100111,因为每一位都被翻转了。请注意,不同的CPU架构可能有不同的指令来实现按位取反操作,并且指令的语法也有所不同。但在大多数情况下,汇编程序员通过查阅相应架构的指令集手册来正确编写和使用这些指令。原创 2024-02-20 11:30:53 · 4484 阅读 · 0 评论 -
汇编中$+6的意义与理解
在汇编语言中,$+6这样的表达式通常表示相对于当前指令地址的偏移量。这里的符号代表当前程序计数器(PC)的位置,因此($+6)意味着从当前指令执行完毕后,下一条要执行的指令位置向前或向后移动6个字节。原创 2024-01-26 09:41:27 · 733 阅读 · 0 评论 -
汇编中的标签与C语言的函数对比与区别
抽象层次:汇编标签只是一个简单的地址标识符,而C语言函数提供了高级别的抽象和封装,包括参数传递和返回机制。功能:标签主要用于程序流程控制(如分支、循环和子程序调用),而函数则完成更为复杂的计算任务,并且能够处理输入输出数据。代码组织:使用函数允许程序员将大型项目划分为多个小单元进行开发和维护,每个函数负责独立的功能;而在汇编中,标签也可以划分代码区域,但这种划分更侧重于代码定位而非功能划分。可读性与可维护性:由于C语言函数具有明确的参数列表和返回类型声明,代码更加易读且便于维护;原创 2024-01-24 18:00:42 · 520 阅读 · 0 评论 -
汇编中MACRO ENDM与C语言中的#define理解与对比
在汇编语言中, 和 是一对伪指令,用于定义和结束宏(macro)。宏是一种预处理机制,允许程序员创建可重用的代码块,并且可以根据需要替换特定参数来生成不同的机器码序列。语法示例: 用于开始宏定义,后面跟着宏的名字以及可能的参数列表。参数之间通常用逗号分隔,这些参数是将来在宏调用时传递的实际值的占位符。在与之间的所有汇编语句会被当作一个整体对待,当宏被调用时,宏体中的参数会根据实际提供的实参进行替换。调用宏时,只需写出宏名,并提供相应数量的实参,如下所示:例如:在这个例子中,当宏被调用时,它会在相原创 2024-01-23 10:30:05 · 1869 阅读 · 0 评论 -
汇编指令 CALL、ACALL、LCALL三条指令的理解与异同点
在汇编语言编程中,CALL、ACALL 和 LCALL 是用于子程序调用的不同指令,它们的主要区别在于寻址方式和有效地址范围:总结来说,三者的异同点主要体现在:原创 2024-01-19 11:24:27 · 8382 阅读 · 0 评论 -
C51汇编伪指令-[DS、BIT、USING、SEGMENT、RSEG、(CSEG-DSEG-XSEG-ISEG-BSEG)、ORG、END、EQU、DB]
格式: 字符名称 BIT 位地址其功能用于给字符名称定义位地址。经定义后,允许在指令中用SPK代替P3.7。原创 2024-01-11 11:15:23 · 2765 阅读 · 0 评论 -
51单片机汇编指令表--STC宏晶MCU
这些指令用于在寄存器之间、寄存器与存储单元之间以及立即数与寄存器之间的数据传输。用于程序流程控制,如条件跳转和无条件跳转。包括加法、减法、比较等操作。涉及逻辑与、或、异或等操作。原创 2024-01-10 15:02:13 · 3504 阅读 · 0 评论