LukaF15
25-01-2015, 21:26
AIUTO!
Dovrei convertire un numero da decimale a binario. La mia idea era quella di dividere il numero per due dentro un for, poi prendere il resto e metterlo nello stack. Infine stampare tutto lo stack. Ma non funziona....Aiutatemi (il numero è in input). Grazie
; Conversione di un numero da decimale a binario
data segment
msg db "Inserire un numero da convertire: $"
data ends
sistema segment
dw 256 dup(0)
top label word
sistema ends
code segment
assume cs:code, ds:data, ss:sistema
main: mov ax, data
mov ds, ax
mov ah, 09h
lea dx, msg
int 21h
mov ah, 02h
mov dl, 13d
int 21h
mov ah, 02h
mov dl, 10d
int 21h
mov ah, 01h
int 21h
sub al, 48d
mov bh, 2d
mov cx, 8
mov ah, 0
for: div bh
mov bl, al
mov al, 0
push ax
mov al, bl
mov ah, 0
loop for
mov cx, 8
for1: mov ah, 02h
pop ax
mov dl, ah
int 21h
loop for1
exit: mov ax, 4ch
int 21h
code ends
end main
Dovrei convertire un numero da decimale a binario. La mia idea era quella di dividere il numero per due dentro un for, poi prendere il resto e metterlo nello stack. Infine stampare tutto lo stack. Ma non funziona....Aiutatemi (il numero è in input). Grazie
; Conversione di un numero da decimale a binario
data segment
msg db "Inserire un numero da convertire: $"
data ends
sistema segment
dw 256 dup(0)
top label word
sistema ends
code segment
assume cs:code, ds:data, ss:sistema
main: mov ax, data
mov ds, ax
mov ah, 09h
lea dx, msg
int 21h
mov ah, 02h
mov dl, 13d
int 21h
mov ah, 02h
mov dl, 10d
int 21h
mov ah, 01h
int 21h
sub al, 48d
mov bh, 2d
mov cx, 8
mov ah, 0
for: div bh
mov bl, al
mov al, 0
push ax
mov al, bl
mov ah, 0
loop for
mov cx, 8
for1: mov ah, 02h
pop ax
mov dl, ah
int 21h
loop for1
exit: mov ax, 4ch
int 21h
code ends
end main