ASM Programma Assembly!

Stato
Discussione chiusa ad ulteriori risposte.

XoAss

Utente Electrum
7 Maggio 2011
546
28
71
183
Salve a tutti, mi servirebbe una mano a scrivere questo programma in Assembly per un esercitazione scolastica, e visto che non sono molto pratico mi servirebbe che qualcuno mi aiuti :D

Questa è la traccia del programma:

- Dato un numero in ingresso che sia minore di 9, se è maggiore di 5 sottrargli 2, se è minore di 5 aggiungergli 2
 
Questo è in IA-32 affiancato a c++
Codice:
MOV EAX, NumInput
CMP EAX,9
JG errore
CMP EAX,5
JB minore
SUB EAX,2
JMP fine
minore: ADD EAX,2
fine: MOV EAX, tua_variabile_risultato
errore:
 
ah scusate non ho detto che uso emu8086 :D comunque ci sono riuscito in questo modo :
LEA DX,MESS
MOV AH,09H

LEA DX,VAR1
MOV AH,01H

SUB AL,30H
MOV VAR1,AL

LEA DX,ACAPO
MOV AH,09H

CMP VAR1,5H
JGE MAGGIORE
JL MINORE
MAGGIORE: MOV AL,VAR1
SUB AL,2H
ADD AL,30H
JMP STAMPA

MINORE: MOV AL,VAR1
ADD AL,2H
ADD AL,30H
JMP STAMPA


STAMPA: MOV VALORE,AL
LEA DX,VALORE
MOV AH,02H
INT 21H
 
thanks, l'esercitazione anche se a fortuna è riuscita :D

Acquisiti due valore diversi di massimo 5 caratteri, verificare quali dei due è maggiore, lo carichi in una opportuna locazione di memoria ed in un registro a 16 bi di memoria. infine stampare a video il valore maggiore.
qualcuno me lo può fare? così lo esamino e capisco come andrebbe fatto :D
 
Stato
Discussione chiusa ad ulteriori risposte.