回 帖 发 新 帖 刷新版面

主题:求助,31号汇编实验考试的题目,谁帮我该下下啊,急啊!!!!(在线等)

题目
array1和array2是数据段中各含有50个字元素的两个数据组,若两 个数组相等,则在屏幕上显示‘array1=array'.否则显示’array1!=arrat2'.比较两个数组是否相等由子程序调用完成,显示结果信息由宏调用完成。
提示
比较两个字符串是否相等,对这两个字符串中相同位置的元素逐一比较即可。若某两个元素的比较结果不等,则来年各个字符串不等,比较过程结束,若比较到最后两个元素的结果仍相等,则两个字符串相等,比较过程结束。
程序中可设置一个辅助变量用于存放比较结果。只要某次比较结果不等,则对该变量赋值。宏定义体中根据这个辅助变量的值选择显示哪个结果信息。

回复列表 (共1个回复)

沙发

以下是个类似的题目,帮我改下下啊

DATA  SEGMENT
          S1  DB        'Please input string1: $'
          S2  DB        'Please input string2: $'
          S3  DB        'MATCH$'
          S4  DB        'NO MATCH$'
          S5  DB        10,0,10 DUP(0)
          S6  DB        10,0,10 DUP(0)

        DATA  ENDS
        CODE  SEGMENT
              ASSUME    CS:CODE,DS:DATA

      START:  MOV       AX,DATA     ;put data to DS
              MOV       DS,AX
              MOV       ES,AX

              LEA       DX,S1       ;show message1
              MOV       AH,09H
              INT       21H

              LEA       DX,S5       ;input string1
              MOV       AH,0AH
              INT       21H

              MOV       DL,0DH      ;cr
              MOV       AH,02H
              INT       21H
              MOV       DL,0AH      ;next line
              MOV       AH,02H
              INT       21H


              LEA       DX,S2       ;show message2
              MOV       AH,09H
              INT       21H


              LEA       DX,S6       ;input string2
              MOV       AH,0AH
              INT       21H

              MOV       DL,0DH      ;cr
              MOV       AH,02H
              INT       21H
              MOV       DL,0AH      ;next line
              MOV       AH,02H
              INT       21H

              MOV       SI,2
       MARK:  MOV       DI,OFFSET S6+2          ;the first character of s6
              MOV       AL,S5[SI]   ;the character to be found in s6
              MOV       CL,S6[1]    ;characters of s6
              MOV       CH,0        ;increase cl to cx
              CLD                   ;set direction flag
   NEXTCHAR:  SCASB
              JZ        MATCH
              DEC       CX
              JNZ       NEXTCHAR

              MOV       CL,S5[1]    ;characters of s5
              CMP       CX,SI       ;the end of s5?
              INC       SI
              JNB       MARK        ;if not si+1 and go on

 

              LEA       DX,S4       ;show no match
              MOV       AH,09H
              INT       21H

              JMP       FINISH      ;go to finish
      MATCH:  LEA       DX,S3       ;show info of match
              MOV       AH,09H
              INT       21H

     FINISH:  MOV       AH,4CH      ;return to Dos
              INT       21H

        CODE  ENDS
              END       START

我来回复

您尚未登录,请登录后再回复。点此登录或注册