汇编语言比较两个字符串的大小 - 图文 下载本文

实验二 比较两个字符串的大小

一、实验要求

从键盘上输入两个字符串,比较两个字符串的大小。如果第一个字符串比第二个字符串大,则显示1;如果两个字符串相等,则显示0;如果第一个字符串比第二个字符串小,则显示-1

(1)画出实现上述功能的汇编语言程序流程图 (2)写出实现上述功能的汇编语言程序

(3)编译,连接编写的汇编语言程序,并运行生成的可执行文件,描述其执行情况

(4)对上述程序进行调试

(5)描述反编译后的程序在执行前的数据段的内容何在调试过程中各寄存器的变化。

(6)写出实现上述要求的实验报告

二、实验环境

该试验包括的硬件和软件条件如下: 1、硬件环境

(1)联想AMD双核台式电脑 (2)内存1G 2、软件环境 Windows XP

三、实验步骤

1.程序流程图

开 始 提示输入第一个字符串 输入第一个字符串 提示输入第二个字符串 输入第二个字符串 将string1的长度存到bl中 然后和string2的长度比较 保证di为较短长度的字符串 JB REPZ CMPSB JZ RESULT “-1” RESULT “0” JA RESULT “1” EXIT

2.程序代码

data segment

msg1 DB \string1 DB 100,0,100 dup(?)

msg2 DB \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