写程序我们常常听到伪指令这个词,伪指令有几种呢?一起来看看
单片机是无法识别汇编语言程序的,所以用汇编语言写好程序后,还要用汇编程序将汇编语言程序(以下称作源程序)汇编(翻译)成单片机能识别的机器语言程序(又称目标程序),然后再通过编程器将目标程序写入单片机的程序存储器(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中。
相关问答
51 单片机 dw用法?DW是51单片机汇编语言伪指令,意为Defineword,其功能是ROM空间内定义一个或一组16位(双字节)常数。DW有两种用法,示例如下:ORG1720HDW007FH这个例子...
单片机 乘法 指令 :假定(A)=50H(B)=0A0H.执行 指令 MULAB后,累加...[最佳回答]50H*0A0H=320H你可以把十六进制都换成十进制来计算!即80*10=800换成十六进制就是320H执行指令之后,A=20H,B=03H,(结果高八位放在寄存器B,低八...
汇编equ汇编equ什么意思汇编equ 指令 ?单片机中,EQU是一个伪指令,意思跟“=”差不多,相当于C语言中的sbit和sfr两个指令。单片机中,EQU是一个伪指令,意思跟“=”差不多,相当于C语言中的sbit和sfr...
单片机 汇编 指令 ACALL怎么用?ACALL是51汇编的子程序调用指令,其使用范围是±2K范围,超出这个范围的调用将会出错,这时可以使用LCALL即长调用语句。调用格式如下:ACALL标号(子程序名)例...
单片机 的 指令 集有哪些?不知道你想问什么样的单片机?我假设51.不知道你要c语言的还是汇编的,我假设汇编的指令有很多,不可能一下子全部学习完毕,要警惕松鼠心态。希望我的回答能...
单片机 堆栈 指令 ?单片机堆栈操作指令如下:PUSHdirect(堆栈指令)其作用是先将栈指针SP的内容加1,然后将直接寻址单元中的数压入到sP所指的单元中。若数据已入栈,则SP指...单...
51 单片机 c语言常用 指令 详解?51单片机是一种常用的微控制器,C语言是其常用的编程语言。以下是51单片机C语言常用指令的详解:数据传输指令:用于数据的输入/输出和数据的内部传输。例如MOV、...
单片机 chk 指令 ?数据传送的流程是:单片机A将数据送到端口后,通过STB信号中断单片机B,单片机B进入中断并从端口读取数据,读完后,利用BUSY信号进行应答,单片机A在检...
db 指令 ?DB作为汇编语言中的伪操作命令,它用来定义操作数占用的字节数。在这里B是byte的缩写,即字节,所以,该伪操作所定义的每个操作数占有1个字节(8位)。如:MES...
单片机 C编程sbit 指令 是什么意思?定义特殊功能寄存器的位变量。典型应用是:sbitP0_0=P0^0;//即定义P0_0为P0口的第1位,以便进行位操作。希望解释对你有帮助。定义特殊功能寄存器的位变量。典...