HC89S003F4开发板汇编指令

一、数据传递类指令

MOV、MOVC、MOVX

1、MOV,用于片内数据存储器中的数据传递指令中。

2、MOVC是与ROM之间的数据传送,而MOVX是与外部RAM数据传送;

3、MOV就是移动的意思,C就是Code,代码的意思,X就是eXternal,外部的意思 MOVC就是读代码存储器,MOVX就是读写外部存储器,即外部RAM ;

4、MOVC是读取ROM中的数据,只能读不能写(一般来说主要是用来读取常量或常量表) MOVX是读写外部扩展的RAM和扩展的IO口,可以读也可以写。

MOVX A,@RI

MOVX @RI,A

MOVX A,@DPTR

MOVX @DPTR, A

MOVC A,@A+DPTR

PUSH、POP

进出栈,栈是FILO(first in last out),先进后出

也就是把寄存器里的数据临时保存一下,相当与一个仓库。

需要注意,使用命令时,确认栈的位置,保证不溢出、不覆盖变量。

XCH、XCHD

XCH 交换双方的全部 8 位数。

XCHD 交换双方的低 4 位数。

二、算术运算类指令

INC、DEC、MUL、DIV

inc a 相当于 add a,1

dec a 相当于 sub a,1

优点 速度比sub或add指令快,占用空间小

这条指令执行结果影响AF、OF、PF、SF、ZF标志位,但不影响CF进位标志位。

mul 累加器ACC*寄存器b,保存在ACC

DIV 累加器ACC/寄存器b,保存在ACC

在c库里还有16位乘除的方法

EXTRNCODE (?C?IMUL) ;公式R4R5*R6R7,保存在R6R7,调库16字节

EXTRNCODE (?C?UIDIV) ;无符号,公式R4R5/R6R7,商保存在R6R7,余数在R4R5

EXTRNCODE (?C?SIDIV) ;有符号,公式R4R5/R6R7,商保存在R6R7,余数在R4R5

LCALL?C?IMUL ;跳转3字节

ADD、ADDC、SUBB

ADD A, R0 相当于A=A+R0

ADDC A, R0 相当于A=A+R0+Cy

SUBB A, R0 相当于A=A-R0-Cy,如果A小于R0,则Cy置位

三、逻辑运算类指令

ANL、ORL、XRL

与、或、异或

RL、RLC、RR、RRC

RL左移,RR右移,C带进/借位

SWAP

高四位和低四位交换

四、控制转移类指令

SJMP、AJMP、LJMP

无条件转移

SJMP -126—+129范围内转移

AJMP 2k范围内转移

LJMP 64K范围内转移

RET、RETI

RETI 是中断返回指令

RET 是子程序返回指令

ACALL、LCALL

转移到子程序,子程序执行后配合RET、RETI返回

CJNE、DJNZ、JNZ、JZ

CJNE 比较两值,不相等转移

DJNZ 减 1,不为 0 则转移

JNZ Jump if Not Zero 累加器为 1 则转移

JZ Jump if Zero 累加器为 0 则转移

五、布尔指令

JC、JNC、JB、JNB、JBC

JC Jump if Cy (有进位、即Cy=1,则跳转)

JNC Jump if Not Cy (有进位、即Cy=0,则跳转)

JBC Jump if Bit and Clear

JB Jump if Bit (为1则跳转)

JNB Jump if Not Bit (为0于则跳转)

