资源描述:
《清华大学计算机硬件技术基础课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三节汇编语言程序举例例一、数据传送程序例二、查找关键字▲掌握DOS的装入和返回功能复习DOS系统的启动过程执行用户程序后,若要返回DOS状态,即在屏幕上出现DOS提示符,等待输入新的命令,应在用户程序的最后安排完成此功能的程序段。通常采用调用DOS系统功能完成。调用DOS系统的4CH功能,返回DOS方法:在要返回DOS处,安排指令:MOVAH,4CHINT21H执行完4CH的功能调用,即返回DOS。例codeSEGMENTASSUMECS:codestart:、、、;程序主体部分、、、、、、MOVAH,4CH;返回DOSIN
2、T21HcodeENDSENDstart例一编写完整汇编语言程序,完成内存数据块传送功能。将某段中的字符串“Hello!”传送到另一段中。aaSEGMENT;数据段1xxDB'Hello!’;定义源串aaENDSbbSEGMENT;数据段2yyDB6dup(?);定义目的缓冲区bbENDSccSEGMENT;代码段ASSUMECS:cc,DS:aa,ES:bb;指示指令中标号,变量所在段start:CLD;设置传送方向MOVAX,aa;DS:SI←源串首地址MOVDS,AXLEASI,xxMOVAX,SEGyy;ES:DI←目
3、的首地址MOVES,AXMOVDI,OFFSETyyMOVCX,6;CX←串的长度REPMOVSB;串传送MOVAH,4CH;调用4CH系统功能,返回DOSINT21HccENDSENDstart;指示程序结束和程序入口D:>EDIThello.asm;编写源程序D:>MASMhello;;汇编源程序Microsoft(R)MacroAssemblerVersion5.10Copyright(C)MicrosoftCorp1981,1988.Allrightsreserved.49860+421241Bytessymbol
4、spacefree0WarningErrors0SevereErrorsD:>LINKhello;;连接程序Microsoft(R)OverlayLinkerVersion3.61Copyright(C)MicrosoftCorp1983-1987.Allrightsreserved.LINK:warningL4021:nostacksegmentD:>hello;执行程序D:>D:>DEBUGhello1.exe;利用DEBUG查看结果-U;查看程序代码129F:0000FCCLD129F:0001B89D12MOV
5、AX,129D129F:00048ED8MOVDS,AX129F:00068D360000LEASI,[0000]129F:000AB89E12MOVAX,129E129F:000D8EC0MOVES,AX129F:000FBF0000MOVDI,0000129F:0012B90600MOVCX,0006129F:0015F3REPZ129F:0016A4MOVSB129F:0017B44CMOVAH,4C129F:0019CD21INT21、、、、、、-D129D:0L20;执行程序前,查看源串内容129D:00004865
6、6C6C6F210000-0000000000000000Hello!..........129D:00100000000000000000-0000000000000000................-D129E:0L20;执行程序前,查看目的串129E:00000000000000000000-0000000000000000................129E:0010FCB89D128ED88D36-0000B89E128EC0BF.......6........--G;执行程序Programterminate
7、dnormally-D129E:0L20;查看目的串129E:000048656C6C6F210000-0000000000000000Hello!..........129E:0010FCB89D128ED88D36-0000B89E128EC0BF.......6........-D129d:0L50;从源串重新查看129D:000048656C6C6F210000-0000000000000000Hello!..........129D:001048656C6C6F210000-0000000000000000Hello
8、!..........129D:0020FCB89D128ED88D36-0000B89E128EC0BF.......6........129D:00300000B90600F3A4B4-4CCD2109E8080003........L.!.....129D:0040F1