Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao a tutti, a scuola sto imparando il linguaggio assembly dell' 8086, in poche parole la traccia dice di leggere il primo carattere, visualizzarlo, poi leggere il secondo carattere, visualizzarlo, trasformarlo in minuscolo e visualizzare il carattere trasformato e in fine poi trasformare il primo carattere inserito in maiuscolo e visualizzarlo.
Ho scritto il programma ma mi esce una cosa strana.. vi posto comunque il codice sorgente così magari potete darmi una mano, grazie molte
Codice sorgente - presumibilmente Altri Linguaggi
.Model SMALL
.Stack 100h
.data
inserisci1 db 'Inserisci un carattere MINUSCOLO: ','$'
accapo db 13,10,'$'
carattere1 db 'Il carattere inserito è: ','$'
inserisci2 db 'Inserisci un carattere MAIUSCOLO: ','$'
transform db 'Il carattere inserito trasformato: ','$'
transform2 db 'Il primo carattere inserito trasformato è il seguente: ','$'
.code
main:
MOV ax,@data
MOV ds, ax
;inseriamo "Inserisci un carattere MINUSCOLO: "
MOV ah, 9
MOV dx, offset inserisci1
int 21h
;leggiamo un carattere da tastiera
MOV ah,1
int 21h
;adesso spostiamo il carattere nella parte alta dei dati
MOV dh, al
;andiamo accapo
MOV ah, 9
MOV dx, offset accapo
int 21h
;visualizziamo il carattere inserito
MOV ah,9
MOV dx, offset carattere1
int 21h
MOV ah,2
int 21h
;andiamo accapo
MOV ah, 9
MOV dx, offset accapo
int 21h
;visualizziamo la frase: Inserisci un carattere MAIUSCOLO
MOV ah,9
MOV dx, offset inserisci2
int 21h
;leggiamo il carattere
MOV ah,1
int 21h
;adesso lo spostiamo nella parte bassa dei dati
mov dl, al
;andiamo accapo
mov ah,9
mov dx, offset accapo
int 21h
;Visualizziamo il carattere inserito
mov ah,2
int 21h
;trasformiamo il carattere da maiuscolo a minuscolo
ADD dl,20h
;visualizziamo il carattere trasformato
mov ah,9
mov dx, offset transform
int 21h
mov ah,2
int 21h
;andiamo accapo
mov ah,9
mov dx, offset accapo
int 21h
;adesso trasformiamo il primo carattere inserito in maiusc.
salvi il carattere in dh, ma se subito dopo scrivi
MOV dx, offset accapo
distruggi il contenuto di dh e quindi perdi il carattere inserito.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
O in una variabile in memoria nella zona .data o nello stack.
Dato che devi utilizzare il carattere più volte, puoi prevedere un'area di memoria in .data
car1 db ?
e poi
;leggiamo un carattere da tastiera
mov ah,1
int 21h
mov car1,al
e poi lo utilizzi, ad esempio in
;visualizziamo il carattere inserito
MOV ah,9
MOV dx, offset carattere1
int 21h
mov dl,car1
MOV ah,2
int 21h
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.