资源描述:
《用汇编语言制作一个加法器》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、用汇编语言制作一个加法器一、实验目的1、掌握条件分支的汇编程序设计方法。2、熟悉汇编软件,掌握汇编程序的编写和调试方法。3、掌握数据和字符的显示方法。二、实验原理在数据段上存放两个8位的非压缩BCD码数据X、Y,如下表:X09HY08HCARRYRESULT把这两个BCD码相加,结果以ASCII码方式存放在RESULT中。如果有进位,CARRY=31H,否则CARRY=30H(31H为“1”的ASCII码,30H为“0”的ASCII码)。并在屏幕上显示结果。提示,字符输出程序:MOVDL,“待输出的ASCII码”MOVAH,2INT21H如何
2、取数据:MOVSI,OFFSETXMOVAL,[SI]三、实验内容代码内容如下:DATASSEGMENTXDB09HYDB08HLDB00HCARRYDB?RESULTDB10,13,'8+9=',?,?,10,13,10,'CARRY=',?,?,?,'$'DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS;,SS:STACKSSTART:MOVAX,DATAS;MOVDS,AX;LEASI,X;LEADI,Y;MOVAL,[SI];ADCAL,[DI];MOVRESULT,AL;JCDONEMOV[C
3、ARRY],30HJMPSHOWDONE:MOV[CARRY],31HSHOW:MOVBH,[CARRY]MOV[RESULT+17],BHMOVAL,[RESULT];ANDAL,0FH;ADDAL,36H;MOV[RESULT+7],AL;MOVAL,[RESULT];MOVCL,4;SHRAL,CL;ADDAL,30H;MOV[RESULT+6],AL;LEADX,RESULT;MOVAH,09HINT21H;MOVAH,4CHINT21HCODESENDSENDSTART运行结果:四、实验总结本人之前学习过51单片机相关知识,并懂得用
4、C语言写一些程序。对于汇编语言只能看懂一些。通过对微机的学习、以及本次试验课程,我熟悉了汇编软件,掌握汇编程序的编写和调试方法;掌握了条件分支的汇编程序设计方法;掌握数据、字符和字符串的显示方法和学会了编写一些简单的程序,使我获益菲浅。但感觉还是C语言好用,希望通过深入学习发现汇编语言的魅力,以及深入了解微机这门课程的意义。