campafermi
25-03-2011, 18:25
Salve, ho scritto un codice in emu8086 che mi permette di visualizzare il precedente e il successivo di un numero, fino a stamattina andava tutto ok, per sbaglio ho cancellato qualche riga di codice e non sto riuscendo pił a capire che ho cancellato, sono alle prime armi, aiutatemi a ricomporlo, vi do il codice rimanente
org 100h ; indirizzo della prima istruzione.
jmp start ; salta all'istruzione "start"
msg: db "Inserisci un numero compreso tra 0 e 65535 (FFFF)", 0Dh,0Ah, 24h
msg1: db 0Dh,0Ah, 0Dh,0Ah,"Numero inserito +1: $"
start: ;inizio istruzioni
mov dx, msg
mov ah, 09h ;visualizza sul monitor (int21) la stringa "msg".
int 21h
MOV AH, 00h ; prende un valore da tastiera.
INT 16h
MOV AH, 0Eh
INT 10h ; quest'istruzione visualizza un valore sullo schermo
num1 dw ? ; chiede il numero in questione.
mov dx, msg1
mov ah, 09h ; scrive la stringa "msg1"
int 21h
mov ax, num1
add ax, 1
int 21h ;aggiunge 1 e richiama la funzione "print"
call print_num
PRINT_NUM PROC NEAR
PUSH AX
; stampa il numero
PRINT_NUM ENDP
ret
grazie 1000
org 100h ; indirizzo della prima istruzione.
jmp start ; salta all'istruzione "start"
msg: db "Inserisci un numero compreso tra 0 e 65535 (FFFF)", 0Dh,0Ah, 24h
msg1: db 0Dh,0Ah, 0Dh,0Ah,"Numero inserito +1: $"
start: ;inizio istruzioni
mov dx, msg
mov ah, 09h ;visualizza sul monitor (int21) la stringa "msg".
int 21h
MOV AH, 00h ; prende un valore da tastiera.
INT 16h
MOV AH, 0Eh
INT 10h ; quest'istruzione visualizza un valore sullo schermo
num1 dw ? ; chiede il numero in questione.
mov dx, msg1
mov ah, 09h ; scrive la stringa "msg1"
int 21h
mov ax, num1
add ax, 1
int 21h ;aggiunge 1 e richiama la funzione "print"
call print_num
PRINT_NUM PROC NEAR
PUSH AX
; stampa il numero
PRINT_NUM ENDP
ret
grazie 1000