实验1-6

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一汇编语言设计和调试方法(一)

一、实验目的

掌握汇编语言设计和调试方法。

二、实验内容

1、有两个无符号双字节数,按低字节在前的顺序分别存放在内部RAM的30H、31H和40H、41H单元中,设(30H)=0AFH,(31H)=0AH,(40H)=90H,(41H)=2FH,求两数之和并存于30H、31H单元,同时说明PSW中相关位的内。

MOV 30H ,#0AFH

MOV 31H ,#2AH

MOV 40H ,#90H

MOV 41H, #2FH

MOV R0,#30H

MOV A,40H

ADD A,@R0 ;计算低字节之和

MOV @R0,A ;低字节和存入30H单元

MOV A,41H

INC R0

ADDC A,@R0 ;计算高字节之和

MOV @R0,A

2、将累加器A中低4位通过P1口的高4位输出,已知(A)=45H,(P1)=68H。

MOV A,#45H

MOV P1,#68H

ANL A,#0FH

SAWP A

ANL P1,#0FH

0RL P1 ,A

3、比较内部RAM中30H和40H中的两个无符号数的大小,将大数存入50H,小数存入51H单元中,若两数相等则F0位置“1”。若(30H)=49H,(40H)=60H,其结果如何?PSW=?F0=?

MOV A,30H

CJNE A,40H,Q1 ;两数不等转移

SETB F0 ;两数相等F0置位

RET

Q1:J C Q2 ;(CY)=1即(30H)<(40H)转移

MOV 50H,A ;存大数

MOV 51H,40H ;存小数

RET

Q2:M OV 50H,40H

MOV 51H,A

RET

4. 说明下列程序的功能及运行的结果:(A)=?(R0)=?(R1)=?

MOV 20H,#14H

MOV R0,#20H

MOV A,@R0

RL A

MOV R1,A

RL A

RL A

ADD A,R1

MOV R0,A

5、以查表方法把累加器A中的十六进制数转换为ASCII码,并送回累加器A中。其查表程序如下:(当(A)=0EH,问其结果为什么?

2000 MOV DPTR,#TAB ;表的首地址作为基址

2001 MOVC A,@A+DPTR ;查表

2002 RET

2003TAB:D B 30H,31H,32H,33H,34H,35H

DB 36H,37H,38H,39H,41H,42H,

DB 43H,44H,45H,46H

相关文档
最新文档