手机版

陕西科技大学科目期末考试复习陕西科技大学期(4)

发布时间:2021-06-08   来源:未知    
字号:

结果为: (A)=2AH, (30H)=48H

SWAP A

结果为: (A)=82H

例:若在外部ROM/EPROM中2000H单元开始依次存放0~9的平方值,数据指针

(DPTR)=3A00H,用查表指令取出2003H单元的数据后,要求保持DPTR中的内容不变。完

成以上功能的程序如下:

MOV A, #03H ; (A)←03H, 74 03

PUSH DPH ; C0 83

PUSH DPL ; C0 82

MOV DPTR, #2000H ; (DPTR)←2000H, 90 20 00

MOVC A, @A+DPTR ; (A)←(2000H+03H), 93

POP DPL ; D0 82

POP DPH ; D0 83

执行结果: (A)=09H ,(DPTR)=3A00H。

例: 进入中断服务子程序时, 把程序状态寄存器PSW、 累加器A、 数据指针DPTR进

栈保护。设当前SP为60H。则程序段

PUSH PSW

PUSH ACC

PUSH DPL

PUSH DPH

执行后, SP内容修改为 64H, 而61H、62H、63H、64H单元中依次栈入PSW、A、DPL、

DPH的内容。当中断服务程序结束之前, 如下程序段(SP保持 64H不变)

POP DPH

POP DPL

POP ACC

POP PSW

执行之后, SP内容修改为 60H, 而64H、 63H、 62H、 61H单元中的内容依次弹出

到DPH、DPL、A、PSW中。 

MCS -51 提供一个向上升的堆栈, 因此SP设置初值时要充分考虑堆栈的深度,

要留出适当的单元空间, 满足堆栈的使用。

例1:双字节无符号数加法(R0 R1)+(R2 R3)→(R4 R5);R0、R2、R4存放16位数的高字

节,R1、R3、R5存放低字节。假设其和不超过16位,其编程如下。

MOV A,R1 ; 取被加数低字节,E9 1E

ADD A,R3 ; 低字节相加,2B RE

MOV R5,A ; 保存和低字节,FD

MOV A,R0 ; 取高字节被加数;E811

ADDC A,R2 ; 两高字节之和加低位进位,

MOV R4,A ; 保存和高字节

八,减法指令影响CY、OV、AC和P标志

CY表示两无符号数相减时,最高位是否有借位产生,若CY=1,表示有借位,CY=0则表示

无借位;

OV表示两个带符号数相减时是否产生溢出,OV=1表示从一个正数中减一个负数得

出一个负数或从一个负数中减去一个正数时得出一个正数的错误情况,和加法类似。该标志

陕西科技大学科目期末考试复习陕西科技大学期(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)