PDA

Visualizza la versione completa : [assembler] aiuto alla risoluzione di un problema3


multififa
14-12-2004, 15:24
Mi potete aiutare a risolvere questi due esercizi
indicare il contenuto esadecimale dei 4 registri generali dopo l'esecuzione di ogni istruzione del seguente brano assembly:

lea bx, dato
mov ax [bx]
push bx
push ax
pop cx
pop dx
sub ax, cx
hlt
dato dw 0421h ; supposto che l'indirizzo di 'dato' sia 0132h

inoltre se potete aiutarmi a svolgere un'altro esercizio
scrivere un brano di programma assembly che inserisca in bx il contenuto di una variabile tipo world e cicli per il numero di volte specificato in bx, utilizzando l'istruzione LOOP. all'interno del ciclo scrivere le istruzioni necessarie per moltiplicare il contenuto di CL con AL e memorizzare il risultato in AX

cso
14-12-2004, 19:46
lea bx,dato ; BX = 0421h
mov ax [bx] ; AX = 0132h
push bx ;
push ax ;
pop cx ; CX = AX = 0132h
pop dx ; DX = BX = 0421h
sub ax,cx ; AX = AX - CX = 0
hlt ;
dato dw 0421h ; supposto che l'indirizzo di 'dato' sia 0132h

non ricordo perņ se metto il valore del registro nello stack se si resetta il registro...tu che hai il libro prova a guardare!!!
Sappimi dire!

cso
14-12-2004, 20:17
dato1 dw 56h

mov bx,dato1 ;bx il contenuto di una variabile tipo world
mov cx,bx ;cicli per il numero di volte specificato in bx
ciclo: mov ax,cl
MOL ax,al
loop ciclo

:ciauz:

Loading