欢迎来到天天文库
浏览记录
ID:41775189
大小:126.62 KB
页数:8页
时间:2019-09-01
《北京理工大学汇编语言实验三字符串操作实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验三字符串操作实验(设计性实验)、实验要求和目的1.了解汇编语言字符串处理基本流程;2.熟悉汇编语言宇符串处理基本指令的使用方法;3.掌握利用汇编语言实现宇符串处理的程序设计方法。二、软硬件环境1.硬件环境:计算机系统windows2.软件环境:装有MASM、DEBUG、LINK、等应用程序.三、实验涉及的主要知识1.字符串处理基本操作流程⑴利用SI寄存器保存源串首地址⑵利用DI寄存器保存目的串首地址⑶利用CX寄存器保存字符串长度(4)的利用CLD或STD指令设置字符串处理方向.(5)利用宇符串处理指令实现相关处理.2.重复前缀指令重复次数由计
2、数寄存器ex中存放的值决定,指令每重复执行一次计数器ex中值减1,当CX中值减至0时,停止重复执行,继续执行下一条指令。REP无条件重复串操作直到计数寄存器的内容CX为0为止.经常与REP配合工作的宇符串处理指令有MOVS,STOS和LODSoREPE/REPZ判断计数寄存器的内容CX是否为0或ZF=O(即比较的两个操作数不等),只要满足一个则重复执行结束,否则继续执行.可以与REPE/REPZ配合工作的串指令有CMPS和SCASoREPNE/REPNZ判断计数寄存器的内容是否为0或ZF"(即比较的两个操作数相等),只要满足一个则重复执行结朿,否
3、则继续执行.可以与REPE/REPZ配合工作的串指令有CMPS和SCASo1.字符串处理基本指令(1)MOVS传送指令格式:MOVSDST,SRC或MOVSB(传送宇节)或MOVSW(传送字)。后而两种形式筒要与REP指令结合使用。该指令把由源变址寄存器(SRC)指向的数据段屮的一个字(或字节)数据传送到由目的变址寄存器(DST)指向的附加段中的一个宇(或字节)中去,同时,根据方向标志及数据格式(字或字节)对源变址寄存器和日的变址寄存器进行修改.(2)STOS存入串指令格式STOSDST或STOSB(存入字节)或STOSW(存入字)。该指令把AL
4、或AX的内容存入由目的变址寄存器指向的附加段的某单元屮,井根据方向标志(DF)相数据类型修改日的变址寄存端的内容.(3)LODS从串取指令格式LODSSRC或LODSB(収字节)或LODSW(取字)该指令把由源变址寄存器指向的数据段中某单元的内容传送到AL或AX中,并根据方向标志和数据类型修改源变址寄存器的内容。⑷CMPS串比较指令DST或CMPSB或CMPSW.该指令把由变址寄存器指向的数据段中的一个字节或字与由目的变址寄存器所指向的附加段中的一个字节或字相减,但不保存结果,只根据结果设置条件标志。该指令与REPE/REPZ或REPNE/REP
5、NZ结合,可以比较两个数据串。(5JSCAS串扫描指令格式:SCASDST或SCASB或SCASW。该指令把AL或AX的内容与由目的变址寄存器所指向的附加段屮的一个字节或字进行比较,并不保存结果,只根据结果设置条件码。该指令与REPE/REPZ或REPNE/REPNZ结合,可以从某个字符串屮查找一个指定的字符。总的来说,字符串处理可以将缓冲区中个数据块搬至存储器的另处,比较两个宇符串是否相等,从缓冲区中一个数据块寻找某一个特定的关键字,顺次从-个缓冲区取字符或顺次向一个缓冲区存字符等.!1!、程序流程图设计五.实验结果35C:WindowsS
6、ystem32COMMAND.COM•debugexp_3.exe0X^0040BX-0000CX=026ADX=0000SP=0040BP=0000SI=0000DI=0000DS=0DCFES=0DCFSS=0DDFCS=0DE3IP=0017NUUPElPLNZNAPONC0DE3:0017A11C00MOUAXU001C]DS:001C=001CIg00020030扁加piogznterminatednornallyIdds:0
7、0DCF:00005468652055GE6974-6564205374617465TheUnitedSta
8、te0DCF:001073206F6620416D65-726963611C005468sofAmerica..Th0DCF:00206520556E69746564-2073746174657320eUnitedstates0DCP:00306P6620416D657269-63611C0054686520ofAmerica・.The0DCF:0040556E697465642053-7461746573206F66UnitedStatesof0DCF:005020416D6572696361-0000000000000000America0D
9、CF:R0600000000000000000-00000000000000000DCF:00700000000000000000-00
此文档下载收益归作者所有