汇编实验五、六报告.doc_第1页
汇编实验五、六报告.doc_第2页
汇编实验五、六报告.doc_第3页
汇编实验五、六报告.doc_第4页
汇编实验五、六报告.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理及汇编语言实验五报告对MCS-51单片机寻址方式、指令系统的认识实验目的: 通过实验学习MCS-51单片机寻址方式、指令系统的特点,并与8088CPU的寻址方式、指令系统进行对比,实验任务:通过实验完成单片机教学资料的第三章习题:1,8,9,10,13,14,15,16具体实验步骤自己设计。实验内容及分析:3-1, 判断以下指令的正误:(1)MOV 28H,R2 ;错误,符号未定义,因为当直接地址作为目的操作数时,原操作数为间接操作数Ri时,i=0或1,所以该指令错误。(2)DEC DPTR ;操作数DPTR错误,因为减法指令只有4条,分别为DEC A; DEC Rn ;DEC direct ; DEC Ri (3)INC DPTR ;正确,曾1指令原操作数可以用DPTR(4)CLR R0 ;操作数R0错误,CLR A,即简单逻辑操作指令,操作数只能为累加器A(5) CPL R5 ;操作数R5错误,CLR A,即简单逻辑操作指令,操作数只能为累加器A(6) MOV R0,R1 ;错误,传送指令中当目的操作数为Rn时,原操作数只能是A,direct,#data(7)PHSH DPTR ;操作码错误,(8)MOV F0,C ;正确,将C指出的位变量送到目的操作数F0所指的单元中去。(9)MOV F0,Acc.3 ;正确,将源操作数Acc.3指出的位变量送到目的操作数F0所指的单元中去。(10)MOVX A,R1 ;正确,读外部RAM/IO(11)MOV C,30H ;正确,将源操作数30H指的位变量送到目的操作数F0所指的单元中去。(12)RLC R0 ;操作数R0错误,操作数只能是累加器A,将A的内容和进位标志Cy向左环移一位。38,假定累加器A中的内容为30H,执行指令1000H:MOVC A,A+PC后,把程序存储器(1031H)单元的内容送入累加器A.分析:本指令占用1B,下一条指令的地址为1001H,(PC)=1001H再加上A中的30H,得1031H,结果将程序存储器中1031H的内容送入累加器A。39,在MCS51中,PC和DPTR都用于提供地址,但PC是为访问内部存储器提供地址,而DPTR是为访问外部存储器提供地址。3-10,在寄存器间接寻址方式中,其间接体现在指令中寄存器的内容不是操作数,而是操作数的地址,如MOV A,Ri,从Ri中找到原操作数的地址,将该地址送到累加器A中。313,完成下列内容,但不改变未涉及内容。(A)把Acc.3, Acc.4, Acc.5, Acc.6清0 源程序ORG 0CLR ACC.3 ; ACC.3清0CLR ACC.4CLR ACC.5CLR ACC.6END 运行结果: 表1程序执行前 表2程序执行后 分析:首先将A设置为0FFH=11111111B,运行程序后A=87H=10000111B,即Acc.3, Acc.4, Acc.5, Acc.6清0,且其标志位未变化。(B)把累加器A中间4位清0 源程序:org 0CLR ACC.2 ; ACC.2清0CLR ACC.3CLR ACC.4CLR ACC.5END 运行结果及分析: 表3程序执行前 表4程序执行后 分析:首先将A设置为0FFH=11111111B,运行程序后A=C3H=11000011B,即累加器A中间4位清0,且其标志位未变化。(C)使Acc.2和Acc.3置1 源程序org 0SETB ACC.2 ;ACC.2置1SETB ACC.3 ;ACC.3置1END 运行结果表5程序执行前 表6程序执行后 分析:首先将A设置为00H=00000000B,运行程序后A=0CH=00001100B,即Acc.2和Acc.3置1,且其标志位未变化。3_14源程序并单步运行:ORG 0MOV A,#83H ;将立即数83H传送到累加器A得A=83HMOV R0,#17H ;将立即数17H传送到(R0)得(R0)=17HMOV 17H,#34H ;将立即数34H传送到直接地址(17H)得(17H)=34HANL A,#17H ;将寄存器17H与到累加器A得A=03HORL 17H,A ;将累加器A与到直接寻址字节(17H)得(17H)=37HXRL A,R0 ;将间接寻址RAM字节异或到累加器A得A=34HCPL A ;累加器A求反得A=0CBHEND运行结果:分析:运行结果与理论分析相符,结果正确。315源程序并单步运行:org 0mov A,#55H ;将立即数55H传送到累加器A得A=55Hmov R3,#0AAH ;将立即数0AAH传送到寄存器R3得R3=0AAHANL A,R3 ;将寄存器R3与到累加器A得A=00HEND运行结果:R3=0AAH,A=00H分析:因为R3=0AAH=10101010B,A=55H=01010101B,A与R3=00H,所得实验结果与理论值相等,程序运行结果正确。3-16源程序并单步执行得:ORG 0MOV DPTR,#507BH ;将507BH送到DPTR得DPTR=507BHMOV SP,#32H ;将32H送到SP得SP=32HMOV 30H,#50H ;将50H送到直接寻址(30H)中得(30H)=50HMOV 31H,#5FH ;将5FH送到直接寻址(31H)中得(31H)=5FHMOV 32H,#3CH ;将3CH送到直接寻址(32H)中得(32H)=3CHPOP DPH ;将指针SP=32所指的单元内容3C推到DPH中POP DPL;修改指针将指针SP-1=31所指的单元内容5F推到DPL中POP SP ;修改指针将指针SP-2=30所指的单元内容50推到SP中END运行结果及分析:分析:运行结果为DPH=3CH,DPL=5FH,SP=50H,结果与理论推断相符合,运行结果正确。08级通信1班微机原理及汇编语言实验六报告实验目的通过实验练习MCS51单片机的基本汇编语言程序设计。实验任务:1、按照要求完成单片机教学资料的第四章习题:10,112、从实验四的实验任务二中任选两题改写成MCS51单片机的汇编语言程序,在“伟福6000软件模拟器”上编辑、汇编、连接、运行成功。实验内容及结果分析:410,试编写程序,查找在内部RAM的30H50H单元中是否有0AAH这个数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元 置为“00H”。l 源程序:ORG 0000HLJMP MAIN ;长转移,转移到MAIN程序段ORG 0051H MAIN:MOV R0,#30H ;首地址30H送入R0MOV R2,#50H ;尾地址50H送入R2LOOP: ;循环MOV A,R0 ;R0所指地址内容送给ACJNE A,#0AAH,NAA ;不等于关键字则转到NAAMOV 51H,#01H ;已查到关键字,把01H送到51HSJMP DONE ;查到关键字无条件转移到DONE,程序结束NAA:MOV 51H,#00H ;00H送入51H单元INC R0 ;R0+1送到R0DEC R2 ;R2-1送到R2DJNZ R2,LOOP ;R2-1不为0,转移到LOOPDONE: ;结束ENDl 运行结果及分析:(1) 首先在30H50H中设置存在0AAH,运行结果如下; 分析:程序运行当查询到31H单元中存在0AAH时,将01H送到51H程序结束,实现题目要求,程序正确。(2) 首先在30H50H中设置不存在0AAH,运行结果如下:分析:程序运行从30H一直查到50H未查到关键字,将00H送到51H程序结束,实现题目要求。4-11,编写程序,查找在内部RAM的20H40H单元中出现“00H”这一数据的次数,并将查找到的结果送到41H单元。源程序:ORG 0000HLJMP MAINORG 0041HMAIN:ANL 41H,#00H ;41H单元清0MOV R0,#20H ;首地址20H送入R0MOV R2,#40H ;尾地址40H送入R0LOOP:MOV A,R0 ;R0所指地址内容送给ACJNE A,#00H,DONE ;不等于关键字则转到DONEINC 41H ;41H自加1INC R0 ;R0自加1DEC R2 ;R2自减1DJNZ R2,LOOP ;R2-1不为0,转移到LOOPDONE: ;结束END运行结果及分析:分析:经运行程序查询得在内部RAM的20H40H单元中出现“00H”这一数据的次数为20次,并存在41H单元中(如上图所示).4-12,将单字节的2位十六进制数转换为ASCII码。 源程序:ORG 0MOV R0,SPDEC R0DEC R0PUSH A ;保护累加器内容MOV A,R0 ;取出参数ANL A,#0FH ADD A,#14 ;PC表偏移量MOVC A,A+PC XCH A,R0 ;低位十六进制数的ASCII码放入堆栈SWAP AANL A,#0FHADD A,#7 ;P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论