展开全部

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_求汇编语言指令,最好详细些相关推荐

  1. jnz和djnz_单片机的基本指令有哪些

    展开全部 不知道你是问的哪种单片机下面给你的是MCS-51的,希望对你有帮助,如有,麻烦采纳,谢32313133353236313431303231363533e4b893e5b19e31333332 ...

  2. 8086汇编语言指令总结

    根据工作需要,从基础学起,设计一台嵌入式CISC模型计算机,稍后上传. 先总结下,汇编语言指令,如下 1. MOV(传送) 指令写法:MOV  target,source 功能描述:将源操作数sour ...

  3. 8051系列单片机汇编语言指令速查表(汇编语言的111条指

    8051系列单片机汇编语言指令速查表(汇编语言的111条指_纳兰容若的左手_新浪博客 http://blog.sina.com.cn/s/blog_6486c0b30100gqew.html 编号 指 ...

  4. 汇编语言L0C,单片机汇编语言指令查表.doc

    单片机汇编语言指令查表 目的操作数汇编指令机器码功能机器周期字节数Amov A ,#data74H datadata传至A12Amov A,directE5H direct direct 传至A12A ...

  5. 汇编中求补指令NEG的小问题..

    今天上汇编课,讲到快下课的时候介绍求补指令NEG...大意为:NEG指令的操作是用0减去操作数,结果送回该操作数所在地址.然后teacher又说"大家别忘啦,求补要加1啦~balabalab ...

  6. python语言编程:itertools.product的简介、使用方法(求笛卡尔积等)之详细攻略

    python语言编程:itertools.product的简介.使用方法(求笛卡尔积等)之详细攻略 目录 itertools的简介 itertools的使用方法 1.求笛卡尔积:根据输入的可遍历对象生 ...

  7. PE文件-CPU寄存器-栈-常用汇编语言指令-push-move-sub-lea-rep-xor

    文章目录 1.CPU寄存器 2.常用汇编指令 3.作者答疑   如果需要对恶意软件分析,或者修改现有可执行文件的功能,如果有软件的源代码,固然可以比较好的修改,如果没有,通过汇编指令的修改亦可做到.本 ...

  8. 小谈16位汇编NEG求补指令

    16位汇编,看到别人写的3行代码对一个32位数求补,举例子论证 NEG是求补指令,把他之后的操作数求补(先求反再加1) 本指令影响标志位CF.OF.SF.PF.ZF及AF. 有一个32位的数 高16位 ...

  9. 研究16位汇编NEG求补指令

    转自: http://bbs.pediy.com/showthread.php?t=81209 [文章标题]: 研究16位汇编NEG求补指令  [文章作者]:  hzmslx 我是个菜鸟··学16位汇 ...

最新文章

  1. frame,iframe,frameset之间的关系与区别
  2. 逆天改命,机械飞升:渐冻症科学家拒绝等死,将自己改造成了「半机械人」...
  3. linux .sh文件 命令如何写,Linux下面使用命令如何运行.sh文件的两种解决办法
  4. Spring Boot(七):Mybatis 多数据源最简解决方案
  5. vue保存内容到本地_Vue两个版本区别
  6. mysql根据时间戳查询指定日期内数据
  7. 查看mysql view作用_Mysql中View视图的作用
  8. git移除某文件夹的版本控制
  9. 不依赖远程API启动SEER区块链命令行钱包和网页钱包的方法
  10. Redis--COW(Copy On Write)
  11. std::string中的反向迭代器rbegin()和rend()
  12. 使用 jQuery Mobile 与 HTML5 开发 Web App (十八) —— HTML5 Web Workers
  13. 诗与远方:无题(七十二)
  14. python的scrapy爬虫模块间进行传参_Python爬虫Scrapy框架之请求传参合日志等级
  15. QListview获取Item内容变化信号及内容
  16. pentaho server 9.2 配置mysql数据源
  17. Win10 删除默认共享文件夹
  18. python的设计哲学是什么意思_哲学是什么?
  19. 最近工作用到的sql脚本
  20. java公路车的气嘴_5分钟了解运动自行车常见的两种气嘴

热门文章

  1. python进行基本的图像处理
  2. oracle spool设置字符集,spool出来的文件格式一个是UTF8一个是ASCII ??
  3. 适合大学生查答案的公众号
  4. 满足多元化场景需求,戴尔显示器新品绚丽亮相
  5. UE4 通过按键升降电梯
  6. 2-04-调用函数-0518
  7. java代码json_JSON 解析(java代码)
  8. 《Java核心技术 卷II》笔记——(7)输入/输出流文件流序列化
  9. (附源码)python主机硬件配置推荐系统 毕业设计 231155
  10. 推荐系统CTR技术的演变历史