嵌入式系统学习笔记(5)——指令系统(2)

news/2024/7/5 4:55:45
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 一般在多个数据连加的时候用到ADDC指令,比如三个数相加,先前两个数用ADD,然后再用ADDC指令加上第三个数 在这里插入图片描述
  • 即使溢出也不会使得进位寄存器改变,算一种循环加一的操作,加满了就归0.如果加一的操作对象是I/O口,先读锁存器内值,再加一,再输出到I/O口中 在这里插入图片描述
  • 压缩BCD码的意思是用高4位BCD码表示10进制数的十位,低4位表示个位,而普通BCD码只有4位。DA A只能用于加法运算 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 这里00减1会变成FF。此外,DPTR可以加一不可以减一;乘法指令需要把两个乘数分别放在A B中,并且乘积的高8位在B中取得,低8位在A中取得;AB之前没有空格;进位标志C始终为0。对外部I/O口的读-修改-读操作同加一指令 在这里插入图片描述
  • 注意字节清零指令只能对累加器A使用,将A的所有位清零,不能对其它寄存器使用。如果想对其它寄存器字节清零,用MOV 移0进去就行。同乘法,进位C始终为0 在这里插入图片描述
  • 这些也都是只能对A使用。RL指令运行后第7位会放入第0位 在这里插入图片描述在这里插入图片描述
  • 在这里插入图片描述
  • 注意结果并非都是存放到A中,结果是放到第一操作数中 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 如果每次用LJMP都要算一下要跳转的指令所在地址是很麻烦的,后续会介绍一个方法,可以对指令进行标注,并使用该标注作为该指令所在地址,编译时会自动算出标号指令所在地址。“标号隐藏着地址信息” 在这里插入图片描述
  • 同理,使用标号,编译时会自动算出偏移量。注意,跳转目标与当前PC值的地址偏移量超出128个字节将会编译出错。解决方法是二次跳转,跳转到范围内的一条LJMP跳转指令即可 在这里插入图片描述
  • 在这里插入图片描述
  • 该指令实际通过减法操作实现,但是并不改变减数和被减数的内容 在这里插入图片描述
  • 在这里插入图片描述
  • 与JMP指令不同之处在于这里涉及压栈保存现场,而且子程序执行完会返回该指令处顺序执行下一条指令 在这里插入图片描述
  • NOP指令不做任何操作,等一个机器周期 在这里插入图片描述
  • 字节传送和位传送都是MOV,编译器通过观察操作数得出是字节传送还是位传送,即,当操作数中出现位变量时执行位传送指令,并把06H当作位地址;字节清零和位清零都是CLR,但是字节清零只能对A操作,所以如果操作数是地址,那么一定是位地址,执行位清零 在这里插入图片描述
  • ANL C,/bit 表示先将bit中的内容取反再与,结果存回C 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述

http://www.niftyadmin.cn/n/3658070.html

相关文章

嵌入式系统学习笔记(6)——MCS51汇编语言程序设计

有汇编程序和反汇编程序,可以由机器语言得到汇编语言 不是所有都会默认从0000H开始,保险起见,还是要在开头用ORG 0000H,然后加一条跳转指令到程序存放起始地址 交叉汇编,在一台电脑上汇编,在另一台电脑上运…

微软宣布将发布.NET Framework Library源代码

(翻译整理自Scott Guthrie的Blog:http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx)在早些时候,也就是10月3号,微软宣布将随.NET Framework 3.5和…

ZZ:使用.NET语言开发Silverlight应用程序入门(一):了解项目结构

(本文转载自Silverlight上海开发团队Blog,是“使用.NET语言开发Silverlight应用程序入门”系列之第一篇。转自http://blog.csdn.net/SilverlightShanghai/archive/2007/09/23/1796794.aspx如果有对于Silverlight技术本身的疑问,看法,意见&…

嵌入式系统学习笔记(7)——码制

- ORL是用或实现低四位BCD码和30H的相加,30H就是48,只要事先吧高四位清零,就可以把BCD码变成8位的ASCII码

ZZ:使用.NET语言开发Silverlight应用程序入门(二):界面和对象模型

(本文转载自Silverlight上海开发团队Blog,是“使用.NET语言开发Silverlight应用程序入门”系列之第二篇。转自http://blog.csdn.net/SilverlightShanghai/archive/2007/09/28/1805279.aspx. 如果有对于Silverlight技术本身的疑问,看法,意见&a…

NLP学习笔记(1)

实现word2vec 的方法 direct prediction的两个方法: skip gram模型 这是skip gram模型,中间dx1的向量就是单词的representation vcv_cvc​,Vx1的向量是对所有单词出现在某个单词的语境中的可能性,其中的第o行是uoTvcu_o^Tv_cuoT​vc​&#x…

.NET SDK中CorFlags.Exe的用法

CorFlags是.NET Framework中一个用于查看.NET 可执行文件(PE)的运行参数的非常有用的工具,但是这个工具输出的结果不是特别直观,文档中并没有做出解释,本文将用实际例子解释CORFLAGS的用法。首先我们来看一个一般的情况,随便写一个…

pytong之语音环境:edge-tts and edge-playback

系统平台:windows10 一、安装python3.x 二、安装edge-tts(文本转换为声音文件) 启动windows命令行(cmd),执行如下命令: pip install edge-tts 可能会因为网络的问题出现错误。用ping测试pypi.org是否通畅:ping pyp…