导航:首页 > 操作系统 > 单片机汇编语句

单片机汇编语句

发布时间:2022-06-15 23:11:38

㈠ XRL单片机汇编语句啥意思

为解决某些特定的问题代码中必须嵌入汇编语言以代替C语言完成的单片机的编程,汇编语言对于程序调试是不可或缺的。它包括:算术操作类指令,布尔变量操作类指令,逻辑操作数指令,控制转移类指令。

逻辑异或指令,即相对应的二进制位不同该位异或后的结果是1,相同则为0。

XRL A,#data;累加器A中的容容和立即数执行逻辑异或操作。结果存放在累加器A中,如A中的内容为10010101B,data为10110110B,则运算的结果为00100011。

(1)单片机汇编语句扩展阅读:

对于程序调试汇编语言更是不可或缺。

直接使用汇编指令编写单片机程序,对硬件的控制更加直接,可以直接操作物理地址,寄存器,端口等;其它更高级的语言(如:C语言)对硬件的控制是依赖于类库来实现的。并且,对于一些对程序大小和运行速度有非常严苛要求的项目而言,都必须使用汇编指令。

C语言只是为了方便编写,与机器打交道的其实都是2进制得代码,汇编语言就是这些代码好记忆的名称和规则,只是比C语言难理解些。

㈡ 单片机汇编语言问题

您好,首先教你如何理解JNB和JB,
JNB就是Jump Not Bit,这样不好理解,解释一下就明白了:jump表示跳转,not表示0,bit表示该位。它实际是条件判断语句,意思是:如果该为为0则跳转,否则继续下一条。
例:JNB P1.1,mark[如果P1.1位为零则跳转到mark标志指向的指令,否则继续执行下一行]
JB则与JNB相反,即判断0变为1,表示:如果该为为0则跳转,否则继续下一条。
助记口诀是:JNB为0跳转,否继续;JB为1跳转,否继续。
下面实现你要的流水灯程序,假定P1口低六位接灯,高电平时亮。
ORG 0000H
MOV P1,00H
MOV A,11111110B
LOOP:
RLC ACC
JNB ACC.0,ENABLEBIT1
JNB ACC.1,ENABLEBIT2
JNB ACC.2,ENABLEBIT3
JNB ACC.3,ENABLEBIT4
JNB ACC.4,ENABLEBIT5
JNB ACC.5,ENABLEBIT6
ENABLEBIT1:
MOV P1,00000001B
JMP LOOP
ENABLEBIT2:
MOV P1,00000010B
JMP LOOP
ENABLEBIT3:
MOV P1,00000100B
JMP LOOP
ENABLEBIT4:
MOV P1,00001000B
JMP LOOP
ENABLEBIT5:
MOV P1,00010000B
JMP LOOP
ENABLEBIT6:
MOV P1,00100000B
JMP LOOP

㈢ 汇编语言中CJNE语句是怎么判断的

CJNE这个指令是51单片机的汇编指令,是比较两个操作数,如果相等这转移。用法如下:

CJNE A,#30H,NXT

CJNE R1,#30H,NNN

等等。

CJNE是MCS-51系列单片机指令系统中的比较条件转移指令;若两个操作数相等,程序按顺序往下d执行;若两个操作数不相等,则进行转移。由于该指令执行还要影响CY标志,因此在转移之后可以通过对CY位的检查来判别正负数。

(3)单片机汇编语句扩展阅读:

由于汇编指令系统庞大,因而需构建指令系统体系,其指令数量庞大,格式复杂,可记忆性差等。指令中最难的是指令所支持的寻址方式,其实质就是指令中操作数如何获取。对于处理器而言,就是如何找到他所需的数据。

但对于计算机底层的汇编语言而言,这种寻址方式将涉及大量的计算存储格式,与 复杂的存储管理方式紧密相关,因而难以理解。最后,汇编指令还关系到如何影响标志位,但处理器标志位非常复杂,因而对其机制掌握就比较困难。

㈣ 单片机汇编语言新手求教

ORG 0 ORG是汇编器的伪指令,是告诉编译器下一条汇编语句的偏移地址,
就是说START: CLR P1.0这句语句从0这个地址开始存放,后面的依次存放。
程序的烧写要按照它的地址偏移指示烧写,程序运行也按它的指示运行。
一般默认都是从0开始的,所以可以省略。
START: CLR P1.0 CLR和SETB都是位变量修改指令,
CLR是清零(变0),SETB 是置位(变1)。
START和DELAY应该叫作标识符,具体忘了,它的作用就是一个路标记号。
LCALL DELAY LCALL调用指定地址的子程序,即DELAY所指的地址
SETB P1.0 P1.0置1
LCALL DELAY
LJMP START LJMP跳到后面所指的地址,即START所在的位置
DELAY: MOV R5,#20 以下为DELAY延时程序。
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET 返回,继续执行下面的程序
END 结束

㈤ 单片机汇编语言怎么写

ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H

MOV TH0,#HIGH(65536-50000)

MOV TL0,#LOW(65536-50000)

SETB TR0

SETB ET0

SETB EA

START:
MOV R2,#0FEH

MOV R3,#3

MOV R4,#8
LOOP:

CLR 00H

MOV R7,#4

MOV A,R2

MOV P0,A

RL A

MOV R2,A

JNB 00H,$

DJNZ R4,LOOP

MOV R4,#8

MOV R2,#0FEH

DJNZ R3,LOOP

MOV R2,#7FH

MOV R3,#5

