因此,我完成了一个程序,以打印斐波那契数列中的n个数字。但是,某些结果显示为十六进制(如0D
)而不是十进制(我希望将其显示为13
)。我该如何解决?
.data
fibon1 db 00h
fibon2 db 01h
fibon3 db ?
msg db "The first 13 numbers of the Fibonacci sequence is",10,13,"$"
n db 11
.code
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
lea dx,msg
mov ah,09h
int 21h
mov bl,fibon1
call dispnum
mov dl,' '
mov ah,02h
int 21h
mov bl,fibon2
CALL DISPNUM
mov dl,02h
int 21h
mov ch,00h
up1: cmp ch,n
jae exit
mov al,fibon1
add al,fibon2
mov fibon3,al
mov bl,fibon3
call dispnum
mov dl,02h
int 21h
mov al,fibon2
mov fibon1,al
mov al,fibon3
mov fibon2,al
inc ch
jmp up1
exit: mov ah,4ch
int 21h
dispnum proc near
mov dl,BL
and dl,0F0H ; display 1st digit
mov cl,04H
shr dl,cl
cmp dl,09H
jbe L2
add dl,07H
L2: add dl,30H
mov ah,02H
int 21H
mov dl,bl
and dl,0FH
cmp dl,09H ;display 2nd digit
jbe L3
add DL,07H
L3: add dl,02H
int 21H
ret
dispnum endp
end start