东北大学汇编上机实验.doc

东北大学汇编上机实验.doc

ID:56909233

大小:37.00 KB

页数:7页

时间:2020-07-23

东北大学汇编上机实验.doc_第1页
东北大学汇编上机实验.doc_第2页
东北大学汇编上机实验.doc_第3页
东北大学汇编上机实验.doc_第4页
东北大学汇编上机实验.doc_第5页
资源描述:

《东北大学汇编上机实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验六子程序设计实验一、实验目的1.掌握过程调用指令与过程返回指令的用法;2.掌握主程序与子程序之间的参数传送方法;3.掌握调用子程序时堆栈的变化情况及利用压栈、出栈保护现场的方法;4.掌握嵌套及递归子程序的设计方法。二、实验要求1.仔细阅读教材中有关子程序设计的章节;2.学会编写子程序说明文件;3.学会设置断点检查堆栈指针的变化及堆栈内容;4.学会用DEBUG中的P命令调试子程序;5.学会在子程序设计中保护所用到的寄存器。三、实验内容1.采用一般子程序设计方法和递归子程序设计方法,编写计算

2、Xn的子程序要求:X值与n值由键盘输入,计算结果以十六进制形式在屏幕上显示。2.编写程序,完成一位十六进制数的加、减、乘、除运算。要求:从键盘输入参加运算的一位十六进制数,运算结果以十六进制形式在屏幕上显示,加、减、乘、除运算要用子程序编写。四、解题思路1.对于实验内容1,X值和n的值可以利用INT21H的1号功能从键盘上输入,计算结果利用INT21H的2号功能从键盘上输出。可以用递归子程序实现Xn(次幂)的计算;2.对于实验内容2,键盘输入的数和运算符号,输入的运算符号和’+’,’-

3、’,’*’,’/’比较,与那个符号相等就转去执行相应的子程序。子程序的结果可以都把出口条件设置为相同的寄存器,这样便于程序输出结果。五、编程实现5.1内容1子程序说明文件如下:(1)子程序名:CIMI;(2)子程序功能:计算X^n;(3)入口条件:X的值放在DL中;(4)出口条件:X^n值在AX中;(5)受影响的寄存器:AX,BX和标志寄存器F。程序清单如下:DSEGSEGMENTRLTDW0DSEGENDSSSEGSEGMENTSTACKSKTOPDB100DUP(0)SSEGENDSCSEG

4、SEGMENTASSUMECS:CSEGASSUMEDS:DSEGASSUMESS:SSEGSTART:MOVAX,DSEGMOVDS,AXMOVAX,SSEGMOVSS,AXMOVSP,SIZESKTOPMOVAH,01H;输入XINT21HSUBAL,30HMOVDL,AL;保存X在DL中PUSHDXMOVDL,'^';输出符号‘^’MOVAH,02HINT21HPOPDXMOVAH,01H;输入nINT21HSUBAL,30HMOVBL,AL;保存n在BL中XORBH,BH;BH清零PUS

5、HDXMOVDL,'=';输出‘=’号MOVAH,02HINT21HPOPDXMOVAL,DL;默认的入口条件AL存X数据CALLCIMI;调用子函数MOVRLT,AX;保存结果在RLT单元MOVBL,AL;保存结果便于输出MOVBH,ALMOVCL,4SHRBH,CLMOVDL,BH;输出结果高四位CMPDL,9JNASHU1ADDDL,7SHU1:ADDDL,30HMOVAH,02HINT21HMOVDL,BL;输出结果低四位ANDDL,0FHCMPDL,9JNASHU2ADDDL,7SHU

6、2:ADDDL,30HMOVAH,02HINT21HMOVAH,4CHINT21HCIMIPROCNEAR;子程序清单ANDBX,BXJZCIMI1DECBXCALLCIMI;递归调用MULDLRETCIMI1:MOVAL,1RETCIMIENDPCSEGENDSENDSTART运行结果如下如图6-1图5-1内容1的运行结果5.2实验内容2子程序设计思路:设计四个子程序,分别完成两数相加、相减、相乘、相除的功能。子程序说明文件1:(1)子程序名:JIA;(2)子程序功能:计算两个数a,b之和;(

7、3)入口条件:a的值放在BH中,b的值放在BL中;(4)出口条件:结果值在AL中;(5)受影响的寄存器:AX,BX。子程序说明文件2:(1)子程序名:JIAN;(2)子程序功能:计算两个数a,b之和;(3)入口条件:a的值放在BH中,b的值放在BL中;(4)出口条件:结果值在AL中;(5)受影响的寄存器:AX,BX。子程序说明文件3:(1)子程序名:CHENG;(2)子程序功能:计算两个数a,b之和;(3)入口条件:a的值放在AL中,b的值放在BL中;(4)出口条件:结果值在AL中;(5)受影响

8、的寄存器:AX,BX。子程序说明文件4:(1)子程序名:CHU;(2)子程序功能:计算两个数a,b之和;(3)入口条件:a的值放在AX中,b的值放在BL中;(4)出口条件:结果值在AL中;(5)受影响的寄存器:AX,BX。程序清单如下:DSEGSEGMENTRLTDW0DSEGENDSSSEGSEGMENTSTACKSKTOPDB100DUP(0)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGASSUMESS:SSEGSTART:MOVAX,DSEGMOVDS,

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

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

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