从键盘输入一个两位数,为什么【buf+2】存放的是个位数,【buf+3】存放的是十位
datas segmentbuf 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,
sub bh,30H
mov bl,
sub bl,30H 本帖最后由 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
lea si,
m1:sub byte ptr,30H
inc si
loop m1
mov ax,4c00H
int 21H
main endp
code ends
end main
键盘输入 12345678 时,buf 中最后的内容为:
14AC:00001E 08 01 02 03 04 05 06-07 08 0D 00 00 00 00 00 ................
完全是键盘输入顺序,有什么疑问吗? {:10_279:} {:5_95:} 加油 {:10_279:} {:10_279:}我要中奖
页:
[1]