鱼C论坛

 找回密码
 立即注册
查看: 2891|回复: 1

关于int 21h中功能号为09h的输出支付串

[复制链接]
发表于 2017-11-19 14:58:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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,[si+1]
      mov ah,[si]
      sub ax,3030h     ;非压缩bcd码
      aad               ;对应的16进制数
      mov bl,al
      clc
      mov cx,9
s:    mov al,[si+4]
      mov ah,[si+3]
      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 [di],ah          ;送至显示单元min
      mov [di+1],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
以上为代码  为啥我输出的时候会出现这种前面的无法显示的问题
谢谢各位大佬

运行后

运行后

运行前

运行前
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-11-19 15:02:39 | 显示全部楼层
有大神指点一下没 还有我的代码 感觉这个方法好笨==
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 09:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表