|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2006
Messaggi: 12
|
vettori...o qualcosa di simile!
Ciao a tutti!!!
Ho bisogno di aiuto! Devo fare un programma in assembly 8086 (16 bit) usando assembler TASM in DOS che prenda in input il codice fiscale. E fino a qui tutto bene! (almeno spero) Appena preso il codice da tastiera....devo effettuare una serie di controlli. Cominciamo col primo.... Devo controllare che il numero di caratteri inseriti da tastiera sia 16 e siano tutti lettere maiuscole o numeri....quindi se è così stampo a video la scritta "corretto" altrimenti "errore"... io nn so come gestire i caratteri presi da input...per ora ho solo salvato in un buffer la dimensione.... ma nn so come controllarla.... Inoltre siccome con i successivi controlli dovrò prendere un determinato carattere o + di uno.... avrei pensato ai vettori.... ma nn so come si gestiscono (e costruiscono) in assembly..... qualcuno mi può dare una mano?
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
IDEAL
SMART
JUMPS
DOSSEG
MODEL SMALL
;===============================================================================
STACK 1024
;===============================================================================
DATASEG
CODFISC DB 16 DUP (?)
;===============================================================================
CODESEG
PROC MAIN NEAR
MOV AX,_DATA
MOV DS,AX
MOV ES,AX
MOV SI,OFFSET CODFISC
MOV CX,0
INPUT_LOOP:
MOV AH,01h ; Input carattere
INT 21H ;
MOV [SI],AL ; Memorizza carattere
INC SI ; Incrementa indirizzo
INC CX
CMP CX,16
JB INPUT_LOOP
MOV AX,4C00H ; Uscita
INT 21H ;
ENDP MAIN
END MAIN
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) Ultima modifica di andbin : 10-07-2006 alle 18:22. |
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Jul 2006
Messaggi: 12
|
si potrebbe essermi molto utile in effetti....solo che il controllo del numero dei carateri devo farlo dopo l'input....è quello il mio problema....io faccio inserire un numero qualsiasi di caratteri fino a quando non viene premuto enter....dopo dovrei contare quanti sono e se sono numeri o lettere maiuscole....
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Jul 2006
Messaggi: 12
|
c'è nessuno che mi può aiutare??? sono a un punto morto!!!
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Tu dici che devi poter inserire un numero qualsiasi di caratteri fino alla pressione dell'invio. Va bene, ma se devi memorizzare i caratteri in un buffer, un limite massimo lo devi impostare! (a meno di usare sistemi di allocazione dinamica della memoria, ecc....) In sostanza, potresti fare ad esempio una semplice procedure che prende in input un indirizzo in DS:SI (che punta al buffer) e il numero massimo di caratteri in CX. In uscita restituisce (es. in AX) il numero di caratteri inseriti nel buffer fino alla pressione del tasto invio. Poi, comunque, se hai qualche problema specifico, chiedi pure.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
|
metti un carattere '\0' alla fine dell'array e poi lo ri-scandisci per contare quanti caratteri ha messo l'utente prima di '\0'
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:35.



















