一个比较字符串的汇编程序 大家看看哪里出错啦 全力加分!

来源:百度知道 编辑:UC知道 时间:2024/07/05 14:02:21
代码如下:
.model small
.386

.STACK 256

.DATA

Red_on_black_mode TEXTEQU <mov bl,00000100b>
normal_mode TEXTEQU <mov bl,7>

MAX_SIZE EQU 100

request1 db 'Please enter a long string:',0dh,0ah,'$'
request2 db 'Please enter a short string:',0dh,0ah,'$'
result1 db 'Short string NOT FOUND in long string',0dh,0ah,'$'
result2 db 'Found!',0dh,0ah,'Result:',0dh,0ah,'$'

maxlen_l db MAX_SIZE
actlen_l db ?
long_str db MAX_SIZE dup (?)

maxlen_s db MAX_SIZE
actlen_s db ?
short_str db MAX_SIZE dup (?)

counter db 0

ENTERkey db 0dh,0ah,'$'

.CODE
START:
mov ax,@data
mov ds,ax

lea dx,request1
mov ah,09h
int 21h

lea dx,maxlen_l
mov ah,0ah
int 21h

lea dx,ENTERkey
mov ah,09h

LZ,看你的程序我有点晕.干脆来个大修改吧
已经编译通过了,你自己看看?
.model small
.386

.STACK 256

.DATA

MAX_SIZE EQU 100

request1 db 'Please enter a long string:',0dh,0ah,'$'
request2 db 'Please enter a short string:',0dh,0ah,'$'
result1 db 'Short string NOT FOUND in long string',0dh,0ah,'$'
result2 db 'Found!',0dh,0ah,'Result:',0dh,0ah,'$'

maxlen_l db MAX_SIZE
actlen_l db ?
long_str db MAX_SIZE dup (?)

maxlen_s db MAX_SIZE
actlen_s db ?
short_str db MAX_SIZE dup (?)

counter db 0

Lcounter dw 0 ;添加两个变量
Scounter dw 0

ENTERkey db 0dh,0ah,'$'

.CODE
START:
mov ax,@data
mov ds,ax
mov es,ax ;[di+bp]寻址时用到!

lea dx,request1
mov ah,09h
int 21h

lea dx,maxlen_l
mov ah,0ah
int 21h

lea dx,EN