Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.retrocomputing > #54338 > unrolled thread
| Started by | Marco Maccaferri <m.maccaf@gmail.com> |
|---|---|
| First post | 2022-06-26 15:28 +0200 |
| Last post | 2022-06-27 10:31 +0000 |
| Articles | 8 — 4 participants |
Back to article view | Back to it.comp.retrocomputing
Problema BASIC IBM su ROM Marco Maccaferri <m.maccaf@gmail.com> - 2022-06-26 15:28 +0200
Re: Problema BASIC IBM su ROM Ammammata <ammammata@tiscali.it> - 2022-06-26 14:20 +0000
Re: Problema BASIC IBM su ROM Marco Maccaferri <m.maccaf@gmail.com> - 2022-06-26 17:47 +0200
Re: Problema BASIC IBM su ROM Marco Maccaferri <m.maccaf@gmail.com> - 2022-06-27 07:58 +0200
Re: Problema BASIC IBM su ROM Ammammata <ammammata@tiscalinet.it> - 2022-06-27 07:22 +0000
Re: Problema BASIC IBM su ROM Nuzzler <nuzzo_dde@yahoo.it> - 2022-06-27 01:23 -0700
Re: Problema BASIC IBM su ROM Marco Maccaferri <m.maccaf@gmail.com> - 2022-06-27 11:55 +0200
Re: Problema BASIC IBM su ROM Ammammata <ammammata@tiscalinet.it> - 2022-06-27 10:31 +0000
| From | Marco Maccaferri <m.maccaf@gmail.com> |
|---|---|
| Date | 2022-06-26 15:28 +0200 |
| Subject | Problema BASIC IBM su ROM |
| Message-ID | <t99muo$fla$1@gioia.aioe.org> |
Salve, Sto cercando di far andare il BASIC IBM 1.10 su ROM con un emulatore che sto scrivendo ma mi da un problema: in pratica non mi permette di assegnare alcun valore alle variabili e mi restituisce sempre Syntax error. Una cosa tipo: a=1 Syntax error Tutto il resto pare funzionare, per quel poco che si riesce a fare senza variabili... ho provato a leggere dei dati con DATA 1,2,3 e successvo READ a,b,c e funziona. Mi stavo chiedendo, non è che per caso ha una qualche forma di protezione per evitare che venisse usato sui cloni ? Forse è improbabile dato il periodo storico ma è una settimana che ci sbatto la testa e non ne vengo a capo. L'emulazione del processore dovrebbe essere corretta almeno al 98%, il resto del sistema non è ancora finito ma passa il POST del BIOS ed esegue il BASIC quindi non è proprio malaccio... Grazie per qualsiasi suggerimento. Saluti, Marco
[toc] | [next] | [standalone]
| From | Ammammata <ammammata@tiscali.it> |
|---|---|
| Date | 2022-06-26 14:20 +0000 |
| Message-ID | <XnsAEC2A641E5495ammammatatiscaliit@65.108.165.7> |
| In reply to | #54338 |
Il giorno dom 26 giu 2022 03:28:55p, *Marco Maccaferri* ha inviato su it.comp.retrocomputing il messaggio news:t99muo$fla$1@gioia.aioe.org. Vediamo cosa ha scritto: > Una cosa tipo: > a=1 > Syntax error > due cent: non è che prima vuole un comando tipo LET ? LET A=1 -- /-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\ -=- -=- -=- -=- -=- -=- -=- -=- - -=- ........... [ da casa ] ...........
[toc] | [prev] | [next] | [standalone]
| From | Marco Maccaferri <m.maccaf@gmail.com> |
|---|---|
| Date | 2022-06-26 17:47 +0200 |
| Message-ID | <t99v27$67n$1@gioia.aioe.org> |
| In reply to | #54339 |
Il 26/06/22 16:20, Ammammata ha scritto: > Il giorno dom 26 giu 2022 03:28:55p, *Marco Maccaferri* ha inviato su > it.comp.retrocomputing il messaggio news:t99muo$fla$1@gioia.aioe.org. > Vediamo cosa ha scritto: > >> Una cosa tipo: >> a=1 >> Syntax error >> > > due cent: non è che prima vuole un comando tipo LET ? > > LET A=1 E' abbastanza evoluto da non richiederlo, ma non cambia niente. Nessuna assegnazione funziona: let a=1 LET A=1 A$="abc" Sempre syntax error. Come se non riconoscesse il simbolo uguale. Anche da programma fa la stessa cosa 10 a=1 run Syntax error in 10 Però se faccio print a=1 0 Ok Per questo mi chiedevo se ci fosse qualche subdola protezione, perchè è il classico "malfunzionamento trappola" per scovare i pirati...
[toc] | [prev] | [next] | [standalone]
| From | Marco Maccaferri <m.maccaf@gmail.com> |
|---|---|
| Date | 2022-06-27 07:58 +0200 |
| Message-ID | <t9bgu2$13hm$1@gioia.aioe.org> |
| In reply to | #54338 |
Il 26/06/22 15:28, Marco Maccaferri ha scritto: > Sto cercando di far andare il BASIC IBM 1.10 su ROM con un emulatore che > sto scrivendo ma mi da un problema: in pratica non mi permette di > assegnare alcun valore alle variabili e mi restituisce sempre Syntax error. > > Una cosa tipo: > a=1 > Syntax error > > Tutto il resto pare funzionare, per quel poco che si riesce a fare senza > variabili... ho provato a leggere dei dati con DATA 1,2,3 e successvo > READ a,b,c e funziona. > > Mi stavo chiedendo, non è che per caso ha una qualche forma di > protezione per evitare che venisse usato sui cloni ? Naturalmente il giorno dopo aver postato ho trovato il problema... si trattava ovviamente di un errore nell'emulazione del processore, avevo dimenticato di verificare l'override del segmento DS nelle istruzioni CMPS. Grazie e scusate per il rumore... Saluti, Marco
[toc] | [prev] | [next] | [standalone]
| From | Ammammata <ammammata@tiscalinet.it> |
|---|---|
| Date | 2022-06-27 07:22 +0000 |
| Message-ID | <XnsAEC35F5EC5421ammammatatiscalineti@127.0.0.1> |
| In reply to | #54342 |
Il giorno Mon 27 Jun 2022 07:58:25a, *Marco Maccaferri* ha inviato su it.comp.retrocomputing il messaggio news:t9bgu2$13hm$1@gioia.aioe.org. Vediamo cosa ha scritto: > avevo > dimenticato di verificare l'override del segmento DS nelle istruzioni > CMPS Ah, ecco... «Mascetti: Tarapìa tapiòco! Prematurata la supercazzola, o scherziamo? Vigile: Prego? Mascetti: No, mi permetta. No, io... scusi, noi siamo in quattro... come se fosse antani anche per lei soltanto in due, oppure in quattro anche scribài con cofandina? Come antifurto, per esempio? Vigile: Ma che antifurto, mi faccia il piacere! Questi signori qui stavano sonando loro, 'un s'intrometta! Mascetti: Ma no, aspetti, mi porga l'indice. Ecco, lo alzi così, guardi, guardi, guardi... lo vede il dito? Lo vede che stuzzica? E prematura anche! Ma allora io le potrei dire, anche con il rispetto per l'autorità, che anche soltanto le due cose come vicesindaco, capisce? Vigile: Vicesindaco? Basta 'osì, mi seguano al commissariato, prego! Perozzi: No, no, no, attenzione! No! Pàstene soppaltate secondo l'articolo 12, abbia pazienza, sennò... posterdati, per due, anche un pochino antani in prefettura... Mascetti: Senza contare che la supercazzola prematurata ha perso i contatti col tarapìa tapiòco! Perozzi: Dopo!» -- /-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\ -=- -=- -=- -=- -=- -=- -=- -=- - -=- ........... [ al lavoro ] ...........
[toc] | [prev] | [next] | [standalone]
| From | Nuzzler <nuzzo_dde@yahoo.it> |
|---|---|
| Date | 2022-06-27 01:23 -0700 |
| Message-ID | <606270f6-e940-46fa-ba1b-45a096f2c641n@googlegroups.com> |
| In reply to | #54343 |
Il giorno lunedì 27 giugno 2022 alle 09:22:32 UTC+2 Ammammata ha scritto: > > avevo dimenticato di verificare l'override del segmento DS nelle istruzioni > > CMPS > Ah, ecco... CMPS: "compares two strings (actually, two arrays)". Ganzo. Segmento DS: "Data Segment" http://www-lia.deis.unibo.it/Courses/FondII/80861.pdf "Lo spazio di memoria indirizzabile dalla CPU è diviso in segmenti logici (massimo 64k byte). La CPU può accedere direttamente a 4 segmenti per volta (massimo 256k byte)" Override di un segmento: https://www.includehelp.com/embedded-system/segment-override-prefix-8086-microprocessor.aspx "the effective address is calculated by appending the segment registers value and adding up the value of the respective offset. But what if we want to choose some other offset than the assigned one. This freedom is provided to us in 8086 microprocessor through the concept of Segment override prefix." Mi pare che la gestione della memoria nei processori x86 possa diventare una bella fonte di grattacapi... Nuzzler
[toc] | [prev] | [next] | [standalone]
| From | Marco Maccaferri <m.maccaf@gmail.com> |
|---|---|
| Date | 2022-06-27 11:55 +0200 |
| Message-ID | <t9bur9$10uf$1@gioia.aioe.org> |
| In reply to | #54344 |
Il 27/06/22 10:23, Nuzzler ha scritto: > CMPS: "compares two strings (actually, two arrays)". > Ganzo. > > Segmento DS: "Data Segment" > http://www-lia.deis.unibo.it/Courses/FondII/80861.pdf > "Lo spazio di memoria indirizzabile dalla CPU è diviso in segmenti logici > (massimo 64k byte). La CPU può accedere direttamente a 4 segmenti per > volta (massimo 256k byte)" > > Override di un segmento: > https://www.includehelp.com/embedded-system/segment-override-prefix-8086-microprocessor.aspx > "the effective address is calculated by appending the segment registers value > and adding up the value of the respective offset. But what if we want to choose > some other offset than the assigned one. > This freedom is provided to us in 8086 microprocessor through the concept of > Segment override prefix." > > Mi pare che la gestione della memoria nei processori x86 possa diventare una > bella fonte di grattacapi... Abbastanza... ma più per la programmazione che per l'emulazione (semprechè ti ricordi di applicare l'override... :-) ). Saranno quasi 30 anni che non programmo in assembler 8086 ma ricordo che a volte si impazziva a capire perchè un programma non funzionava per poi scoprire che si leggevano i dati dal segmento sbagliato...
[toc] | [prev] | [next] | [standalone]
| From | Ammammata <ammammata@tiscalinet.it> |
|---|---|
| Date | 2022-06-27 10:31 +0000 |
| Message-ID | <XnsAEC37F6D5ECAEammammatatiscalineti@127.0.0.1> |
| In reply to | #54345 |
Il giorno Mon 27 Jun 2022 11:55:53a, *Marco Maccaferri* ha inviato su it.comp.retrocomputing il messaggio news:t9bur9$10uf$1@gioia.aioe.org. Vediamo cosa ha scritto: > Saranno quasi 30 anni che non programmo in assembler 8086 per me sono di più :/ e ovviamente non ricordo assolutamente nulla -- /-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\ -=- -=- -=- -=- -=- -=- -=- -=- - -=- ........... [ al lavoro ] ...........
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.retrocomputing
csiph-web