资源描述:
《微机原理实验1实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Q卩
2、丈垮SICHUANUNIVERSITY微机原理与接口技术实验报告实验一汇编语言编程基础学院:电气信息学院专业:通信工程姓名:曹勇教师:刘连宇学号:2014141443003时间:2016年4月目录一、实验目的二、实验内容1.熟悉上机步骤2.熟悉使用DEBUG调试工具3•多字节非压缩型BCD数除法程序清单四、程序错误五、程序框图六、程序结果七、心得体会实验1)了解并逐步熟悉汇编语言的编辑方法及特点;2)复习8088汇编语言的段结构、常用的指令与伪指令、存储空间的分配等;3)掌握汇编语言的编辑、汇编及连接的过程;4)了解并逐步掌握运用DEBUG进行调
3、试汇编语言程序.实验内容1)编辑EDIT.COM;2)用汇编程序MASM.Exe对源程序.ASM文件汇编住成目标文件OBJ;3)连接LINK.EXE;4)运行和调试DEBUG.EXE.2•熟悉使用DEBUG调试工具1)N命令:用于指定进行读写的磁盘上的文件;2)L命令:将指定的文件装入内存中;3)U命令:反汇编;4)T命令:单步运行命令;5)P命令:单步运行命令;2)G命令:连续执行内存中的程序;3)D命令:显示指定范围(range)内的内存单元的内容;4)R命令:显示的是各标志位的状态(置位/复位);5)E命令:用键入的字节(Byte)值或替换值列表
4、修改指定内存单元的内容参数;6)F命令:用list所表示的字节值对指定范围的内存单元进行填充在命令中;7)A命令:接收从键盘键入的8086/8088指令,将其汇编成目标代码;8)Q命令:结束DEBUG.1.多字节非压缩型BCD数除法1)运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为乂ASM;2)运用MASM•EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*0BJ文件;3)运用LINK.EXE文件进行连接,形成TEXE文件;4)仔细阅读和体会DEBUG调试方法z掌握各种命令的使用方法;5)运用DEBUG.EXE文
5、件进行调试,使用单步执行命令一T两次,观察寄存器中内容的变化,使用察看存储器数据段命令一D观察存储器数据段内数值;6)再使用连续执行命令一G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正.三.程序清单DATASEGMENT%定义数据区,定义变量为A,B,C,N;ADB9,6,8,7,5%定义被除数96875;BDB5%定义除数5;CDB5DUP(0)%定义商,为五位数;EQU5%字节除的次数;DATAENDSCODESEGMENT%定义代码段;ASSUMECS:CODE;DS:DATA;ES:D
6、ATASTART:MOVAX,DATAMOVDS,AX%设置数据段的段地址;MOVES,AX%设置堆栈段的段地址;CLDLEAST,ALEADI,CMOVCX,NMOVAH,0%取A的有效地址,传送给SI;%取(:的有效地址,传送给DI;%设置字节除和屏幕输出的循环次数;%将AH赋值为0;AAD%除法ASCII调整指令,调整为二进制;DIVBSTOSB%将AL中的值赋给DI,DI加1;LOOPLP1%循环字节除5次MOVCX,NLEAr)T,C%取C的有效地址,传送给DI;MOVDL,[DI]%将DI所指单元内容赋给DL寄存器;ADDDL,30H%将商
7、转换为ASCII码;MOVAH,2%调用DOS的显示输出中断,在屏幕上显示结果INT21HTNCDT%DI指向下一位数据;LOOPLP2%循环五次,在屏幕上输出五位所求结果;MOVAH,4CH%DOS功能调用语句,结束本程序的运行;INT21HENDS%定义代码段结束;ENDSTART%整个程序结束.CODE:LP2:LP1:LODSB%将SI中的字节赋值给AL寄存器,SI加1;三.程序错误1.STARTMOVAX,DATA;错误原因:START后面需要加〃,否则会出现语法错误;正确格式:START:MOVAX,DATA2.LEBDI,C;错误原因:汇
8、编语言中没有LEB指令,应该是LEA,有效偏移地址;正确格式:LEADIZC;3.MOVDLZ[DI];MOVAH,2;错误原因:输出到屏幕上的值必须转换为ASCII码z因此不能直接输出;正确格式:MOVDLJDI];ADDDLz30H;MOVAH,2;1.DECDI;错误原因:本程序中DF=O,所以每输出一个值,DI应该加1,而不是减1;正确格式:INCDI;三.程序框图设置被除数、商的地址指针设置单位除法次数计数器取被除数一位作I•进制调整作字节除法、存商被除数各位已除完?取被除数一位作十进制调整三.程序结果DOSBOXDOSBox0.74fCpu
9、speed:3000cycles,Frameskip0fProgram:DEB…C:>deb