Oppure

Loading
17/07/11 8:24
ludo90
Scusate ma ho iniziato da poco ad utilizzare l'assembly e ho molti dubbi
Ad esempio ho fatto un programma che calcola la potenza: in questo caso 5^3

.model small
.stack 200h
.code
start:
mov cx,03 ;esponente
sub cx,1
mov al,05 ;base
mov dl,05
rit:
mul dl
loop rit
mov dl,al
mov ah,2h
int 21h
mov ax,4c00h
int 21h
end start

L'ho provato e funziona,ma se volessi inserire base ed esponente da tastiera e poi utilizzarli come dovrei fare?
Ho provato a fare in questo modo:
mov ah,7h
int 21h
mov bl,al
Ciò che ho inserito da tastiera dovrebbe essere in al e quindi spostandolo in un altro registro,dovrei poterlo usare durante il programma,ma nn funziona.Qual è il problema? Inoltre per l'esponente come potrei fare dato che il registro di destinazione è cx? non penso di poter fare mov cx,al.
Grazie in anticipo
aaa
17/07/11 8:48
Pitagora
nel registro ah devi mettere il seguente valore 07h. Questo è il "comando" per poter eseguire l'input da tastiera. Maggiori informazioni sul web: alessioluffarelli.it/guide_tutorial/basso_livello/…
aaa
17/07/11 9:02
nessuno
E' meglio usare la subfunction 01h per ottenere un solo carattere e vederlo oppure la subfunction 0Ah per avere una stringa intera ad un indirizzo specifico.

Quello che ottieni nel registro (o in memoria) è il codice ASCII del tasto.
Se scrivi 2 nel registro otterrai il valore 32h

Prima di usarlo devi trasformarlo in decimale con una

and al,0fh

In maniera analoga con l'input di una stringa per ogni carattere nel buffer di input.
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à.