MOV R4,#8
LOOP1:
CLR 00H

MOV R7,#4

MOV A,R2

MOV P0,A

RR A

MOV R2,A

JNB 00H,$

DJNZ R4,LOOP1

MOV R4,#8

MOV R2,#7FH

DJNZ R3,LOOP1

LJMP START

T0ISR:
CLR TR0

MOV TH0,#HIGH(65536-50000)

MOV TL0,#LOW(65536-50000)

SETB TR0

DJNZ R7,T0E

MOV R7,#4

SETB 01H

T0E:
RETI

END

㈥ 单片机汇编语言程序的三种基本结构

汇编语言程序有顺序程序、分支程序、循环程序三种。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。

分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。



(6)单片机汇编语句扩展阅读:

注意事项:

汇编指令不区分大小写,目的操作数是存结果的,原操作数是被操作的。

二进制数后跟b,十六进制数后跟h,十进制数不需特殊标记。

汇编源程序中,数据不能以字母开头,需要在前面加上0,如0a000h。

㈦ 单片机汇编语言

汇编语言是用英文助记符表示指令的符号语言,弄懂每个助记符的含义汇编语言就掌握一大半了.助记符的英文对照表,看了就明白了.

助记符意义\x09助记符 \x09对照英文
传送\x09 MOV\x09 MOVe
代码区数据传送\x09MOVC\x09MOVe Code
外部RAM区数据传送MOVX\x09MOVe eXternal
压栈\x09 PUSH\x09 PUSH
退栈\x09 POP\x09 POP
交换\x09 XCH\x09 eXCHange
十进制交换\x09XCHD\x09eXCHange Decimal
加法\x09 ADD\x09 ADD
带进位加 ADDC ADD with Carry
带借位减\x09 SUBB SUBtract with Borrow
加1\x09 INC \x09INCrement
减1\x09 DEC\x09DECrement
乘\x09 MUL\x09MULtiply
除\x09 DIV\x09DIVide
十进制调整 DA\x09Decimal Adjust
逻辑与\x09 ANL\x09Logicle ANd
逻辑或\x09 ORL\x09Logicle OR
逻辑异或\x09 XRL\x09Logicle eXclusive-oR
求补\x09 CPL\x09ComPLement
清零\x09 CLR\x09CLeaR
置位\x09 SETB\x09SET Bit
左移\x09 RL\x09Rotate Left
带进位左移 RLC \x09Rotate Left throuth the Carry flag
右移\x09 RR\x09Rotate Right
带进位右移 RRC\x09Rotate Right throuth the Carry flag
(半字节)互换 SWAP\x09SWAP
绝对转移 \x09AJMP \x09Absolute JuMP
短转移 \x09SJMP\x09Short JuMP
长转移\x09 LJMP\x09Long JuMP
跳转\x09 JMP\x09JuMP
累加器为零转移\x09JZ\x09Jump if acc is Zero
累加器不为零转移\x09JNZ\x09Jump if acc is Not Zero
进位位为1转移\x09JC\x09Jump if Carry(if Cy=1)
进位位为0转移\x09JNC\x09Jump if Not
Carry(if Cy=0)
指定为为1转移\x09JB\x09Jump if Bit is set
指定位为0转移\x09JNB\x09Jump if Not Bit (if bit=0)
指定位为1转移并清该位JBC\x09Jump if Bit is set add Clear bit
比较不等转移\x09CJNE\x09Compare and Jump if NotEqual
减1不为0转移\x09DJNZ\x09Decrement and Jump if Not Zero
绝对调用\x09 ACALL\x09Absolute CALL
长调用\x09 LCALL\x09Long CALL
子程序返回\x09RET\x09RETurn
中断返回\x09 RETI \x09RETurn from Interrupt
空操作\x09 NOP \x09No OPeration

㈧ 单片机中的汇编语言

这2条是“伪指令”,用于定义“变量”,类似于C语言中的(如果你熟悉C语言)变量声明语句:
bit和data是保留字,其前面是“变量名”,其后面是该变量在内存RAM中的地址。
bit定义的是“位变量”(只有1个二进制位,是51中特有的,类似于C中的布尔型变量);
data定义的是“字节变量”(类似于C中的char型变量)。

㈨ 单片机汇编语言

mov a,40h; A=50H
mov r0,a ;R0=50H
mov @r0,20h ;(50H)=30h
mov 50h,r0 ;(50H)=50H
mov a,@r0 ; A=50H
按照顺序执行最后的结果是:
(20H)=30H,(30H)=40H,(40H)=30H,(50H)=50H ,A=50H。

阅读全文

与单片机汇编语句相关的资料

热点内容
中企动力服务器与阿里云服务器 浏览:242
java调用另一个类中的方法 浏览:846
三菱空调压缩机型号 浏览:772
南诏pdf 浏览:747
windows如何代码bat启动服务器 浏览:456
软件太卡与服务器有什么关系 浏览:402
给心理治疗师pdf 浏览:222
robinhood加密交易条件 浏览:315
卫生间解压方法 浏览:454
u盘如何做加密文件放照片 浏览:331
文件夹自己加了exe 浏览:262
小猪cms直播系统源码 浏览:878
山东广电云服务器 浏览:354
javadate与mysqldate 浏览:244
javalong比较 浏览:12
加密大师看不见加密文件 浏览:307
想做一个业余程序员 浏览:793
python选出行 浏览:249
cat命令windows 浏览:910
python算术游戏 浏览:532