EMU8086 è un ambiente didattico che permette di scrivere, assemblare, eseguire e debuggare programmi in Assembly per l’architettura Intel 8086 (16 bit), osservando in tempo reale registri, memoria, stack e flag. È perfetto per allenare la mentalità “a basso livello”: ogni istruzione ha un costo, un effetto preciso, e spesso cambia anche i flag.
org 100h
start:
mov ax, 0000h
mov bx, 0000h
mov cx, 0000h
mov dx, 0000h
; qui il tuo codice
exit:
ret
org 100h
mov ax, 0007h
cmp ax, 000Ah
jl minore
je uguale
jg maggiore
minore:
ret
uguale:
ret
maggiore:
ret
org 100h mov ah, 02h mov dl, 'A' int 21h mov dl, 0Dh int 21h mov dl, 0Ah int 21h ret
org 100h mov al, 0FFh add al, 01h ; Domande: ; 1) AL vale 00h? ; 2) ZF = 1? ; 3) CF = 1? ret
org 100h mov ax, 000Ah mov bx, 0007h cmp ax, bx ja ax_maggiore mov cx, bx jmp fine ax_maggiore: mov cx, ax fine: ret
org 100h
arr db 5, 10, 20, 1, 2
len equ 5
mov si, 0
mov cx, len
xor ax, ax
somma:
mov bl, [arr + si]
add al, bl
inc si
loop somma
ret
org 100h
mov ax, 0003h
mov bx, 0004h
call somma2
ret
somma2:
add ax, bx
ret
org 100h
a db 7
b db 8
c db 6
xor ax, ax
mov al, [a]
add al, [b]
add al, [c]
cmp al, 20
jb stampa_L
stampa_H:
mov ah, 02h
mov dl, 'H'
int 21h
jmp fine
stampa_L:
mov ah, 02h
mov dl, 'L'
int 21h
fine:
mov ah, 02h
mov dl, 0Dh
int 21h
mov dl, 0Ah
int 21h
ret
Clicca un bottone per aprire l’esercizio con il codice completo.