第3章mcs-51的指令系统内容摘要:
DPTR作为基址寄存器, A的内容作为无符号数和 DPTR的内容相加得到一个 16位的地址,把由该地址指出的程序存储器单元的内容送到累加器 A. 例如 (DPTR)=8100H (A)=40H 执行指令 MOVC A,@A+DPTR 本指令的执行结果只和指针 DPTR及累加器 A的内容有关 , 与该指令存放的地址及常数表格存放的地址无关 , 因此表格的大小和位置可以在 64K程序存储器中任意安排 , 一个表格可以为各个程序块公用。 两条指令是在 MOV的后面加 C, “ C”是 CODE的第一个字母,即代码的意思。 9. 字节交换指令 XCH A,Rn XCH A,direct XCH A,@Ri 例如: (A)=80H, (R7)=08H, (40H)=F0H (R0)=30H, (30H)=OFH 执行下列指令: XCH A,R7。 (A)与 (R7)互换 XCH A,40H。 (A)与 (40H)互换 XCH A,@R0。 (A)与 ((R0))互换 结果: (A)=0FH,(R7)=80H,(40H)=08H,(30H)=F0H 10. 半字节交换指令 XCHD A,@Ri 累加器的低 4位与内部 RAM低 4位交换。 例如: (R0)=60H,(60H)=3EH,(A)=59H 执行完 XCHD A,@RO 指令 ,则 (A)=5EH,(60H)=39H。 算术操作类指令 单字节的加、减、乘、除法指令,都是针对 8位二进制无符号数。 执行的结果对 Cy、 Ac、 OV 三种标志位有影响。 但增 1和减 1指令不影响上述标志。 1. 加法指令 共有 4条加法运算指令: ADD A,Rn。 (A)+(Rn)→A , n=0~ 7 ADD A,direct。 (A)+(direct)→A ADD A,@Ri。 (A)+((Ri))→A,i= 0,1 ADD A,data。 (A)+data→A 一个加数总是来自累加器 A, 而另一个加数可由不同的寻址方式得到。 结果总是放在 A中。 使用加法指令时 , 要注意累加器 A中的运算结果对各个标志位的影响: ( 1) 如果 位 7有进位 , 则置 “ 1”进位标志 Cy, 否则清“ 0”Cy ( 2) 如果 位 3有进位 , 置 “ 1”辅助进位标志 Ac, 否则清 “ 0”Ac( Ac为 PSW寄存器中的一位 ) ( 3) 如果位 6有进位 , 而位 7没有进位 , 或者位7有进位 , 而位 6没有 , 则溢出标志位 OV置“ 1”, 否则清 “ 0”OV。 溢出标志位 OV的状态 , 只有在带符号数加法运算时才有意义。 当两个带符号数相加时 ,OV=1, 表示加法运算超出了累加器 A所能表示的带符号数的有效范围 例 (A)=53H, (R0)=FCH, 执行指令 ADD A,R0 结果 : (A)=4FH, Cy=1, Ac=0, OV=0, P=1 注意: 上面的运算中 , 由于位 6和位 7同时有进位 , 所以标志位 OV=0。 例 (A)= 85H,(R0)=20H,( 20H) =AFH, 执行指令: ADD A,@R0 结果 :( A) =34H, Cy=1, Ac=1, OV=1, P=1 注意: 由于位 7有进位 , 而位 6无进位 , 所以标志位 OV=1 2.带进位加法指令 标志位 Cy参加运算,因此是三个数相加。 共 4条: ADDC A,Rn。 (A)+(Rn)+C→A , n=0 ~ 7 ADDC A,direct。 (A)+(direct)+C→A ADDC A,@Ri。 (A)+(Ri)+C→A , i=0,1 ADDC A,data。 (A)+data+C→A 例: ( A) =85H,( 20H) =FFH,Cy=1, 执行指令: ADDC A,20H 结果为 :( A) =85H, Cy=1, Ac=1, OV=0, P=1 ( A中 1 的位数为奇数 ) 3. 增 1指令 5条增 1指令: INC A INC Rn。 n=0~ 7 INC direct INC @Ri。 i=0,1 INC DPTR 不影响 PSW中的任何标志。 第 5条指令 INC DPTR, 是 16位数增 1指令。 指令首先对低 8位指针 DPL的内容执行加 1的操作 , 当产生溢出时 ,就对 DPH的内容进行加 1操作 , 并不影响标志 Cy的状态。 4.十进制调整指令 用于对 BCD码十进制数加法运算结果的内容修正。 指令格式: DA A 两个 BCD码按二进制相加之后 , 必须经本指令的调整 才能得到正确的压缩 BCD码的和数。 二进制数的加法运算原则并不能适用于十进制数的加法运算 , 有时会产生错误结果。 例如: ( a) 3+6=9 0011+0101=1001 运算结果正确 ( b) 7+8=15 0111+1000=1111 运算结果不正确 ( c) 9+8=17 1001+1000=00001 C=1 结果不正确 二进制数加法指令不能完全适用于 BCD码十进制数的加法运算 , 对结果作有条件的修正 ——十进制调整 • 出错原因和调整方法: BCD码只用了了其中的 10个 , 6个没用到的编码。 ( 1010, 1011, 1100, 1101, 1110, 1111)为 无效码 凡结果进入或者跳过无效码编码区时,其结果就是错误的。第3章mcs-51的指令系统
相关推荐
Print Tab(6)。 Format(Mydate, mmmm) Print Tab(6)。 Format(Mytime, ttttt) End Sub 数据输入和输出 5 格式输出函数 3) 字符串格式化 符号 作用 例子 结果 强制小写 Format(Hello,) hello 强制大写 Format(happy,) HAPPY @ 不够加空格 Format(ABCDE,@@@@@@)
ows桌面上一个最常见的图标,一般在屏幕的左上角。 双击“ 我的电脑 ” 图标会出现如下图所示的窗口。 C、 D、 E代 表硬盘, F代表光盘, G代表可移动磁盘 三、文件管理 在 “ 我的电脑 ” 中查看文件和文件夹 在 “ 我的电脑 ” 窗口中,要查看某盘上的文件或文件夹,只要双击该盘符图标。 下面以查看 C盘为例说明如下: 三、文件管理 第一步:双击 C盘图标打开 C盘,如图所示; 图中
部、各文档之间、各应用程序之间复制或移动信息。 剪贴板的基本操作 剪切 将选定的内容移动到剪贴板中。 复制 将选定的内容复制到剪贴板中。 粘贴 将剪贴板中的内容复制到指定的位置。 ● 用鼠标直接拖放来实现文本的移动 操作步骤: 1) 选中文本对象。 2) 鼠标指向选定文本,当鼠标形状变为左键头时,按住鼠标左键将其拖到目标位置。 3) 释放鼠标左键。 5. 复制文本
子程序和中断程序 一个项目( Project) 包括的基本组件有程序块、数据块、系统块、符号表、状态图表、交叉引用表。 程序块、数据块、系统块须下载到 PLC, 而符号表、状态图表、交叉引用表不下载到 PLC。 梯形图程序的输入 1. 建立项目 ( 1)打开已有的项目文件。 “系统块 ” 块对话框 ( 2)创建新项目 2. 输入程序 ( 1)输入指令 (
CS=0000H CS→ 00000 02020 IP→ IP=2020H CS→ CS=1000H NEXTROUNT IP=0132H 10132 10000 新 IP 新 CS 安徽理工大学 第 3章 80x86指令系统和寻址方式 《 汇编语言 》 36 ( 4) 段间间接寻址 用存储器中的两个相继字的内容取代 CS 和 IP,存储单元的地址可用存储器寻址方式得到。 指令 数据寻址方式
真值表 ABCCABCBABCAL ACBCAB)BB(AC)AA(BC)CC(ABA B CCABCBABCAL( 2)由真值表写出逻辑表达式: ( 3)化简 . ( 4)画出逻辑图 . 如果要求用与非门实现该逻辑电路 , 就应将表达式转换成 与非 —与非 表达式: ACBCABACBCABL 画出逻辑图如图所示。 ( 2)列逻辑真值表。