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

发布时间:2021-06-08

DATA1和DATA2,遇到传送的数据为零时停止。

解 外部RAM向内部RAM的数据传送一定要以累加器A作为过渡,利用判零条件

转移正好可以判别是否要继续传送或者终止。

MOV R0,#DATA1; 外部数据块首址送R0

MOV R1,#DATA2; 内部数据块首址送R1

LOOP:MOVX A,@R0; 取外部RAM数据入A

HERE:JZ HERE ; 数据为零则终止传送

MOV @R1, A; 数据传送至内部RAM单元

INC R0; 修改地址指针,指向下一数据地址

INC R1

SJMP LOOP; 循环取数

例32 将内部RAM中从DATA单元开始的10个无符号数相加,相加结果送SUM主元保

存。

解:设相加结果不超过8位二进制数,则相应的程序如下:

MOV R0,#0AH ; 给R0置计数器初值

MOV Rl,#DATA ; 数据块首址送Rl

CLR A ; A清零

LOOP:ADD A,@R1 ; 加一个数

INC R1 ;修改地址,指向下一个数

DJNZ R0,LOOP ; R0减1,不为零循环

MOV SUM,A ; 存10个数相加和

例 :设(SP)=30H,标号为SUB1的子程序首址在2500H, 执行指令:

3000H: LCALL SUBl ;(PC)=3000H

结果: (SP)=32H,(31H)=03H,(32H)=30H,(PC)=2500H。

2300H :ACALL SUB2 ; (PC)=2300H

执行该指令后:(PC)+2=2302H,(0010 0011 0000 0010)

可调用子程序的2KB范围为2000H~27FFH.

07FEH:ACALL SUB3 ;(PC)=07FEH

执行该指令后,(PC)+2=0800H ,(0000 1000 0000 0010)

可调用子程序的2KB范围为0800H~0FFFH。

十,程序设计。

例 1 两个无符号双字节数相加。

设被加数存放于内部RAM的40H(高位字节), 41H(低位字节), 加数存放

于50H(高位字节), 51H(低位字节), 和数存入 40H和41H单元中。

程序如下: 

START: CLR C ; 将Cy清零

MOV R0, #41H ; 将被加数地址送数据指针R0

MOV R1, #51H ; 将加数地址送数据指针R1

AD1: MOV A, @R0 ; 被加数低字节的内容送入A

ADD A,@R1 ; 两个低字节相加

陕西科技大学科目期末考试复习陕西科技大学期(8).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219