资源描述:
《汇编语言课程实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汇编语言实验报告2008-11-1237汇编语言实验报告系网络工程班级网061学号069074210姓名陈裕同组者指导教师纪平实验一汇编运行环境及方法、简单程序设计一、程序说明本程序用来比较两个字符串string1和string2所含的字符是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。在程序的数据段先定义两个字符串string1和string2,再定义两个字符串mess1和mess2,分别代表‘Match’和‘Nomatch’。再代码段比较字符串string1和string2,通过比较判断是否相同。若相同则显示‘Matc
2、h’,否则显示‘Nomatch’。二、调试说明再EDIT中建立ASM文件,再用汇编程序对源程序汇编产生目标文件Obj,再用连接程序产生执行文件EXE。再用Debug进行调试。其中常用到的指令有:用-g命令来用运行程序,用-u命令来显示程序,用-d命令来查看数据段的情况,用-e或-f命令来修改需要改正的部分,用-t指令来逐步执行程序,用-r指令来查看寄存器和修改寄存器的值,-q命令用来退出debug程序。在这些命令的后面加上地址,可以将命令执行到相应的地方。如用-g指令运行程序后,再用-u指令显示程序的执行借给如下:3737三、源程序清单和执
3、行结果DATASEGMENTSTRING1DB'Movethecursorbackward.'STRING2DB'Movethecursorbackward.'mess1db'match.',10,13,'$'mess2db'nomatch.',10,13,'$'DATAENDScodesegmentmainprocfarassumecs:code,ds:DATA,es:DATAstart:movax,DATAmovds,axmoves,axleasi,STRING1leadi,STRING2cldmovcx,25repzcmpsbjzma
4、tchleadx,mess2jmpshortdispmatch:leadx,mess1disp:movah,9int21hmovah,4chint21hretmainendpcodeendsendstart在debug中通过-g命令运行程序后,结果如下:3737实验二用DEBUG编程:使用堆栈段将AX和BX的内容进行交换等一、程序说明本实验包括两个部分,第一个部分是将AX和BX的内容进行交换,并用堆栈作为两寄存器交换内容的中间存储单元;第二部分是用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0D
5、H,0EH。在DEBUG状态下送入给出的程序中。第一个程序先将AX的内容进栈,然后将BX的内容赋给AX,再将出栈的内容赋给BX即可。第二个程序是在进入debug后,用-a指令输入给出的程序,然用-e指令安要求修改内存的内容,再用-t指令逐步执行每条指令,看修改的内存内容对指令执行结果的影响。二、调试说明第一部分先将程序编好后,在DOS环境下用masm程序生成obj文件,再用link程序生成exe文件,然后进入debug进行调试,用-t命令逐步运行程序,查看AX和BX中内容的变化。如果发现AX和BX中的内容进行了交换,则说明程序运行成功。第二
6、部分先将基本的程序结构编好,再进入debug程序,先用-u指令查看一下程序,结果如下:再用-a指令从13FC:000B后面输入已给出的程序,然后用-u0指令查看程序,结果如下37:这时可以先用-t指令将程序逐步执行到指令movax,bx之前,然后用-e300指令安要求修改相关的内存内容,再用-d300指令查看一下修改后的内存内容,结果如下:然后再用-t指令逐步执行程序,观察每步指令执行后,ax中的内容,结果如下:37可以看出,在执行完指令MOVAX,BX后,ax中的内容为AX=0300,在执行完指令MOVAX,0304H后,ax中的内容为A
7、X=0304,在执行完指令MOVAX,[0304H]后,ax中的内容为AX=580E,在执行完指令MOVAX,[BX]后,ax中的内容为AX=0B0A,在执行完指令MOVAX,0001[BX]后,ax中的内容为AX=0C0B,在执行完指令MOVAX,[BX][SI]后,ax中的内容为AX=0D0C,在执行完指令MOVAX,0001[BX][SI]后,ax中的内容为AX=0E0D,这样的结果应该和我们预期的一样。一、源程序清单和执行结果第一部分的源程序:DATASSEGMENTDATASENDSSTACKSSEGMENTSTACKSENDSC
8、ODESSEGMENT37ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVAX,3000HMOVBX,5