微机原理实验报告四

微机原理实验报告四

ID:41111890

大小:216.50 KB

页数:5页

时间:2019-08-16

微机原理实验报告四_第1页
微机原理实验报告四_第2页
微机原理实验报告四_第3页
微机原理实验报告四_第4页
微机原理实验报告四_第5页
资源描述:

《微机原理实验报告四》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、微型计算机原理与接口技术实验报告一、实验内容实验4循环结构、子程序结构的设计实验题目编程实现对1~50累加求和;编写统计X数据(AL)中的“1”的个数子程序,并编写主程序调用;编程实现代码转换程序,实现十进制到十六进制的转换,并显示输出。内容提要掌握循环程序的设计,观察循环计数器的变化;掌握子程序的设计,观察IP、SP的变化。二、实验的源代码(.asm文件内容)第一部分:编程实现对1~50累加求和程序如下:DATASSEGMENTSUMDW?DATASENDSCODESEGMENTASSUMECS

2、:CODE,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,0MOVCX,50AGAIN:ADDAX,CXDECCXJNZAGAINMOVSUM,AXMOVAH,4CHINT21HCODEENDSENDSTART第二部分:编写统计X数据(AL)中的“1”的个数子程序,并编写主程序调用程序如下:DATASSEGMENTXDB31HRESULTDW?DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASMAINPROCFARSTART:P

3、USHDSMOVAX,0PUSHAXMOVAX,DATASMOVDS,AXCALLFARPTRCOUNTRETMAINENDPCOUNTPROCFARMOVCX,0MOVAL,XAGAIN:ANDAL,ALJZEXITSHLAL,1JNCNEXTINCCXNEXT:JMPAGAINEXIT:MOVRESULT,CXRETCOUNTENDPCODESENDSENDSTART第三部分:编程实现代码转换程序,实现十进制到十六进制的转换,并显示输出程序如下:DECTOHEXSEGMENTASSUMECS:

4、DECTOHEXMAINPROCFARREPEAT1:CALLKEYDTOBCALLCRLFCALLBTOHSCRCALLCRLFJMPREPEAT1MAINENDPKEYDTOBPROCNEARMOVBX,0KEYIN:MOVAH,1INT21HSUBAL,30HJLEXITCMPAL,9JGEXITCBWXCHGAX,BXMOVCX,10MULCXXCHGAX,BXADDBX,AXJMPKEYINEXIT:RETKEYDTOBENDPBTOHSCRPROCNEARMOVCH,4ROTATE:M

5、OVCL,4ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,3AHJLPRINTADDAL,07HPRINT:MOVDL,ALMOVAH,2INT21HDECCHJNZROTATERETBTOHSCRENDPCRLFPROCNEARMOVDL,0DHMOVAH,2INT21HMOVDL,0AHMOVAH,2INT21HRETCRLFENDPDECTOHEXENDSENDMAIN一、实验的(显示)结果第一部分和第二部分显示均为:Pressanykeytocontinu

6、e第三部分可以从键盘输入一个数字,以非数字键结束即可,屏幕上就会以十六进制显示出来,可以重复输入,重复显示,每个数据占一行。第一部分CV调试结果如下:第二部分CV调试结果如下:第三部分CV调试结果如下:一、实验(调试)心得第一部分:编程实现对1~50累加求和这个一个典型的循环程序,循环体AGAIN包含循环处理和循环控制部分,完成累加计数,计满50,结束存和,循环结束。第二部分:编写统计X数据(AL)中的“1”的个数子程序,并编写主程序调用本实验是进行子程序的设计与调用。子程序用过程来描述,用过程定

7、义伪指令PROC/ENDP进行定义,需用时,用调用指令CALL调用,子程序执行完毕,应该返回到调用指令的下一条指令继续执行。子程序COUNT和调用程序MAIN在同一模块中,故子程序可直接访问模块的数据区。在子程序内部,应将用到的寄存器数据用入栈指令PUSH亚如堆栈保护,待子程序返回调用程序之前应将保护起来的寄存器数据用弹出指令POP按后进先出的原则弹回原来寄存器中。第三部分:编程实现代码转换程序,实现十进制到十六进制的转换,并显示输出本程序使用了子程序结构,整个程序包括一个主程序和三个子程序KEY

8、DTOB、CRLF、BTOHSCR。程序开始运行后,调用KEYDTOB从键盘区的十进制数存入BX中,再调用CRLF显示回车和换行,保证一个数据占一行,然后调用BTOHSCR,,以十六进制数显示BX中的数据,最后再调用一次CRLF显示回车和换行,一个数据的输入输出显示就完成了。在子程序中还使用了循环语句,使一个数据的输入输出结束之后可以进行下一个数据,是该程序可以重复输入和输出。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。