关于int 21h中功能号为09h的输出支付串
本帖最后由 suyunzzz 于 2017-11-19 15:01 编辑data segment
buffersize db 40
realsize db ?
buffer db 50 dup(?)
db 0ah
db '$'
note db 'pease input 20 number:','$'
result db 'min=','$'
min db 2 dup(?)
db 0dh
db '$'
data ends
code segment
assume cs:code,ds:data
start:lea di,min
lea si,buffer
mov ax,data
mov ds,ax
lea dx,note
mov ah,09h
int 21h ;输出提示pease input 20 number:
lea dx,buffersize ;输入数值
mov ah,0ah
int 21h
lea dx,buffer ; 显示输入的10个数
mov ah,09h
int 21h
mov al,
mov ah,
sub ax,3030h ;非压缩bcd码
aad ;对应的16进制数
mov bl,al
clc
mov cx,9
s: mov al,
mov ah,
sub ax,3030h ;非压缩bcd码
aad ;对应的16进制数
cmp bl,al
jna no ;bl<=al时 不改变bl
mov bl,al ;al是最小的
add si,3;下一个和bl比较
loop s
jmp done
no: add si,3
loop s
done:mov al,bl ;16进制数变为非压缩bcd码然后变成ascii码
aam
or ax,3030h
mov ,ah ;送至显示单元min
mov ,al
lea dx,result ;显示提示min=
mov ah,09h
int 21h
lea dx,min ;显示最小值
mov ah,09h
int 21h
mov ax,4c00h
int 21h
code ends
end start
以上为代码为啥我输出的时候会出现这种前面的无法显示的问题
谢谢各位大佬 有大神指点一下没 还有我的代码 感觉这个方法好笨==
页:
[1]