鱼C论坛

 找回密码
 立即注册
查看: 7155|回复: 6

[已解决]从键盘输入一个两位数,为什么【buf+2】存放的是个位数,【buf+3】存放的是十位

[复制链接]
发表于 2021-3-21 18:52:16 | 显示全部楼层 |阅读模式

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

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

x
datas segment
    buf db 30                                                
             db ?                                                 
             db 30 dup(?)  
datas ends
code segment                
    assume cs:code,ds:datas    
start:                        
        mov ax,datas            
        mov ds,ax       
       lea dx,buf1                  ;从键盘输入第一个数到缓存区
    mov ah,0AH
    int 21h                      
        
        mov bh,[buf1+2]            
        sub bh,30H                   
        mov bl,[buf1+3]             
        sub bl,30H              
最佳答案
2021-3-21 20:02:28
本帖最后由 jackz007 于 2021-3-21 20:04 编辑
data segment
    buf db 30
        db 00
        db 30 dup(00)  
data ends
stack segment para stack 'STACK'
        db 800h dup(00)
stack ends
code segment
    assume cs:code , ds:data
main proc far
     mov ax,data
     mov ds,ax
     xor dx,dx
     mov ah,0AH
     int 21h
     xor ch,ch
     mov cl,byte ptr[buf+1]
     lea si,[buf+2]
m1:  sub byte ptr[si],30H
     inc si
     loop m1
     mov ax,4c00H
     int 21H
main endp
code ends
end main
        键盘输入 12345678 时,buf 中最后的内容为:
14AC:0000  1E 08 01 02 03 04 05 06-07 08 0D 00 00 00 00 00   ................
        完全是键盘输入顺序,有什么疑问吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-21 20:02:28 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2021-3-21 20:04 编辑
data segment
    buf db 30
        db 00
        db 30 dup(00)  
data ends
stack segment para stack 'STACK'
        db 800h dup(00)
stack ends
code segment
    assume cs:code , ds:data
main proc far
     mov ax,data
     mov ds,ax
     xor dx,dx
     mov ah,0AH
     int 21h
     xor ch,ch
     mov cl,byte ptr[buf+1]
     lea si,[buf+2]
m1:  sub byte ptr[si],30H
     inc si
     loop m1
     mov ax,4c00H
     int 21H
main endp
code ends
end main
        键盘输入 12345678 时,buf 中最后的内容为:
14AC:0000  1E 08 01 02 03 04 05 06-07 08 0D 00 00 00 00 00   ................
        完全是键盘输入顺序,有什么疑问吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-16 13:04:43 | 显示全部楼层

回帖奖励 +2 鱼币

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

使用道具 举报

发表于 2021-6-22 10:35:52 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-22 12:54:16 | 显示全部楼层
加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-24 23:51:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-25 00:58:19 | 显示全部楼层

回帖奖励 +2 鱼币

我要中奖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-26 06:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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