Ciao raga, come posso far acquisire un numero di piu' cifre in assembly usando la tastiera.
Avrei pensato di inserire far inserire il numero in un registro fino a quando non premo invio.
Come devo fare?? mi potete aiutare?
Ciao raga, come posso far acquisire un numero di piu' cifre in assembly usando la tastiera.
Avrei pensato di inserire far inserire il numero in un registro fino a quando non premo invio.
Come devo fare?? mi potete aiutare?
Esiste la sottofunzione 0x0A della INT21 per l'input da tastiera ...
http://heim.ifi.uio.no/~stanisls/helppc/int_21-a.html
No MP tecnici (non rispondo nemmeno!), usa il forum.
cioe' la sintassi sarebbe:
DScodice:MOV AH, 0Ah INT 21h ; ma poi come devo fare per DS:DXX = pointer to input buffer of the format:
cosa significa :
puntatore al buffer di ingresso del formato???
DS : DX deve essere caricato prima di chiamare la funzione.
DS deve essere impostato uguale al valore del segmento dei dati, dove stanno le tue variabili.
DX deve essere il puntatore ad un area fatta, ad esempio, in questo modo
In questo modo indichi di effettuare un input di massimo 20h caratteri (compreso il tasto invio) all'interno del buffer che parte da Buff. Il numero di caratteri effettivamente pressati sono in KCnt.codice:DBuf DB 20h KCnt DB 00h Buff DB 00h DUP(20h)
Mi sembra tutto abbastanza chiaro ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
dici cosi:
codice:DSEG SEGMENT 'DATA' DBuf DB 20h KCnt DB 00h Buff DB 00h DUP(20h) DSEG ENDS SSEG SEGMENT STACK 'STACK' DW 100h DUP(?) SSEG ENDS CSEG SEGMENT 'CODE' ;******************************************* START PROC FAR ; Store return address to OS: PUSH DS MOV AX, 0 PUSH AX ; set segment registers: MOV AX, DSEG MOV DS, AX MOV ES, AX ; TODO: add your code here!!!! MOV AH, 0Ah INT 21h
Manca solo l'indirizzo di DBuf in DX prima della chiamata ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
e come faccio a metterlo se DX e' a 16 bit e DBuff e' a 8 bit???
NON il valore, ma l' INDIRIZZO ... (che e' a 16 bit) ...Originariamente inviato da Salvatore_91
e come faccio a metterlo se DX e' a 16 bit e DBuff e' a 8 bit???
No MP tecnici (non rispondo nemmeno!), usa il forum.
ah scusami.
Fino ad adesso non ho mai operato con gli indirizzi, non so proprio come farlo
Beh ... dovresti studiarlo ... e' fondamentale ...
LEA DX, DBuf
No MP tecnici (non rispondo nemmeno!), usa il forum.