雷诺梅甘娜启动没反应:汇编的问题

来源:百度文库 编辑:神马品牌网 时间:2024/10/06 07:59:34
本来是想测试字符的长; 但是有问题; 想通过显示来确定问题所在; 但在显示中有发现了问题
;mov dl,'Y'
; mov ah,2
; int 21h 是2个的差别所在

这是一个
;*****************************************
Data Segment ;
String db 'asd$'
TOOL dw ?
Data Ends
;***************************************
stack1 segment stack
dw 50 dup(?)
stack1 ends
code segment para 'code'
assume CS:code,DS:Data
assume ss:stack1,es:data
Start proc far ;13行
push dx
xor ax,ax
push ax
mov ax,Data
mov ds,ax
;--------------------原字符输出
lea dx,string
mov ah,9
int 21h
mov bl,0
lea si,String ;运行了

l1: mov al, [si]
cmp al, '$'
je exit

;mov dl,'Y'
; mov ah,2
; int 21h

cmp al, 'A'
jb next
cmp al, 'Z'
ja pp
inc bl
mov dl,'T'
mov ah,2
int 21h

next: inc si
jmp l1
pp: cmp al ,'a'
je exit
cmp al,'z'
ja l1
inc bl
jmp l1
exit: mov dl,'A'
mov ah,2
int 21h
mov ax, 4c00h
int 21h
;************************************
code ends
end start
-----------------------------------------------------------------------------------
另外的一个是
;*****************************************
Data Segment ;
String db 'asd$'
TOOL dw ?
Data Ends
;***************************************
stack1 segment stack
dw 50 dup(?)
stack1 ends
code segment para 'code'
assume CS:code,DS:Data
assume ss:stack1,es:data
Start proc far ;13行
push dx
xor ax,ax
push ax
mov ax,Data
mov ds,ax
;--------------------原字符输出
lea dx,string
mov ah,9
int 21h
mov bl,0
lea si,String ;运行了

l1: mov al, [si]
cmp al, '$'
je exit

mov dl,'Y'
mov ah,2
int 21h

cmp al, 'A'
jb next
cmp al, 'Z'
ja pp
inc bl
mov dl,'T'
mov ah,2
int 21h

next: inc si
jmp l1
pp: cmp al ,'a'
je exit
cmp al,'z'
ja l1
inc bl
jmp l1
exit: mov dl,'A'
mov ah,2
int 21h
mov ax, 4c00h
int 21h
;************************************
code ends
end start

你太厉害了,没人能够回答你的问题,请到专业的网站求答案吧,呵呵!!