PDA

View Full Version : Help Stringhe assembly


csvqkm
27-06-2004, 13:57
Salve mi sono da poco affacciato all' ASM

Su un tutorial ho trovato la dichiarazione di una stringa
Messaggio DB "Salve mondo", 13, 10, '$'

per quel che ho capito
Message è il nome dato alla stringa
DB indica la quantità di spazio da riservare alla stringa
13 10 nn ne ho idea
$ indica il termine della stringa

Potreste chiarirmi come funzionano le stringhe e le variabili in assembly e magari anche consigliarmi una guida sulle stringhe!?

AnonimoVeneziano
27-06-2004, 18:28
Originariamente inviato da csvqkm
Salve mi sono da poco affacciato all' ASM

Su un tutorial ho trovato la dichiarazione di una stringa
Messaggio DB "Salve mondo", 13, 10, '$'

per quel che ho capito
Message è il nome dato alla stringa

OK !

DB indica la quantità di spazio da riservare alla stringa


Bhe, non proprio, infatti DB riserva 1 byte di memoria , che è sufficiente per contenere al massimo 1 Carattere ASCII senza il suo Attributo , DB è + una convenzione per indiciare il primo byte della stringa , poi la stringa può essere grossa finchè vuoi


13 10 nn ne ho idea


Sono 2 caratteri ASCII, per la precisione il "13" è il CARRIAGE RETURN , e l' "11" è il LINE FEEDER .

Sono quella coppia di caratteri ASCII che fa andare a capo il cursore dello schermo (se conosci C questa coppia di caratteri è l'equivalente del carattere speciale "/n" ) .

CARRIAGE RETURN esiste ormai solo sotto sistemi DOS (e forse anche Win NT , ma dovrei verificare ) , perchè è un po' un peso che si porta dai vecchi TELETYPE , quelle specie di stampanti che si usavano una volta quando ancora non c'era lo schermo .

Per andare a capo sui TeleType bisognava dare 2 segnali , uno che facesse tornare indietro il carrello di scrittura al margine sinistro della pagina e l'altro che facesse avanzare la carta (cioè facesse andare a capo la macchina) . Il primo è appunto il carattere CARRIAGE RETURN (Ritorno del Carrello :D , sembra quasi una minaccia :D ) e l'altro è appunto il LINE FEED che faceva avanzare la carta .

Oggi giorno nei sistemi moderni come Linux il CARRIAGE RETURN è stato eliminato ed è rimasto solo il LINE FEED , ma sotto DOS c'erano entrambi .


$ indica il termine della stringa


Giusto :D


Potreste chiarirmi come funzionano le stringhe e le variabili in assembly e magari anche consigliarmi una guida sulle stringhe!?


Mmm, questo è un discorso abbastanza esteso , e dipende dai vari sistemi sul quale si programma, ti consiglio di prendere un libro , come ad esempio (l'ho consigliato troppe volte in sti giorni :D ) Assembly.Language.Step-by-Step.Programming.with.DOS.and.Linux di Jeff Duntemann .

Ciao

Luc@s
27-06-2004, 18:32
Originariamente inviato da AnonimoVeneziano

Mmm, questo è un discorso abbastanza esteso , e dipende dai vari sistemi sul quale si programma, ti consiglio di prendere un libro , come ad esempio (l'ho consigliato troppe volte in sti giorni :D ) Assembly.Language.Step-by-Step.Programming.with.DOS.and.Linux di Jeff Duntemann .

Ciao

Ottimo libro ;)

csvqkm
27-06-2004, 19:07
Ovviamente è in inglese il libro che mi consigli giusto?

Cmq puoi dirmi dove potrei reperirlo grazie di tutto :)

AnonimoVeneziano
27-06-2004, 19:32
Hai PVT :)