Ciao a tutti, è da poco che mi ho iniziato a studiare assembler e sto iniziando a fare i primi esercizi...uno di questi richiede di stampare a video un vettore di interi di 6 elementi. Inoltre il vettore per essere stampato nel giusto senso, si chiede di utilizzare lo stack.
Ho provato a scrivere qualcosa, però non capisco perchè, il codice che ho scritto compila correttamente, ma se effettuo il debug si pianta nella istrizione:
comunque posto qua sotto tutto il codice, se c'è qualcuno un pò più esperto che mi sa dare qualche dritta...come assemlatore uso il MASM6.11 sotto winXP...Grazie!
codice:
dim equ 6
.model small
.stack
.data
vet dw 12, 45, 56, 20, 56, 129
tmp dw ?
d dw 10
.code
.startup
mov cx, dim
mov di, 0
mov si, 0
ciclo: mov bx, vet[di]
mov tmp, bx
ciclo2: mov ax, 0
mov ax, tmp
div d
push dx
mov tmp, ax
inc si
cmp ax, 0
jnz ciclo2
mov ah, 2
mov dh, 0
stampa: pop dx
add dl, '0'
int 21h
dec si
cmp si, 0
jnz stampa
inc di
loop ciclo
.exit
end