为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > [教学]汇编语言比较两个字符串的大小

[教学]汇编语言比较两个字符串的大小

2017-11-28 10页 doc 197KB 20阅读

用户头像

is_219945

暂无简介

举报
[教学]汇编语言比较两个字符串的大小[教学]汇编语言比较两个字符串的大小 实验二 比较两个字符串的大小 一、实验要求 从键盘上输入两个字符串,比较两个字符串的大小。如果第一个字符串比第二个字符串大,则显示1;如果两个字符串相等,则显示0;如果第一个字符串比第二个字符串小,则显示-1 (1)画出实现上述功能的汇编语言程序流程图 (2)写出实现上述功能的汇编语言程序 (3)编译,连接编写的汇编语言程序,并运行生成的可执行文件,描述其执行情况 (4)对上述程序进行调试 (5)描述反编译后的程序在执行前的数据段的内容何在调试过程中各寄存器的变化。 (6)...
[教学]汇编语言比较两个字符串的大小
[教学]汇编语言比较两个字符串的大小 实验二 比较两个字符串的大小 一、实验要求 从键盘上输入两个字符串,比较两个字符串的大小。如果第一个字符串比第二个字符串大,则显示1;如果两个字符串相等,则显示0;如果第一个字符串比第二个字符串小,则显示-1 (1)画出实现上述功能的汇编语言程序流程图 (2)写出实现上述功能的汇编语言程序 (3)编译,连接编写的汇编语言程序,并运行生成的可执行文件,描述其执行情况 (4)对上述程序进行调试 (5)描述反编译后的程序在执行前的数据段的何在调试过程中各寄存器的变化。 (6)写出实现上述要求的实验报告 二、实验环境 该试验包括的硬件和软件条件如下: 1、硬件环境 ,1,联想AMD双核台式电脑 ,2,内存1G 2、软件环境 Windows XP 三、实验步骤 1.程序流程图 开 始 提示输入第一个字符串 输入第一个字符串 提示输入第二个字符串 输入第二个字符串 将string1的长度存到bl中 然后和string2的长度比较 保证di为较短长度的字符串 JB JA REPZ CMPSB JZ RESULT “-1” RESULT “1” RESULT “0” EXIT 2.程序代码 data segment msg1 DB "Please input a string:",'$' string1 DB 100,0,100 dup(?) msg2 DB "Please input another string:",'$' string2 DB 100,0,100 dup(?) msg3 db 0ah,0dh result DW ?,'$' Data ends Stack segment para stack db 20h dup(0) Stack ends code segment Assume Cs:code,Ss:stack,ds:Data Start: mov ax,data mov ds,ax mov es,ax lea dx,msg1 mov ah,09h int 21h lea dx,string1 mov ah,0ah int 21h xor bx,bx mov bl,string1+1 lea dx,msg3 mov ah,09h int 21h lea dx,msg2 mov ah,09h int 21h lea dx,string2 mov ah,0ah int 21h lea dx,msg3 mov ah,09h int 21h cmp bl,string2+1 ja lop1 jb lop2 jmp lop3 lop1: mov cl,string2+1 jmp lop3 lop2: mov cl,string1+1 jmp lop3 lop3: mov cl,bl cld lea di,string2+2 lea si,string1+2 repz cmpsb ja mat1 jb mat2 jz mat3 mat1: mov result,'1' lea dx,result mov ah,09h int 21h jmp exit mat2: mov result,'1-' lea dx,result mov ah,09h int 21h jmp exit mat3: mov result,'0' lea dx,result mov ah,09h int 21h jmp exit exit: mov ah,4ch int 21h code ends end start 3.运行结果 图2-01所示汇编程序 屏幕出现欢迎信息,提示输入第一个字符串 图2-02提示输入第一个字符串 输入第一个字符串“abcde”,提示驶入第二个字符串“efg” 图2-03提示输入第二个字符串 显示结果resule“-1” 图2-04显示运行结果 4.调试程序 点击build---debug program即可进入调试窗口。如图2-05所示 图2-05所示调试程序 在操作前,可以看到数据段内容为: 图2-06所示数据段 在初始化数据之后,寄存器如图2-07所示: 图 2-07 此时寄存器如图 2-08所示: 图2-08 继续向后执行,输入第一个“abcde”字符串后,数据段如下所示: 图 2-09 此时寄存器如图2-10所示: 程序继续向后运行,输入第二个“efg”后,程序继续向后运行,当到“CMP” 时,可以看到此时寄存器的数据段: 图2-11 此时寄存器状态如图2-12所示: 在程序运行到最后是,寄存器状态为: 由此寄存器中的cx由最初的5变成了4,即判断了字符串大小。 四、结论 通过本次实验,我学会了如何利用已经学会的语言命令来实现一些简单的程序,如何使用”CMPSB”来两个字符串比较大小的方法,同时通过对应实验中的例题,同时也对汇编的上机编程有了更深入的了解。
/
本文档为【[教学]汇编语言比较两个字符串的大小】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索