jnz和djnz_求汇编语言指令,最好详细些
展开全部
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 Rn Rn←Rn+1 12
INC direct direct←direct+1 12
INC @Ri @Ri←@Ri+1 12
INC DPTR DPTR←DPTR+1 12
DEC A A←A-1 12
DEC Rn Rn←Rn-1 12
DEC direct direct←direct-1 12
DEC @Ri @Ri←@Ri-1 12
MUL AB 两个无符号的8位数据相乘,其中高阶8位放入B缓存器,低阶8位则放入累积器ACC 24
DIV AB 两个无符号的8位数据相除,把ACC值除以B缓存器值,商数放回ACC,余数放在B 48
DA A 累加器作十进制调整 48
逻辑运算指令
指令 说明 周期
ANL A,Rn A←A and Rn 12
ANL A,direct A←A and direct 12
ANL A,@Ri A←A and Ri 12
ANL A,#data A←A and data 12
ANL direct,A direct←direct and A 12
ANL direct,#data direct←direct and data 24
ORL A,Rn A←A or Rn 12
ORL A,direct A←A or direct 12
ORL A,Rn A←A or Rn 12
ORL A,@Ri A←A or Ri 12
ORL A,#data A←A or data 12
ORL direct,A direct←direct or A 12
ORL direct,#data direct←direct or data 24
XRL A,Rn A←A xor Rn 12
XRL A,direct A←A xor direct 12
XRL A,@Ri A←A xor Ri 12
XRL A,#data A←A xor data 12
XRL direct,A direct←direct xor A 12
XRL direct,#data direct←direct xor data 12
CLR A 清除累加器 12
CPL A 累加器反相 12
RL A 累加器向左旋转 12
RLC A 累加器和C左旋 12
RR A 累加器向右旋转 12
RRC A 累加器和C右旋 12
SWAP A 累加器的高低四位互换 12
数据转移指令
指令 说明 周期
MOV A,Rn A←Rn 12
MOV A,direct A←direct 12
MOV A,@Ri A←Ri 12
MOV A,#data A←data 12
MOV Rn,A Rn←A 12
MOV Rn,direct Rn←direct 24
MOV Rn,#data Rn←data 12
MOV direct,A direct←A 12
MOV direct,Rn direct←Rn 24
MOV direct,direct direct←direct 24
MOV direct,@Ri direct←Ri 24
MOV direct,#data direct←data 24
MOV @Ri,A Ri←A 12
MOV @Ri,direct Ri←direct 24
MOV @Ri,#data Ri←data 12
MOV DPTR,#data 16 Ri←16bit data 24
MOVC A,@A+DPTR A←程序内存的数据 24
MOVC A,@A+PC A←程序内存的数据 24
MOVX A,@Ri A←外部RAM的数据(8bit地址) 24
MOVX A,@DPTR A←外部RAM的数据(16bit地址) 24
MOVX @Ri,A 外部的RAM(8bit)←A 24
MOVX @DPTR,A 外部的RAM(16bit)←A 24
PUSH direc 推迭区←direct 24
POP direc direct←堆栈区 24
XCH A,Rn A和Rn互换 12
XCH A,direct A和direct互换 12
XCH A,@Ri A和Ri互换 12
XCHD A,@Ri A和Ri的低四位互换 12
位运算指令
指令 说明 周期
CLR C 清除进位旗标 12
CLR bit 清除直接位 12
SETB C 设定进位旗标 12
SETB bit 设定直接位 12
CPL C 进位旗标反相 12
CPL bit 直接位反相 12
ANL C,bit C←C and bit 24
ANL C,/bit C←C and bit(反相) 24
ORL C,bit C←C or bit 24
ORL C,/bit C←C or bit(反相) 24
MOV C,bit C←bit 12
MOV bit,C bit←C 24
JC rel 若C=1跳至rel 24
JNC rel 若C=0跳至rel 24
JB bit,rel 若bit=1跳至rel 24
JNB bit,rel 若bit=0跳至rel 24
JBC bit,rel 若bit=1跳至rel,且清除此位 24
程序跳跃指令
指令 说明 周期
ACALL addr11 绝对式子程序呼叫 24
LCALL addr16 远程子程序呼叫 24
RET 从子程序返回 24
RETI 从中断子程序返回 24
AJMP addr11 绝对式跳跃 24
LJMP addr16 远程跳跃 24
SJMP rel 短程跳跃 24
JMP @A+DPTR 间接跳跃 24
JZ rel 若A=0跳至rel 24
JNZ rel 若A不等于0跳至rel 24
CJNE A,direct,rel 若A不等于direct跳至rel 24
CJNE A,#data,rel 若A不等于data跳至rel 24
CJNE Rn,#data,rel 若Rn不等于data跳至rel 24
CJNE @Ri,#data,rel 若Ri不等于data跳至rel 24
DJNZ Rn,rel Rn减1不等于0跳至rel 24
DJNZ direct,rel direct减1不等于0跳至rel 24
NOP 没动作 12
缩写符号说明
缩写符号 说明 备注
Rn 缓存器R0-R7
direct 8bit内部数据存储器,包括
1.内部数据存储器(00-7F)的地址
2.特殊功能缓存器(80-FF)的地址,如P0,PSW,TMOD..等
@Ri 由缓存器R0或R1所寻址的内部RAM数据
#data 8bit常数
#data 16 16bit常数
addr 16 16bit的目的地址,可使跳跃指令跳跃64k
addr 11 11bit的目的地址,可使跳跃指令跳跃2k
rel 具正负号的8位地址偏移量,用于相对地址的跳跃
bit 1个bit:只所有可以位寻址的位。(如PSW.7为CY旗号)
A 累加器(累积器)
C或CY 进位旗号
AC 辅助进位旗号
Bb 指定位B0-B7
D 半字节(4Bit)助忆符号
F0 旗号0
I 中断
PC 程序计数器
P0 I/O port 0
P1 I/O port 1
P2 I/O port 2
P3 I/O port 3
PSW 程序状态字组(类似于旗号缓存器)
SP 堆栈指针缓存器
B 缓存器B
DPTR 数据指针缓存器
X 外部滋要内存的助忆符号
@ 间接地址符号
$ 程序计数迄目前的值
reg 缓存器
8051 INSTRUCTION SET
1.Arithmetic operations:
Mnemonic Byte Cyc
ADD A,@Ri 1 1
ADD A,Rn 1 1
ADD A,direct 2 1
ADD A,#data 2 1
ADDC A,@Ri 1 1
ADDC A,Rn 1 1
ADDC A,direct 2 1
ADDC A,#data 2 1
SUBB A,@Ri 1 1
SUBB A,Rn 1 1
SUBB A,direct 2 1
SUBB A,#data 2 1
INC A 1 1
INC @Ri 1 1
INC Rn 1 1
INC DPTR 1 1
INC direct 2 1
INC direct 2 1
DEC A 1 1
DEC @Ri 1 1
DEC Rn 1 1
DEC direct 2 1
MUL AB 1 4
DIV AB 1 4
DA A 1 1
2.Logical opreations:
ANL A,@Ri 1 1
XRL A,@Ri 1 1
ANL A,Rn 1 1
XRL A,Rn 1 1
ANL A,direct 2 1
XRL A,direct 2 1
ANL A,#data 2 1
XRL A,#data 2 1
ANL direct,A 2 1
XRL direct,A 2 1
ANL direct,#data 3 2
XRL direct,#data 3 2
ORL A,@Ri 1 1
CLR A 1 1
ORL A,Rn 1 1
CPL A 1 1
ORL A,direct 2 1
RL A 1 1
ORL A,#data 2 1
RLC A 1 1
ORL direct,A 2 1
RR A 1 1
ORL direct,#data 3 2
RRC A 1 1
SWAP A 1 1
3.Data transfer:
Mnemonic Byte Cyc
MOV A,@Ri 1 1
MOV DPTR,#data16 3 2
MOV A,Rn 1 1
MOVC A,@A+DPTR 1 2
MOV A,direct 2 1
MOVC A,@A+PC 1 2
MOV A,#data 2 1
MOVX A,@Ri 1 2
MOV @Ri,A 1 1
MOVX A,@DPTR 1 2
MOV @Ri,direct 2 2
MOVX @Ri,A 1 2
MOV @Ri,#data 2 1
MOVX @DPTR,A 1 2
MOV Rn,A 1 1
PUSH direct 2 2
MOV Rn,direct 2 2
POP direct 2 2
MOV Rn,#data 2 1
XCH A,@Ri 1 1
MOV direct,A 2 1
XCH A,Rn 1 1
MOV direct,@Ri 2 2
XCH A,direct 2 1
MOV direct,Rn 2 2
XCHD A,@Ri 1 1
MOV direct,direct3 2
MOV direct,#data 3 2
4.Boolean variable manipulation:
Mnemonic Byte Cyc
CLR C 1 1
ANL C,bit 2 2
SETB C 1 1
ANL C,/bit 2 2
CPL C 1 1
ORL C,bit 2 2
CLR bit 2 1
ORL C,/bit 2 2
SETB bit 2 1
MOV C,bit 2 1
CPL bit 2 1
MOV bit,C 2 2
5.Program and machine control:
Mnemonic Byte Cyc
NOP 1 1
JZ rel 2 2
RET 1 2
JNZ rel 2 2
RETI 1 2
JC rel 2 2
ACALL addr11 2 2
JNC rel 2 2
AJMP addr11 2 2
JB bit,rel 3 2
LCALL addr16 3 2
JNB bit,rel 3 2
LJMP addr16 3 2
JBC bit,rel 3 2
SJMP rel 2 2
CJNE A,direct,rel 3 2
JMP @A+DPTR 1 2
CJNE A,#data,rel 3 2
DJNZ Rn,rel 2 2
CJNE @Ri,#data,rel 3 2
DJNZ direct,rel 3 2
CJNE Rn,#data,rel 3 2
本回答由提问者推荐
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
jnz和djnz_求汇编语言指令,最好详细些相关推荐
- jnz和djnz_单片机的基本指令有哪些
展开全部 不知道你是问的哪种单片机下面给你的是MCS-51的,希望对你有帮助,如有,麻烦采纳,谢32313133353236313431303231363533e4b893e5b19e31333332 ...
- 8086汇编语言指令总结
根据工作需要,从基础学起,设计一台嵌入式CISC模型计算机,稍后上传. 先总结下,汇编语言指令,如下 1. MOV(传送) 指令写法:MOV target,source 功能描述:将源操作数sour ...
- 8051系列单片机汇编语言指令速查表(汇编语言的111条指
8051系列单片机汇编语言指令速查表(汇编语言的111条指_纳兰容若的左手_新浪博客 http://blog.sina.com.cn/s/blog_6486c0b30100gqew.html 编号 指 ...
- 汇编语言L0C,单片机汇编语言指令查表.doc
单片机汇编语言指令查表 目的操作数汇编指令机器码功能机器周期字节数Amov A ,#data74H datadata传至A12Amov A,directE5H direct direct 传至A12A ...
- 汇编中求补指令NEG的小问题..
今天上汇编课,讲到快下课的时候介绍求补指令NEG...大意为:NEG指令的操作是用0减去操作数,结果送回该操作数所在地址.然后teacher又说"大家别忘啦,求补要加1啦~balabalab ...
- python语言编程:itertools.product的简介、使用方法(求笛卡尔积等)之详细攻略
python语言编程:itertools.product的简介.使用方法(求笛卡尔积等)之详细攻略 目录 itertools的简介 itertools的使用方法 1.求笛卡尔积:根据输入的可遍历对象生 ...
- PE文件-CPU寄存器-栈-常用汇编语言指令-push-move-sub-lea-rep-xor
文章目录 1.CPU寄存器 2.常用汇编指令 3.作者答疑 如果需要对恶意软件分析,或者修改现有可执行文件的功能,如果有软件的源代码,固然可以比较好的修改,如果没有,通过汇编指令的修改亦可做到.本 ...
- 小谈16位汇编NEG求补指令
16位汇编,看到别人写的3行代码对一个32位数求补,举例子论证 NEG是求补指令,把他之后的操作数求补(先求反再加1) 本指令影响标志位CF.OF.SF.PF.ZF及AF. 有一个32位的数 高16位 ...
- 研究16位汇编NEG求补指令
转自: http://bbs.pediy.com/showthread.php?t=81209 [文章标题]: 研究16位汇编NEG求补指令 [文章作者]: hzmslx 我是个菜鸟··学16位汇 ...
最新文章
- frame,iframe,frameset之间的关系与区别
- 逆天改命,机械飞升:渐冻症科学家拒绝等死,将自己改造成了「半机械人」...
- linux .sh文件 命令如何写,Linux下面使用命令如何运行.sh文件的两种解决办法
- Spring Boot(七):Mybatis 多数据源最简解决方案
- vue保存内容到本地_Vue两个版本区别
- mysql根据时间戳查询指定日期内数据
- 查看mysql view作用_Mysql中View视图的作用
- git移除某文件夹的版本控制
- 不依赖远程API启动SEER区块链命令行钱包和网页钱包的方法
- Redis--COW(Copy On Write)
- std::string中的反向迭代器rbegin()和rend()
- 使用 jQuery Mobile 与 HTML5 开发 Web App (十八) —— HTML5 Web Workers
- 诗与远方:无题(七十二)
- python的scrapy爬虫模块间进行传参_Python爬虫Scrapy框架之请求传参合日志等级
- QListview获取Item内容变化信号及内容
- pentaho server 9.2 配置mysql数据源
- Win10 删除默认共享文件夹
- python的设计哲学是什么意思_哲学是什么?
- 最近工作用到的sql脚本
- java公路车的气嘴_5分钟了解运动自行车常见的两种气嘴