资源描述:
《实验二_初级程序的编写与调试实验_姓名》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、重庆大学学生实验报告实验课程名称汇编语言程序设计开课实验室DS1501学院软件学院年级2014级专业班软件工程3班学生姓名学号开课时间2015至2016学年第1学期总成绩教师签名王志平软件工程学院制《汇编语言程序设计》实验报告(格式样本)开课实验室:DS1501机房2015年10月日学院软件学院年级、专业、班13级软件工程班姓名成绩课程名称汇编语言程序设计实验项n名称实验二:初级程序的编写与调试实验指导教师王志平教师评语教师签名:王志平2015年月F1-【实验目的】1.进-步熟悉DEBUG命令;2.掌
2、握数据在内存中的存放方式和内存操作数的儿种寻址方式,段寄存器和物理地址计算;3.熟悉数据传送指令、算术运算指令、逻辑指令、数据串传送程序和数据串传送指令MOVS、STOS及重复前辍REP;4•学握简单的汇编语言程序编写与调试。二【实验环境】PC微机;DOS操作系统或Windows操作系统;MASM.EXE,LINK.EXE,DEBUG.COM或宏汇编集成环境。三【实验要求】1.仔细阅读有关DEBUG命令的内容,对有关命令,要求事先准备好使用的例子;2.阅读数据传送指令、算术运算指令、逻辑指令、数据串传
3、送程序和数据串传送指令MOVS、STOS及重复前辍REP的內容;3.用DEBUG的冇关命令调试木实验中的求累加和程序、多字节加法程序、数据串搬家程序段。四【预备知识】Debug的使用(1)什么是Debug?Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CFU各种寄存器小的内容、内存的情况和在机器码级跟踪程序的运行。(2)我们用到的Debug功能•用Debug的R命令查看、改变CPU寄存器的内容;•用Debug的D命令查看内存中的内容;•用Debug的E
4、命令改写内存中的内容;•用Debug的U命令将内存屮的机器指令翻译成汇编指令;•用Debug的T命令执行一条机器指令;•用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。五【实验内容】1.内存操作数及各种寻址方式使用;2.求累加和程序;3.多字节加法程序;4.数据串搬家程序;5.段寄存器概念及字符串传送指令练习。六【实验步骤】1.内存操作数及各种寻址方式使用MOVAX,1234MOV[1000],AXMOVBX,1002MOVBYTEPTRLBXJ,20MOVDL,39INCBXMOV[B
5、X],DLDECDLMOVSI,3MOV[BX+SIJ,DLMOV[BX+SI+1],DLMOVWORDPTR[BX+SI+2],2846步骤:(1)用A命令键入上述程序,并用T命令逐条运行。C:IIMD0ISsystcb32DEBUG.exe-A1397:0100movax^.12341397:0103nou[1000),ax1397:0106movbx,10021397:0109noubyteptr[bx1,20139?:010Cnoudl.391397:010Eincbx1397:R1RF
6、nou(bxl.dl1397:0111decdl1397:0113mousi.31397:0116mov[bx^sil.dl1397:0118now(bx^si^l],dl1397:H11Bnovwordptr[bx*si*2J.28461397:01201IAX-1234BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000P)S=1397ES=1397SS=1397CS=1397IP=0103NUUPElPLNZNAP0NCE397:0103A30010
7、MOU(1000]^AXDS:1000-0000(2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。注意D命令显示结果中右边的ASCII字符及双字节数存放法。一D1R01397:0100B83412A30010BB02-10C60720B23943881397:011017FECRBE03008810-885001C?40024628139?:0120CC00000000000000-00000000000000001397:0130»000000000恥
8、0H0000的0H001397:0140000000B000000000-000000000000001397:01500000000000000000-00000000000000001397:01600000000000000000-00000000000000001397:01700000000000000000-0000000000000000cTC:IIKD0fSsysteB32DEBUG.exe-nlxlAX=1234BX=1003DS