资源描述:
《东北大学汇编上机实验3》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三顺序结构程序设计实验一、实验目的1.掌握顺序结构程序的基本设计方法;2.掌握数据传送指令和算术运算指令的用法;3.掌握逻辑操作指令和移位操作指令的用法;4.掌握状态标志位操作指令的用法;5.掌握简单的I/O功能调用。二、实验要求1.熟练掌握DEBUG中的各命令的使用方法;2.学会利用系统功能调用,来实现键盘输入字符、显示字符的方法;3.学会十进制数字与其对应的ASCII码相互转换的方法;4.学会十六进制数字与其对应的ASCII码相互转换的方法;5.学会利用查表的方法实现代码的转换。三、实验内容1.编写十六进制数的乘法程序。要求从键盘上输
2、入两个一位十六进制数据,乘积存入SUM单元。2.编写程序,求表达式5X+Y的值,要求:X、Y值从键盘输入,X、Y均为一位十六进制数据,将计算结果存入SUM单元。四、解题思路利用INT21H的1号功能可以从键盘上输入数据,通过通用寄存器保存中间结果,完成各项计算功能。将结果的ASCII码保存在内存单元和DL寄存器中,然后利用INT21H的2号功能将其输出到屏幕上。输出到屏幕上一次只能显示4位二进制数,所以一个字节需要分两次才能显示出来。五、编程实现5.1内容1DSEGSEGMENTHTABDB'0123456789ABCDEF'SUMDW0,0
3、DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEG;初始化DS寄存器MOVDS,AXMOVAH,01H;从键盘上输入一个数X(默认放入AL)INT21HSUBAL,30H;输入的数据ASIIC码翻译成十六进制MOVBL,AL;X放入到BL中MOVDL,'*';规定要显示的符号必须在DL中MOVAH,02H;显示’*’INT21HMOVAH,01H;从键盘输入第二个数Y(默认放入AL)INT21HSUBAL,30H;输入的数据ASIIC码翻译成十六进制MULBL;AL*BLMOVSU
4、M,AX;保存数据到SUM中MOVCH,AL;利用CH和DH存放MOVDH,ALMOVDL,'=';规定要显示的符号必须在DL中MOVAH,02H;显示‘=’INT21HMOVCL,4SHRDH,CL;DH中保存了之前AL中的高四位MOVAL,DH;查表规定数据必须在AL中LEABX,HTAB;利用查表方法显示XLATMOVDL,AL;显示AL中的高四位MOVAH,02HINT21HANDCH,0FH;CH中保存了之前AL中的低四位MOVAL,CH;查表规定数据必须在AL中XLAT;查表方法显示MOVDL,ALMOVAH,02HINT21HM
5、OVAH,4CHINT21HCSEGENDSENDSTART运行结果如下如图3-1图3-15.2内容2DSEGSEGMENTHTABDB'0123456789ABCDEF'SUMDW0,0DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVAH,01H;从键盘上输入X,默认保存到AL中INT21HSUBAL,30HMOVBL,5;BL中保存数据5MULBL;X*5默认保存到AX中MOVCX,AX;X*5保存在CX中MOVDL,'*';屏幕上显示'*'前规定需要保
6、存到DL中MOVAH,02H;显示’*’INT21HMOVAL,05H;利用查表法输出5,之前必须放入到AL中LEABX,HTAB;查表获取地址XLAT;查表转换MOVDL,AL;屏幕显示数据5之前规定需要放到DL中MOVAH,02H;显示5INT21HMOVDL,'+';屏幕显示’+’之前规定需要放到DL中MOVAH,02H;屏幕显示’+’INT21HMOVAH,01H;从键盘上输入数据YINT21HSUBAL,30HMOVBL,AL;Y保存到BL寄存器中MOVBH,00HADCCX,BX;实现5X+YMOVSUM,CX;保存结果MOVDL
7、,'=';屏幕显示‘=’之前规定需放入到DL寄存器中MOVAH,02H;显示’=’INT21HMOVBH,CL;保存CL,因为下面指令SHR需用到CL寄存器MOVCH,CL;保存CL,因为下面指令SHR需用到CL寄存器MOVCL,4SHRBH,CL;右移4位,即为原来结果的高4位MOVAL,BH;放到AL中,便于查表转换后显示出来LEABX,HTAB;查表XLATMOVDL,AL;显示结果的高4位MOVAH,02HINT21HANDCH,0FH;原来结果低4位处理MOVAL,CH;查表转换XLATMOVDL,AL;显示结果低4位MOVAH,0
8、2HINT21HMOVAH,4CHINT21HCSEGENDSENDSTART运行结果如图3-2图3-2六、实验总结6.1心得体会6.2遇到的问题实验过程中遇到的问