|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jul 2006
Città: Cittadino del Mondo
Messaggi: 5
|
[assembly] lettura interi da tastiera
Ciao a tutti!!
Tanto per cambiare avrei bisogno di un aiuto ![]() Devo fare un programmino in assembly 8086 usando assembler TASM in DOS e visto che è la prima volta che ho a che fare con assembly ho un po di casino in testa. Per iniziare devo leggere da tastiera due sequenze di interi compresi tra -9 e 9 (e memorizzarle da qualche parte visto che poi ci devo lavorare un po sopra ![]() Quello che nn mi è chiaro (per il momento ![]() Grazie in anticipo a chi mi darà una mano!!!!!!!!!!
__________________
So...what do you fear?? A CAGE!! Canada (100% Born to be free)
|
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
non è un problema di assembly, è un problema di algoritmo. devi controllare che nella stringa ricevuta in input il primo carattere sia un numero o il segno meno, e se è il segno meno controlla che il secondo sia un numero. infine controlla che non ci siano altri caratteri.
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Devi usare uno dei servizi del DOS (INT 21h) oppure del BIOS (INT 16h) che consentono di prendere in input 1 carattere. Quello che ottieni, attenzione, è il codice ASCII del carattere, quindi se premi il tasto 1 ottieni il carattere '1' che ha codice 31h. Sei poi tu che devi controllare la validità di ciò che viene inserito e poi eventualmente convertire la sequenza dei digit inseriti in un valore binario a 8, 16 o più bit.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
@andbin: il problema da quanto chiedeva non era la ricezione dell'input, era l'interpretazione dei numeri negativi
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Comunque è abbastanza banale. Se il primo carattere è un meno '-' basta tenersi un flag da qualche parte e poi fare la conversione normalmente come se il numero fosse positivo. Alla fine se il flag è "true" si fa il complemento a 2 del numero (istruzione NEG). Se canada ha già fatto tutta la gestione dell'inserimento, dovrebbe essere 'na passeggiata. ![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#6 | |
Junior Member
Iscritto dal: Jul 2006
Città: Cittadino del Mondo
Messaggi: 5
|
Grazie!! In teoria ho capito...spero di aver capito anche in pratica..meglio nn dare nulla per scontato con la mia zucca!!
![]() Mi metto all'opera ma sappiate che.... Quote:
![]()
__________________
So...what do you fear?? A CAGE!! Canada (100% Born to be free)
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:48.