资源描述:
《微机原理与接口技术实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、微机原理与接口技术实验报告SDU微机原理与接口技术实验报告梁聚仁2008001201005山东大学微机原理与接口技术实验报告实验一上机练习实验目的:1、掌握用编辑软件编辑程序文本的方法。在DOS环境下,熟练掌握用MASM5.0宏汇编程序对ASM文件进行编译、连接等操作步骤。2、熟悉用DEBUG调试程序。实验要求:选取教科书中一典型例题,用编辑软件在PC机中形成ASM文件,然后编译、连接,生成目标文件和可执行文件。再用DEBUG程序进行调试。实验步骤:实验程序如下:5山东大学微机原理与接口技术实验
2、报告datasegmentary1db12,34,45,56,67,78,89,90,18cont1equ$-ary1;ary1的长度sum1dw?ary2db13h,24h,57h,68h,9ah,0bch,0cdh,0deh,80h,50hcont2equ$-ary2sum2dw?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axleasi,ary1movcx,cont1;设定循环次数为ary1的个数callsum
3、leasi,ary2movcx,cont2callsummovah,4ch;结束程序功能调用4CHint21hsumproc;求和程序段,求该段所有数之和xorax,ax;ax清零为下面加法准备next1:addal,[si]adcah,0incsiloopnext1mov[si],ax5山东大学微机原理与接口技术实验报告ret;返回调用程序sumendp;程序段结束codeendsendstart5山东大学微机原理与接口技术实验报告点击“运行”点击“编译成目标文件”,编译成功后,再“运行”=〉
4、“生成可执行文件”,然后运行,即可。运行成功以后,可进行调试。点击工具栏的调试按钮,出现调试框。其命令如下:输入a,进行逐行汇编,输入c,比较两内存块,输入d,内存信息以16进制显示;输入e,修改内存指定的字节;输入f,可以预置一段内存;输入g,执行程序;输入h,制算术运算;输入i,从指定端口地址输入;输入l,读盘;输入m,内存块传送;输入n,置文件名;输入o,从指定端口地址输出;输入q,结束DEBUG调试;输入r,显示和修改寄存器;输入s,查找字节串;输入t,跟踪执行;输入u,反汇编;输入w,
5、存盘操作。实验总结:1、通过实验,熟悉了MASM环境,了解了程序书写,编译和运行的方法。2、实验过程中,在调试的时候,各调试命令的用法十分复杂,如指令P,单输入p只会执行一步,若要一次执行多步,可以在后面加上数字。通过练习,熟悉了各调试指令。实验二两个多位十进制数相加实验目的:1、学习数据传送和算术运算指令的用法。2、熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序过程。实验要求:将两个多位十进制数(如四位)相加,要求被加数、加数以ASCII码形式按顺序存放在以DATA1和DATA2为首的
6、5个内存单元中(低位在前)。结果显示在屏幕上。实验步骤:实验程序如下:5山东大学微机原理与接口技术实验报告DATASSEGMENTnum1db'3','2','4','5','0';被加数num2db'2','6','7','1','0';加数sdb'5423+1762=$';显示的公式形式,$表示输出结束DATASENDSCODESSEGMENT5山东大学微机原理与接口技术实验报告ASSUMECS:CODES,DS:DATAS,ES:DATASSTART:MOVAX,DATASMOVDS,AX
7、;DS指向数据段movES,AX;ES指向数据段movcx,5;5次循环leadx,s;要显示的字符串的首偏移地址movah,9h;9号DOS功能调用显示字符串sint21hmovsi,offsetnum1;si指向num1首地址movdi,offsetnum2;di指向num2首地址clc;清零进位寄存器CFadds:LODSBadcal,[di];有符号加法aaa;调整ASCII码加法结果指令stosb;所得结果以字节为单位存储到数据段di指向的位置,di+1loopadds;循环知道cx为
8、零,cx-1movah,02h;以下为输出加法结果movcx,5;共有5位数循环5次adjust:movdl,[di-1]ordl,30h;二进制数转换成其相应ASCII码decdi;输出下一位int21hloopadjustMOVAH,4CHINT21H;21号功能调用程序退出CODESENDSENDSTART5山东大学微机原理与接口技术实验报告输入程序编译成功以后,显示如下图:5山东大学微机原理与接口技术实验报告实验总结:1、通过实验,学会了使用汇编语言实现多位十进制数的相加运算。2、实验中