- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
指令系统和汇编语⾔程序设计实验报告
指令系统和汇编语⾔程序设计实验报告
姓名:XXX
班级:XXXXXXX
学号:000000
3.2指令系统实验
实验⼀熟悉键盘操作及数传指令编程设计
⼀、实验⽬的
1.熟悉软件模拟调试的环境及键盘操作。
2.掌握汇编语⾔程序设计的⽅法,加深对指令的理解。
3.学会软件模拟调试和察看修改观察项的⽅法。
⼆、实验内容
印证数据传送指令的功能、寻址⽅式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器
段、位寻址区等不同存储器的访问⽅式。
三、实验步骤
1.进⼊调试软件环境,输⼊源程序;
2.汇编源程序;
3.⽤单步⽅式运⾏程序;
4.检查并记录各寄存器和存储单元内容的变化。
四、程序清单及实验结果
1.内部RAM数据传送
1)寄存器寻址与⽴即寻址,需要查看的数据有A、PSW和不同寄存器区的Rn等单元
的内容。
ORG0000H
MOVPSW,#00H
MOVR0,#30H
MOVA,R0
MOVR6,A
MOVPSW,#14H
MOVR0,#30H
MOVA,R0
MOVR6,A
MOVPSW,#10H
MOVR0,#30H
MOVA,R0
MOVR6,A
MOVPSW,#08H
MOVR0,#30H
MOVA,R0
MOVR6,A
SJMP$
数据记录:
2)直接寻址,需查看30H、31H、32H、40H、ACC、PSW等单元的内容。ORG0100H
MOV30H,#45H
MOV31H,#46H
MOV02H,31H
MOV0E0H,30H
MOV32H,ACC
MOVACC,PSW
MOV40H,ACC
SJMP$
END
数据记录:
3)寄存器间接寻址,需查看@R0、RO等的内容。
ORG0200H
MOVR0,#30H
MOV@R0,#30H
SJMP$
END
数据记录:
2.外部数据传送
需要查看的数据有外部数据存储器单元2000H,外部程序存储器单元2001H。
ORG0000H
MOVA,#89H
MOVDPTR,#2000H
MOVX@DPTR,A
INCDPTR
CLRA
MOVCA,@A+DPTR
SJMP$
ORG2000H
DB44H
DB78H
DB67H
END
数据记录:
3.堆栈操作
需要查看的数据有50H、51H、A及SP指针和堆栈区中数据随PUSH和POP指令执⾏后
1)可⽤于保护现场和恢复现场的程序
ORG0000H
MOVSP,#5FH
MOV50H,#3BH
MOV51H,#2FH
MOVA,#12H
PUSH50H
PUSH51H
PUSHACC
POP0E0H
POP51H
POP50H
SJMP$
END
数据记录:
2)可⽤于数据交换的程序
ORG0100H
MOVSP,#6FH
MOV50H,#3BH
MOV51H,#2FH
PUSH50H
PUSH51H
POP50H
POP51H
SJMP$
数据记录:
4.数据交换
记录每条指令运⾏后的结果,从⽽加深对各种不同的交换指令的理解。1)SWAP指令
ORG0000H
MOVA,#58H
SWAPA
MOV40H,A
SJMP$
END
数据记录:
2)XCHD指令
ORG0030H
MOVA,#30H
MOVR0,#30H
MOV@R0,#09H
XCHDA,@R0
MOV41H,A
SJMP$
END
数据记录:
ORG0100H
MOV50H,#1
MOVA,#89H
XCHA,50H
MOVR7,#3
XCHA,R7
XCHA,@R0
SJMP$
END
数据记录:
五、思考题
1、寄存器寻址与寄存器间接寻址有什么区别?
答:寄存器寻址所需操作数放在寄存器中,确定了寄存器就得到了操作数,存放操作数的寄存器地址内含或隐含在指令的操作
码字节中;⽽寄存器间接寻址是将指令指定的寄存器内容作为操作数的地址,该地址所指定的单元内容作为被寻找的操作数。
2、PC指针与SP指针有什么区别?
答:PC指针是⼀个16位的程序地址寄存器,其内容是当前执⾏指令的下⼀条指令在程序内存中的地址,具有⾃动加1的功
能,从⽽保证程序能够⾃动顺序执⾏,寻址范围达64KB,但是PC单
原创力文档


文档评论(0)