写程序我们常常听到伪指令这个词,伪指令有几种呢?一起来看看
单片机是无法识别汇编语言程序的,所以用汇编语言写好程序后,还要用汇编程序将汇编语言程序(以下称作源程序)汇编(翻译)成单片机能识别的机器语言程序(又称目标程序),然后再通过编程器将目标程序写入单片机的程序存储器(ROM)中。
在汇编时,汇编程序会将源程序中的每条汇编语言指令转换成相应的机器指令,如果在汇编时需要汇编程序对源程序进行一些处理,可在源程序中加入一些特殊的指令,由于这些指令只是告诉汇编程序在汇编时如何处理源程序,而并不会被转换成机器指令,故将这些指令称为伪指令。常用的伪指令有下面8条。今天我们先看四条
1, 汇编起始指令(Origin)
汇编起始指令
操作码助记符:ORG
格式:ORG 16位地址
功能:该指令用于指示下一条指令在程序存储器中的起始地址。
举例:ORG 2000H
MOV A,36H
“ORG 2000H”的功能是指示它的下一条指令“MOV A,36H”的起始地址为2000H。
2 定义字节指令(Define Byte)
定义字节指令
操作码助记符:DB
格式:DB 字节内容
功能:该指令用于定义字节内容。
举例:ORG 3000H
DB 45H,36H,56H,7AH
第1行指令的功能是指示它的下一条指令的起始地址为3000H;第2行指令的功能是依次让3000H、3001H、3002H、3003H单元中的数据为45H、36H、56H、7AH,即让(3000H)=45H、(3001H)=36H、(3002H)=56H、(3003H)=7AH。
3 定义字指令(Define Word)
定义字指令
操作码助记符:DW
格式:DW 字内容
功能:该指令用于定义字内容。
举例:ORG 4000H
DW 4510H,3621H,5600H
第1行指令的功能是指示它的下一条指令的起始地址为4000H;第2行指令的功能是依次让4000H、4001H、4002H、4003H、4004H、4005H单元中的数据为45H、10H、36H、21H、56H、00H,即让(4000H)=45H、(4001H)=10H、(4002H)=36H、(4003H)=21H、(4004H)=56H、(4005H)=00H。
4 定义预留存储单元指令(Define Space)
定义预留存储单元指令
操作码助记符:DS
格式:DS 保留单元数目
功能:该指令用于定义在存储器中留出一定数目的存储单元。
举例:ORG 30H
DS 08H
DB 23H,E8H
第1行指令的功能是指示它的下一条指令的起始地址为30H;第2行指令的功能是从30H地址开始,留出30H~37H的8个存储单元;第3行指令的功能是让38H、39H单元中的数据分别为23H、E8H。
跟电师傅学单片机(10):单片机数据传送指令(一)
一:单片机指令符号说明
单片机指令符号说明表
二:MCS-51单片机指令
数据传送指令:29条(用得最多)
算术运算指令:24条
逻辑运算指令:24条
控制转移指令:17条(较重要)
位操作指令:17条
常用伪指令:17条
三:单片机数据传送指令
——8位数据传送指令(15条)
4条以A为目的操作数的传送指令
3条以Rn为目的操作数的传送指令
5条以直接地址direct1为目的操作数的传送指令
3条以@Ri为目的操作数的传送指令
——16位数据传送指令(1条)
MOV DPTR,#data16 (唯一一条单片机16位数据传送指令)
属于单片机立即寻址方式,占用3个字节。指令作用是将16位立即数传送至16位地址寄存器DPTR中,DPTR由DPH和DPL组成。指令执行结果是把高8位立即数送入DPH,把低8位立即数送入DPL。
#data16:表示16位立即数。
例如:
MOV DPTR,#6789H;将立即数6789H送到DPTR中。
相关问答
单片机 里EQU是什么 指令 ?作用?伪代码,即用EQU前面的符号来代替后面的地址、表达式、寄存器等。P0、P1本身有定义,你这样定义会出错。伪代码,即用EQU前面的符号来代替后面的地址、表达式、...
单片机 的第一行 指令 是什么?如果是C,一般是#include等一些伪指令什么的。真正地程序开始肯定是main(){}如果是ASM汇编语言,那么第一句一般是ORGXXXX,也可以再前面有一些定义和库的引导...
单片机指令 中MOV @R7,A是合法指令吗?不合法,因为R几这个是工作寄存器,这8个寄存器(共4组,共32个)叫工作寄存器,其中能用来做间接寻址的只能是R0和R1,其他几个不能间接寻址。@R7是错误的不合法,因...
51 单片机 cy 指令 ?51单片机中Cy是进位标志位。在进行加法或减法运算时,若运算结果最高位有进位或借位,则Cy进位。51单片机是对所有兼容Intel8031指令系统的单片机的统称。该...
单片机 命令中str str16 sbit bit这几个命令具体用来做什么的,有什么区别呢?是sfrsfr16不是strstr16sfr是特殊功能寄存器的缩写,定义像P0、P1等等8位特殊功能寄存器的伪指令,地址魏80H~FFHsfr16是定义想DPTR这样的16位特殊功能寄存器...
单片机 怎么设置代码?要设置单片机的代码,首先需要选择合适的开发环境,如Keil、IAR等。然后编写代码,包括初始化设置、功能实现和中断处理等。根据单片机型号和功能需求,选择合适...
单片机 的 指令 集有哪些?不知道你想问什么样的单片机?我假设51.不知道你要c语言的还是汇编的,我假设汇编的指令有很多,不可能一下子全部学习完毕,要警惕松鼠心态。希望我的回答能...
单片机指令 @符号代表什么?@代表间接寻址例子:MOVA,@R0R0里面存的是地址,假设R0里存的数是30H,那么这条指令的意思是:把地址为30H的存储单元里存的数传,送给累加器A;假设R0里存的...@...
单片机 堆栈 指令 ?单片机堆栈操作指令如下:PUSHdirect(堆栈指令)其作用是先将栈指针SP的内容加1,然后将直接寻址单元中的数压入到sP所指的单元中。若数据已入栈,则SP指...单...
单片机 add 指令 怎么用?ADD指令可用于完成把src-byte所示的源操作数和累加器A的当前值相加。并将结果置于累加器A中。根据运算结果,若第7位有进位则置进位标志为1,否则清零;若第3位...