Sartomiki.net

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Esercizi Assembler Esercizio 10 - Input/Output

Esercizio 10 - Input/Output

E-mail Stampa PDF
Valutazione attuale: / 0
ScarsoOttimo 

Testo:
Si scriva un programma in linguaggio Assembler 8086 che esegua le seguenti operazioni:
a)Acquisisca da tastiera un carattere
b)Manipoli il carattere acquisito in modo che:
b1)Se si tratta di un numero (‘0’,’1’,....,’9’) non esegua alcuna operazione.
b2)Se si tratta di un carattere alfabetico minuscolo (‘a’,’b’,...,’z’) lo converta nel suo corrispondente maiuscolo (‘A’,’B’,...,’Z’) e viceversa
b3)Se non appartiene alla due precedenti categorie, lo sostituisca col carattere “*”
c)Ristampi a video il carattere eventualmente modificato.

Soluzione:
.model small
.stack

.data

.code
.startup

MOV AH, 1
INT 21H ;legge e mette in AL

MOV AH, 'a'
SUB AH, 'A'

CMP AL, '0'
JBE nonnum
CMP AL, '9'
JAE nonnum
MOV DL, AL
JMP fine:

nonnum:
CMP AL, 'a'
JBE nonmin
CMP AL, 'z'
JAE nonmin

SUB AL, AH
MOV DL, AL

JMP fine:

nonmin:
CMP AL, 'A'
JBE niente
CMP AL, 'Z'
JAE niente

ADD AL, AH
MOV DL, AL

JMP fine

niente:
MOV DL, '*'
JMP fine

fine:
MOV AH, 0
INT 21H ;scrive cio' che c'e' in DL

.exit
end


blog comments powered by Disqus
 

http://sartomiki.net/modules/mod_fuofb/assets/it/find-us-on-facebook-1.png

Follow me

Amici

Chi è online

 13 visitatori online

Siti amici

Banner

Notizie flash

La sezione appunti ha superato i 150 articoli! Il database inizia ad essere abbastanza ampio! Consultatelo e scrivetemi in caso di dubbi o chiarimenti!!!

PUBBLICITA'