一个比较字符串的汇编程序 大家看看哪里出错啦 全力加分!
来源:百度知道 编辑: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
.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