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:
codice:
div d
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