2015-05-09 60 views
0

我想以十进制的形式得到输出。请告诉我可以用十进制而不是ASCII来得到相同的变量。以汇编语言打印十进制数?

.model small 
.stack 100h 

.data 

msg_1 db 'Number Is = $' 
var_1 db 12 

.code 

add_1 proc 
    mov ax, @data 
    mov ds, ax 
    mov ah, 09 
    lea dx, msg_1 
    int 21h 
    mov ah, 02 
    mov dl, var_1 
    int 21h 
    mov ah, 4ch 
    int 21h 
add_1 endp 

end add_1 
+2

除以10,加“0”的余数,每个数字,然后按相反顺序打印。对于负数打印' - ' – stark

+0

http://stackoverflow.com/questions/29479062/print-out-a-decimal-number/29479269#29479269 –

回答

1

要做到这一点,你可以改变这些三线你写

mov ah, 02 
mov dl, var_1 
int 21h 

这个代码

mov al, var_1 
aam 
add ax, 3030h 
push ax 
mov dl, ah 
mov ah, 02h 
int 21h 
pop dx 
mov ah, 02h 
int 21h