jnz和djnz_【HC89S003F4开发板】 10汇编指令相关推荐

  1. iTOP-4412开发板-10.1寸屏幕硬件修改支持排线和HDMI

    迅为iTOP-4412开发板-硬件- 金属框10.1寸屏幕硬件修改支持排线和HDMI 如果 iTOP-4412 开发板(精英版和全能版)同时 10.1 寸屏幕,如果 金属框 10.1 寸屏幕(如下图所 ...

  2. iTOP-4412开发板10.1寸[金属框]屏幕硬件修改支持排线和HDMI

    注:iTOP-4412开发板(精英版和全能版)同时也有10.1寸屏幕,如果 金属框10.1寸屏幕(如下图所示)转接板使用的默认焊接方式 则默认只能使用HDMI线, 不能支持FPC排线. 本文档介绍,如 ...

  3. 三星UT-Exynos4412开发板10.1寸LVDS高清液晶屏

    产品简介 UT-Exynos4412开发板是一款功能极为强大的高端ARM Cortex-A9开发平台,采用Samsung最新的Exynos4412(Exynos4412 Quad),主频达到1.4~1 ...

  4. 【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42408137  转载请著名出处 本博客相关文档下载 :  -- A ...

  5. 全志A40I开发板10.1寸MIPI屏调试

    天嵌A40i核心板,天嵌科技出品的又一款工业级核心板,采用4核ARM Cortex-A7处理器设计,每核主频高达1.2GHz. 注:本文所调试屏的参数是适配天嵌10.1寸电容触摸屏的,其他的mipi屏 ...

  6. S5PV210开发板用汇编设置栈和调用C语言

    使用C语言前为什么要先用汇编设置栈? C语言程序运行时需要栈,因为C语言中的局部变量都是用栈来实现的,如果没有设置栈就使用C语言,局部变量就会落空,程序就会死掉,所以在使用C语言前,我们需要先在汇编编 ...

  7. 五一好礼70份免费送:示波器、开发板、焊台等!

    关注.星标公众号,直达精彩内容 一. 前言 大家好,我是张巧龙,这一年来,感谢大家近期对公众号的支持,但是感谢不能停留在嘴上,所以,这次邀请了正点原子赞助.一起给大家送点礼品! 作为一名 电子/嵌入式 ...

  8. 元旦好礼50份免费送:示波器、开发板、焊台等!

    关注.星标公众号,直达精彩内容 一. 前言 大家好,我是张巧龙,这一年来,感谢大家对公众号的支持,但是感谢不能停留在嘴上,所以,这次邀请了正点原子赞助.一起给大家送点礼品! 作为一名 电子/嵌入式 人 ...

  9. 【4412嵌入式开发板学习笔记】认识uboot -迅为电子资料分享

    重要说明:这份笔记不是4412开发配套的,是我在网上看视频的时候下载上课老师的笔记后修改的.所以我试了一下笔记上的uboot命令,有些无法使用,可能是uboot版本问题或者文件系统问题.具体原因我目前 ...

最新文章

  1. Apache2.2中文手册
  2. 协程 线程 进程的一点理解
  3. mysql 开源 ~ canal+otter系列(2)
  4. Guide: Solr performance tuning--转载
  5. ICLR 2020 | 多模态下使用图片信息显著增强机器翻译效果
  6. 手把手教你java快速过滤关键词
  7. 多年以后重发:多线程安全的变量模板
  8. 信息学奥赛一本通C++语言——1007:计算(a+b)×c的值
  9. php手册中点击下载的功能,PHP实现文件下载功能
  10. python数据获取及预处理_python数据预处理(入门)
  11. 页面中,通过css设置文本不能被选中
  12. 【咀嚼C语言】二维数组找鞍点
  13. 每日站会怎么开才好?——你的站会姿势正确吗?
  14. unity webPlayer
  15. 安居客头部买房部分书写
  16. 资料:线性代数与空间解析几何知识点全汇总
  17. Java程序,判断一个字母是元音还是辅音
  18. Shader实现高光反射
  19. 搭建e(fx)clipse-JavaFX E4 RCP平台
  20. 推荐一款搜索开源代码的神器 :Kooder!

热门文章

  1. 2023AP微积分AB考试报名开启
  2. JAVA 操作excel的问题,待高手解决。。。
  3. 小说中场景的功能_小说写作 | 如何做好小说中的场景描写?
  4. C++中volatile变量测试
  5. 阿觿学长带领准大学生们一起走进互联网
  6. 【转】关于提示can't load package 'xxx.bpl.' 错误问题的解决方法
  7. MySql的存储过程的优点与缺点
  8. 5G边缘计算商用部署和运维关键技术
  9. 即刻发光!武汉国金天地街区亮灯啦!
  10. 潘石屹陈志武谈房地产:北京等城市泡沫已很严重(载自新浪)