hogyan tárolja a forráskódot a HiSoft Pascal?
a forráskód kezdőcímét a 48A3H-n lévő word mondja meg.
ez jelen esetben a 6338H címen kezdődik.
Hogy épül fel egy sor?
Az első két byte-ban van tárolva a sorszám.
A következő byte azt mondja meg, hány space-szel kezdődik a sor.
A következő byte(ok) maga a szöveges része a sornak.
A sort egy chr(13) (0dh) byte zárja le.
Néhány utasítás (35 db) tokenizálva van.
pl.:
81H = PROGRAM
82H = DIV
83H = CONST
84H = PROCEDURE
stb.
A
10 PROGRAM PROBA;
20 BEGIN
30 WRITELN('Hello');
40 END.
pl. így néz ki a memóriában:
;első sor:
dw 10
db 0
db 81h ;a PROGRAM tokenizálva
db " PROBA;"
db 13
;második sor:
dw 20
db 0
db 98h ;a BEGIN tokenizálva
db 13
harmadik sor:
dw 30
db 2 ;2 szóköz van a sor elején
db "WRITELN('Hello');"
db 13
;negyedik sor:
dw 40
db 0
db 90h ;END tokenizálva
db "."
db 13
Mivel a sorszámok INTEGER formában vannak, összesen csak 32767 sorunk lehet (persze ez is bőven elég, ha lenne egy ekkora programunk, csak a sorszámok tárolására elmenne 64kB
![:-)](/Smileys/phpbb/ds_icon_smile.gif)
).
Lehet azonban trükközni, ha minden sor sorszámát 0-ra írjuk át (közvetlenül a memóriában turkálva), akkor kilistázhatatlan lesz a programunk.
Vagy pl. átírható a sorszám pl. 0ffffh-ra is, akkor listázásor -1 lesz annak a sornak a sorszáma. Ez kitörölhetetlen
![:-)](/Smileys/phpbb/ds_icon_smile.gif)