产品选型

单片机伪指令 写程序我们常常听到伪指令这个词,伪指令有几种呢?一起来看看

小编 2024-10-06 产品选型 23 0

写程序我们常常听到伪指令这个词,伪指令有几种呢?一起来看看

单片机是无法识别汇编语言程序的,所以用汇编语言写好程序后,还要用汇编程序将汇编语言程序(以下称作源程序)汇编(翻译)成单片机能识别的机器语言程序(又称目标程序),然后再通过编程器将目标程序写入单片机的程序存储器(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位,以便进行位操作。希望解释对你有帮助。定义特殊功能寄存器的位变量。典...

猜你喜欢