jnz和djnz_求汇编语言指令,最好详细些

这篇博客详细介绍了8051微控制器的汇编语言指令,特别是控制转移类指令中的jnz(若累加器A不等于0则跳转)和djnz(减一后若不等于0则跳转)指令,以及其它算术、逻辑和数据转移指令。内容包括指令的语法、周期和应用示例。
摘要由CSDN通过智能技术生成

展开全部

051指令e68a8462616964757a686964616f31333264636161集

资料转移指令

MOV 移动

MOVC 程式记忆体移动

MOVX 外部RAM和扩展I/O口与累加器A的数据传送指令

PUSH 放入堆叠

POP 由堆叠取回

XCH 8位元交换

XCHD 低4位元交换

SWAP 高低4位元交换

算术指令

ADD 两数相加

ADDC 两数相加再加C

SUBB 两数相减再减C

INC 加一指令

DEC 减一指令

MUL (MUL AB乘法指令仅此一条)相乘指令,所得的16位二进制数低8位存累加器A高8位存B

DIV (DIV AB 除法指令仅此一条)相除指令,所得商存A,余数存B

DA (DA A 只此一条指令)调整为十进数

逻辑指令

ANL做AND(逻辑与)运算

ORL做OR(逻辑或)运算

XRL 做(逻辑异或)运算

CLR 清除为0

CPL 取反指令

RL 不带进位左环移

RLC 带进位左环移

RR 不带进位右环移

RRC 带进位右环移

控制转移类指令

JC C=1时跳

JNC C=0时跳

JB 位元=1时跳

JNB 位元=0时跳

JBC 位元=1时跳且清除此位元

LCALL 长调用子程序

ACALL 绝对调用子程序

RET 由副程式返回

RETI 由中断副程式返回

AJMP 绝对转移

SJMP 相对转移

JMP @A+DPTR 散转,相对DPTR的间接转移

JZ A=0时跳

JNZA 0时跳

CJNE 二数比较,不相等时跳

DJNZ 减一,不等於0时跳

NOP 空操作

位变量指令

SETB 设定为1

ORG 程序开始,规定程序的起始地址

END 程序结束

EQU 等值指令(先赋值后使用)例:SUM EQU 30H

DB 定义字节指令

DW 定义字内容

DS 定义保留一定的存贮单元数目

BIT 位地址符号指令 例:SAM BIT P1.0

RET 子程序返回指令

RETI 中断子程序返回指令

$ 本条指令地址

算术运算指令

指令 说明 周期

ADD A,Rn A←A+Rn 12

ADD A,direct A←A+direct 12

ADD A,@Ri A←A+Ri 12

ADD A,#data A←A+data 12

ADDC A,Rn A←A+Rn+C 12

ADDC A,direct A←A+direct+C 12

ADDC A,@Ri A←A+Ri+C 12

ADDC A,#data A←A+data+C 12

SUBB A,Rn A←A-Rn-C 12

SUBB A,direct A←A-direct-C 12

SUBB A,@Ri A←A-Ri-C 12

SUBB A,#data A←A-data-C 12

INC A A←A+1 12

INC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值