Subversion Repositories NedoOS

Rev

Rev 55 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

р) ё ышэъхЁюь:
# ёфхырЄ№ ¤ъёяюЁЄ фхъырЁрЎшщ шч рёьр (ш яЁхфєёьюЄЁхЄ№ Єюъхэ?) ╤─┼╦└═╬
# ёфхырЄ№ EXPORT т ъюьяшы ЄюЁх ╤─┼╦└═╬
# ёфхырЄ№ рёёхьсышЁютрэшх Ўхяюўъш Їрщыют - ╤─┼╦└═ INCLUDE (ЄхяхЁ№ эрфю ёфхырЄ№ #include т ъюьяшы ЄюЁх)
# ёфхырЄ№ ¤ъёяюЁЄ юс·хъЄэшър т рёьх (ярЄўш эр ьхёЄх ш эр сєфє∙хх ярЄўш эрчрф)
# ёфхырЄ№ ышэъхЁ
- яюёых ¤Єюую ьюцэю ЁрчтштрЄ№ ъюьяшы ЄюЁ ш рёь
#

с) схч ышэъхЁр:
# ёфхырЄ№ ¤ъёяюЁЄ фхъырЁрЎшщ шч рёьр (ш яЁхфєёьюЄЁхЄ№ Єюъхэ?) ╤─┼╦└═╬
# ёфхырЄ№ EXPORT т ъюьяшы ЄюЁх - фы  яЁюЎхфєЁ, ЇєэъЎшщ, яхЁхьхээ√ї, ъюэёЄрэЄ, ъюэёЄрэЄэ√ї ёЄЁюъ/ьрёёштют/ёЄЁєъЄєЁ ╤─┼╦└═╬
# ёфхырЄ№ рёёхьсышЁютрэшх Ўхяюўъш Їрщыют - ╤─┼╦└═ INCLUDE (ЄхяхЁ№ эрфю ёфхырЄ№ #include т ъюьяшы ЄюЁх)
# ёфхырЄ№ яюфъыхштрэшх сшэрЁэшъют ё ьхЄъющ (тьхёЄю nedodefb ш фы  яюфъы■ўхэш  ьюфєыхщ) ╤─┼╦└═╬
# ёфхырЄ№ ¤ъёяюЁЄ ЄрсышЎ√ ЁхыюърЎшш (шыш юсцр?) ╤─┼╦└═╬
# ёфхырЄ№ яюфъыхштрэшх сшэрЁэшъют ё ЁхыюърЎшхщ (шыш юсцхщ?)
- яюёых ¤Єюую ьюцэю ЁрчтштрЄ№ ъюьяшы ЄюЁ ш рёь
ъръ юЄышўрЄ№ т ъюьрэфх, уфх рёь, уфх сшэрЁэшъ? шыш ЁхрышчютрЄ№ incbin (юэ эхтыюцхээ√щ)? Єюуфр ёфхырЄ№ USEUNIT (#include), ъюЄюЁ√щ яхЁхтюфшЄё  т incbin? шыш тёх incbin ЁрчьхёЄшЄ№ т ёЄрЁЄрях?


эрфю ЄшяшчшЁютрЄ№ oldvalue ш ёЄхъ pushvalue, Єюуфр ьюцэю _isaddr ёсЁрё√трЄ№ яЁш т√ўшЄрэшш фтєї рфЁхёют (ёхщўрё яЁшїюфшЄё  ■чрЄ№ 1*(addr-addr))



тьхёЄю usemacro ыєў°х #?
хёыш яюых ьхЄъш=яюых ъюьрэф√, Єю тююс∙х єсЁрЄ№ эхы№ч , Є.ъ. ё Єюўъш чЁхэш  ЄюъхэшчрЄюЁр ёЄЁюър "macro1" - ¤Єю юс· тыхэшх ьхЄъш, р ёЄЁюър "macro1 par1,par2" - ю°шсър
шыш ьюцэю схч #, хёыш ыютшЄ№ ьръЁюё√ т tokcalllbl тьхёЄю ю°шсъш, эю тёЄрты Є№ эхтшфшь√щ Єюъхэ usemacro


ъръ т√ўшЄ√трЄ№ ьръЁюё√ т asmtg:
р) юЄфхы№э√щ Ўшъы ё Єхь цх switch - цшЁэю
с) эх ўшЄрЄ№ эхяюёЁхфёЄтхээю readfin, р ўхЁхч яЁюЎхфєЁє - чрьхфышЄ, шыш яЁюЎхфєЁр эр рёьх? ърър ? (шфх  с√ыр ўшЄрЄ№ тёхуфр шч 256-срщЄэюую сєЇхЁр т ярь Єш, эю ъръ ¤Єю ёфхырЄ№ эр ▀┬╙? тьхёЄю т√чютр фюыцхэ с√ы с√Є№ ьръЁюё)
т) ухэхЁшЁютрЄ№ Їрщы√ ш ўшЄрЄ№ шї
у) switch т√фхышЄ№ т яЁюЎхфєЁє - юфэючэрўэю чрьхфышЄ
ф) ярЄў т√чютр readfin?
х)


ЄрсышЎр ЁхыюърЎшш - фы  тёхї рфЁхёют, Є.х. ўшёхы, ъюЄюЁ√х т√ўшёы ■Єё  шч рфЁхёют? эю $-label фюыцэю шьхЄ№ ЁрчьхЁэюёЄ№ ўшёыр! р label/256 (т ъюьяшы ЄюЁх эхЄ)?
эєцхэ Їыру "рфЁхё" т ьхЄъх ("ьхЄър=ўшёыю" фхырхЄ ўшёыю, "ьхЄър" фхырхЄ рфЁхё, "ьхЄър=ьхЄър+1" (яЁюёЄю яю ЇръЄє ўЄхэш  ьхЄъш Єшяр "рфЁхё" шыш $ т т√Ёрцхэшш) фхырхЄ рфЁхё)
яЁш тёхї рЁшЇьхЄшўхёъшї юяхЁрЎш ї юЄёыхцштрЄ№ Єшя рфЁхё/ўшёыю?
ъръ яЁю∙х? шыш яюьхўрЄ№ т√Ёрцхэш  Єшяр "ўшёыю" чэръюь #?
шыш яюьхўрЄ№ Єюы№ъю т√Ёрцхэш  Єшяр $-label? (т юс√ўэ√ї яЁюуЁрььрї эх шёяюы№чє■Єё )
шыш ЁрчЁх°шЄ№ $-label Єюы№ъю т ёяхЎшры№эющ ъюьрэфх юяЁхфхыхэш  ьхЄъш?

ЁхыюЎшЁєхь эх Єюы№ъю яхЁхїюф√ ш т√чют√, эю ш т√ўшёыхэш  рфЁхёр switch ш ЄрсышЎ√ dw
юсэєы Є№ _islabel шьххЄ ёь√ёы Єюы№ъю т ъюьрэфрї, ъюЄюЁ√х ухэхЁ Єё  ё чряшё№■ ёыютр шыш яш°єЄ ьхЄъє (label, =, dw, jp, call, ld)
яюър ёфхыры Єръ, ўЄю эхы№ч  $-label (ьюцэю 1*($-label))
яюър яЁюёЄю т√уЁєцрхь рфЁхёр ярЄўхщ т forg (тьхёЄю ЁрчьхЁют сыюъют)


ъръ ёЄЁюшЄ№ яЁюхъЄ ъюьяшы ЄюЁр?
эхы№ч  тчршьэ√х ёё√ыъш - фюяєёЄшь, т√эхёхь т ьюфєы№
юфшэ ьюфєы№ ьюцхЄ с√Є№ тъы■ў╕э т Ёрчэ√х ьюфєыш - ъръ шчсхцрЄ№ фєсышЁютрэш  ъюфр? emit шёяюы№чєхЄё  яюўЄш тхчфх, Є.ъ. юэ т√тюфшЄ ю°шсъш
фрцх хёыш ЁрчЁх°шЄ№ фєсышЁютрЄ№ ю°шсъш, Єю asmstr хёЄ№ т compile (asm, switch, case, ъюэёЄрэЄэ√х ёЄЁюъш), commands (ьюцэю єсЁрЄ№), codetg
т√шуЁ√° яю ьхЄърь сєфхЄ Єюы№ъю яЁш шэъюсцх ъръющ-Єю ЄхЁьшэры№эющ тхЄтш тъы■ўхэш  ьюфєыхщ, ё ъєўхщ ьхЄюъ
Єръшї т ъюьяшы ЄюЁх эхЄ!
ъръ ЁхыюЎшЁютрЄ№ юсЁр∙хэш  ъ фЁєушь ьюфєы ь? (хёыш ъръ ш тэєЄЁш, Єю х∙╕ ш эхы№ч  сєфхЄ ЁрёяшїрЄ№ яЁюуЁрььє т ярь Є№ яю ўрёЄ ь!)
эрфю ўЄюс√ яЁш ъюьяшы Ўшш ьюфєы  с√ы шчтхёЄхэ эюьхЁ сыюър (уыюсры№э√щ фы  яЁюхъЄр!) ш ёьх∙хэшх ърцфюую юсЁр∙хэш  эрЁєцє
уыюсры№э√щ эюьхЁ сыюър ьюцэю тч Є№ Єюы№ъю шч ъюьёЄЁюъш ъюьяшы ЄюЁр, юэ фюыцхэ яюярёЄ№ т фхъырЁрЎш■ (т ъръюь тшфх?)



ъръ ё¤ъюэюьшЄ№ т рёёхьсыхЁх ярь Є№ эр ыюъры№э√ї яхЁхьхээ√ї? (эрфю эх сюыхх 55ъ фы  ёрьюъюьяшы Ўшш, р ыєў°х 48 фы  CP/M - тЁюфх єцх 32ъ, эю эрфю фюсртшЄ№ ЄюъхэшчрЎш■ (т√Ёрцхэш  Єюы№ъю ё >>16 ш $+num, ╩╨╬╠┼ └╤╠╬┬╤╥└┬╬╩!!!), сєЇхЁшчрЎш■)
- ышэъютрЄ№ (т шфхрых тыюцхээю) (т шфхрых ё тчршьючртшёшьюёЄ ьш)
- ёсЁрё√трЄ№ яюёЄ√ яюёых ърцфющ ЇєэъЎшш, яхЁхьхээ√х яЁшыхяы Є№ т їтюёЄ ЇєэъЎшш. Єюуфр ьюцэю ш ыюъры№эюх яЁюёЄЁрэёЄтю шь╕э фы  эхсюы№°юую ёюъЁр∙хэш  фрээ√ї (эю єтхышўхэш  ъюфр)
ўЄюс√ ьюцэю с√ыю єфры Є№ ыюъры№э√х ьхЄъш ЇєэъЎшш (Єх, ъ ъюЄюЁ√ь юсЁр∙хэшх Єюы№ъю эрчрф ш эх с√ыю юсЁр∙хэш  тяхЁ╕ф), фюёЄрЄюўэю яюьэшЄ№ ьрёёшт рфЁхёют ї¤°хщ. ╟ряюьэшЄ№ хую эрфю яюёых юс· тыхэш  чруюыютър ЇєэъЎшш. т ьюфєых Єръ эх яюыєўшЄё , Є.ъ. Єрь юс· ты ■Єё  х∙╕ ¤ъёяюЁЄшЁєхь√х ьхЄъш, ъюЄюЁ√х єфры Є№ эхы№ч .
ыюъры№э√х яхЁхьхээ√х ЇєэъЎшш яЁшф╕Єё  ъюьяшышЁютрЄ№ т хфшэюь сыюъх ё ЇєэъЎшхщ, шэрўх эхы№ч  сєфхЄ шї єфры Є№.
- эр тЄюЁюь яЁюїюфх юёЄртшЄ№ т ЄрсышЎх Єюы№ъю ьхЄъш, ъ ъюЄюЁ√ь с√ыш юсЁр∙хэш  фю яЁшётрштрэш , юёЄры№э√х ёЄхЁхЄ№ (шыш фтх Ёрчэ√ї ЄрсышЎ√? Єюуфр эр яхЁтюь яЁюїюфх эх яЁшётрштрЄ№ Єръшх ьхЄъш, фрцх хёыш юэш яюЄюь шёяюы№чє■Єё  яюёых юяЁхфхыхэш )
- тьхёЄю шь╕э CRC32
- ╤─┼╦└═╬: ёюъЁрЄшЄ№ эрчтрэш  яЁюЎхфєЁ ш яхЁхьхээ√ї т ъюьяшы ЄюЁх
- ╤─┼╦└═╬: ёюъЁрЄшЄ№ ўшёыю ярЁрьхЄЁют ш ыюъры№э√ї яхЁхьхээ√ї т ъюьяшы ЄюЁх
- ╤─┼╦└═╬: ёюъЁрЄшЄ№ ўшёыю яЁюЎхфєЁ т ъюьяшы ЄюЁх
- ╤─┼╦└═╬: юфэюёшьтюы№э√х ртЄюьхЄъш (ё яЁхЇшъёюь ЇєэъЎшш)
- чрьхэшЄ№ ъюьяшы ЄюЁюь т яЁюЎхфєЁрї ыюъры№э√х яхЁхьхээ√х эр ртЄюьхЄъш схч яЁхЇшъёр (эю Єюуфр сєфхЄ ъюэЇышъЄ т Ёрчэ√ї ьюфєы ї!)





ухэхЁшЁютрЄ№ user.l фы  юЄырфъш т рэЁшых



ьюцэю ЁрчфхышЄ№ рёь;
1. юсЁрсюЄър ьэхьюэшъ ш ухэхЁрЎш  ъюфр + юс· тыхэшщ + яюыхщ (т√Ёрцхэшщ)
2. ышэъютър ъюфр + юс· тыхэшщ + яюыхщ, эю Єрь тёх ёє∙хёЄтє■∙шх ьхЄъш!

ьюцэю фы  тЄюЁюую яЁюїюфр яюфуюЄютшЄ№ фЁєующ рёьюЄхъёЄ, уфх яюыютшэр ёъюьяшышЁютрэр т db ш схч ўрёЄш ьхЄюъ (ъ ъюЄюЁ√ь эх с√ыю юсЁр∙хэш  тяхЁ╕ф)
эю Єръ тё╕ Ёртэю т яхЁтюь яЁюїюфх эрфю яЁющЄш тёх ёє∙хёЄтє■∙шх ьхЄъш!
ш яшёрЄ№-ўшЄрЄ№ Єръющ юс·╕ь фрээ√ї сєфхЄ юўхэ№ ьхфыхээю




ьхЄъш т ъюьяшы ЄюЁх:
1) уыюсры№э√х ъюэёЄрэЄ√ - ъюЁюЄъюх шь 
2) уыюсры№э√х яхЁхьхээ√х - ъюЁюЄъюх шь 
3) тэх°эшх ьхЄъш ярЁрьхЄЁют - 
4) ыюъры№э√х ьхЄъш ярЁрьхЄЁют - ╠╬╞═╬ ╙─└╦▀╥▄
5) Єюўъш тїюфр т ЇєэъЎшш - ъюЁюЄъюх шь 
6) яхЁхїюф√ эрчрф - ╠╬╞═╬ ╙─└╦▀╥▄, ухэхЁшЁютрЄ№ $-...
7) яхЁхїюф√ тяхЁ╕ф - 
[8) ыюъры№э√х ъюэёЄрэЄ√ - ╠╬╞═╬ ╤ ╩╬╨╬╥╩╚╠ ╚╠┼═┼╠, ╠╬╞═╬ ╙─└╦▀╥▄]
9) ыюъры№э√х яхЁхьхээ√х - ╠╬╞═╬ ╤ ╩╬╨╬╥╩╚╠ ╚╠┼═┼╠, ╠╬╞═╬ ╙─└╦▀╥▄





ьюцэю ёфхырЄ№ make эхчртшёшь√ь юЄ ЁхфръЄюЁр
фы  ¤Єюую
т ЁхфръЄюЁх memory mapped file, яЁш ы■сющ чряшёш т ы■сющ Їрщы т фшЁхъЄюЁшш └╥╬╠└╨═╬ ╤ ▌╥╚╠ яю ты хЄё  Їрщы "юсэютыхэю"
яЁш ы■сюь ўЄхэшш яЁютхЁ хЄё  эрышўшх Їрщыр "юсэютыхэю" - хёыш юэ хёЄ№, Єю ўЄхэшх яЁхЁ√трхЄё  ё ю°шсъющ "єёЄрЁхыю"
ю°шсър яЁхЁ√трхЄ ш яхЁхчряєёърхЄ тё■ Ўхяюўъє ъюьяшы Ўшш, р Єръцх чряєёъ Ёхчєы№ЄрЄр
make т√ч√трхЄё  шч уыртэюую Ўшъыр юцшфрэш  "юсэютыхэю" (Ёрч т ёхъєэфє?)
яхЁхъюьяшышЁєхь Єюы№ъю шчьхэ╕ээ√х Їрщы√ - ъръ єчэрЄ№? тЁхь  Їрщыр эхэрф╕цэю, ьюцэю ЄшърЄ№ эюьхЁюь тхЁёшш Їрщыр т ярЁрьхЄЁх start? р т FAT ЄшърЄ№ ёхъєэфрьш???
obj Ёхры№эю ыхцрЄ т Їрщыютющ ёшёЄхьх, Єюцх ё єэшъры№э√ь эюьхЁюь тхЁёшш/тЁхьхэхь (ўЄю фхырЄ№ яЁш яхЁхяюыэхэшш? ёьюЄЁхЄ№ чэръ ЁрчэшЎ√ эюьхЁр?)
т ЁхфръЄюЁх ъэюяър "чряєёЄшЄ№" юсэюты хЄ Їрщы яЁюхъЄр, фюсрты хЄ Єєфр Їыру "ё чряєёъюь". яЁш ўЄхэшш Їрщыр яЁюхъЄр ¤ЄюЄ Їыру ёэшьрхЄё  - ъюэЇышъЄ!!!
эрфю юЄёыхцштрЄ№ Єхъє∙шщ эюьхЁ чряєёър ш юсэюты Є№ хую? яЁш яхЁтющ ёсюЁъх (яЁш ёЄрЁЄх ЁхфръЄюЁр) яхЁхф тїюфюь т Ўшъы ёьюЄЁхЄ№ Єхъє∙шщ эюьхЁ чряєёър, ўЄюс√ эх чряєёЄшЄ№?

ъръ юсэюты Є№ эхрЄюьрЁэю?
хёыш яючфэю ёючфрЄ№ Їрщы "юсэютыхэю", Єю make ьюцхЄ фюъюьяшышЁютрЄ№ ш чряєёЄшЄ№ ёЄрЁє■ тхЁёш■ яЁюхъЄр, эхёьюЄЁ  эр Єю, ўЄю шёяЁртшыш ш ёэютр эрцрыш "чряєёЄшЄ№"
эю ¤Єю тючьюцэю ш яЁш ўЄхэшш сыюърьш - тю тЁхь  юсЁрсюЄъш яюёыхфэхую сыюър яю тшЄё  Їрщы "юсэютыхэю", эю ь√ хую єцх эх єтшфшь
Єръ ўЄю ыєў°х яЁюёЄю эх эрцшьрЄ№ фтр Ёрчр "чряєёЄшЄ№"
!?!эрёЄю ∙р  яЁюсыхьр - хёыш шчьхэшЄ№ ЄхъёЄ Їрщыр, р Їрщы "юсэютыхэю" эх єёяххЄ ёючфрЄ№ё , Єюуфр сєфхЄ ю°шсър ъюьяшы Ўшш шыш эхюцшфрээ√щ Ёхчєы№ЄрЄ (ўрёЄшўэюх юсэютыхэшх шёїюфэшър). Єю цх яЁш ёыш°ъюь Ёрээхь ёючфрэшш Їрщыр "юсэютыхэю"
яюёырЄ№ ёшуэры эх яюыєўшЄё  - ърцф√щ Ёрч ЁрсюЄрхЄ эхшчтхёЄэр  єЄшышЄр
т ётюхщ Їё ь√ х∙╕ ъръ-Єю ьюцхь ёфхырЄ№ рЄюьрЁэюх ёючфрэшх
═╬ ╩└╩ ┴█╥▄ ╧╨╚ FAT?

эрь эрфю ЁрчсшЄ№ ЄхъёЄ эр яюыєЇрщы√ яю ъєЁёюЁє
stdio фюыцхэ єьхЄ№ эрїюфшЄ№ юср яюыєЇрщыр ъръ юфшэ Їрщы ш ўшЄрЄ№ хую яюыэюёЄ№■ ўхЁхч тёх сыюъш
ъръ ёфхырЄ№ фюсртыхэшх т эрўрыю тЄюЁюую яюыєЇрщыр? ш ўЄюс√ ЁрсюЄрыю т FAT?
яЁш єфрыхэшш эрўрыр тЄюЁюую яюыєЇрщыр ьюуєЄ юсЁрчютрЄ№ё  яєёЄ√х сыюъш, эю єфры Є№ шї эхы№ч , Є.ъ. шф╕Є ўЄхэшх!
є тЄюЁюую яюыєЇрщыр эрфю чэрЄ№ эюьхЁ яхЁтюую сыюър - уфх хую ъырёЄ№? шыш ёфхырЄ№ яюыэ√щ эрсюЁ яєёЄ√ї сыюъют т эрўрых эр тё ъшщ ёыєўрщ?
Єюуфр сыюъш є ърцфюую яюыєЇрщыр эєьхЁє■Єё  ё 0
уфх їЁрэшЄ№ эюьхЁ сыюър Їрщыр?
start/тЁхь ? Єхыю Їрщыр? яюёыхфэшх 2 ёшьтюыр Ёрё°шЁхэш ?
уфх їЁрэшЄ№ эрўрыю фрээ√ї тэєЄЁш сыюър? яЁш єфрыхэшш фрээ√ї шч эрўрыр ь√ ъюЁЁхъЄшЁєхь шьхээю ¤Єю ўшёыю!!! start чрэ Є


тяхЁ╕ф ёьюЄЁ Є ьхЄъш if, while (т√їюф), repeat (т√їюф) р Єръцх forward яЁюЎхфєЁ - шї юёЄртшЄ№ ышэъхЁє?
эрчрф ёьюЄЁ Є ьхЄъш while (Ўшъы), repeat (Ўшъы), par (Є.ъ. ьюцэю ЁрёёўшЄрЄ№), var (Є.ъ. ьюцэю ЁрёёўшЄрЄ№)

т ъръюь тшфх ўхЁхфютрЄ№ ъюф ш ъюьрэф√ ышэъхЁє?
1р) ъюф сыюърьш ьръёшьєь 256 срщЄ (ЁрчьхЁ сєЇхЁр) ё чруюыютъюь, уфх фышэр
1с) фрээ√х Єръ цх - т юЄфхы№эюь Їрщых?

юяЁхфхыхэш  фхъырЁшЁєхь√ї ьхЄюъ яхЁхфр■Єё  ышэъхЁє т тшфх:
2) ыюъры№эр  ьхЄър яхЁхїюфр (шыш шэырщэ var/par): шь  + ёьх∙хэшх т Єхъє∙хь ёхуьхэЄх
3) ¤ъёяюЁЄшЁєхьр  ьхЄър яхЁхїюфр (шыш ¤ъёяюЁЄшЁєхь√щ шэырщэ par): шь  + ёьх∙хэшх т Єхъє∙хь ёхуьхэЄх
4) ¤ъёяюЁЄшЁєхьр  ьхЄър var/par: шь  + ёьх∙хэшх
5) ¤ъёяюЁЄшЁєхьр  ъюэёЄрэЄр: шь  + чэрўхэшх

эхЁрёёўшЄрээ√х юсЁр∙хэш  ъ ьхЄърь (т√Ёрцхэшх (фы  >>) ё шьхэрьш ш ЁрёёўшЄрээ√ьш юсЁр∙хэш ьш - ЁрёярЁёхэю ё  тэ√ьш push-pop?) яхЁхфр■Єё  ышэъхЁє фы  чряюыэхэш  т Єръшї ЇюЁьрЄрї:
6) byte (ьырф°шщ)
7) uint (ьырф°шщ)
8) long (фы  DL)
[...) uint (ёЄрЁ°шщ)]
[...) byte (>>8), byte (>>16), byte (>>24)]
[...) ёьх∙хэшх фы  jr??? эхЁхры№эю єурфрЄ№ jr/jp тяхЁ╕ф, р эрчрф єцх ЁрёёўшЄрэю]
 ЁрёёўшЄрээ√х юсЁр∙хэш  ъ ьхЄърь яхЁхфр■Єё  ышэъхЁє т тшфх:
A) "Єхъє∙шщ ъюф" + ёьх∙хэшх (uint)
┴) "Єхъє∙шх фрээ√х" + ёьх∙хэшх (uint)
┬) "long ъюэёЄрэЄр" + фрээ√х (long)

ЇюЁьрЄ чруюыютър сыюър:
+0 1 Єшя:
0"ъюэхЎ"
1"ъюф"/"фрээ√х" + фышэр + срщЄ√
2"юс· тыхэшх ыюъры№эющ ьхЄъш яхЁхїюфр" + шь  + ёьх∙хэшх (т Єхъє∙хь ёхуьхэЄх ъюфр)
3"юс· тыхэшх ¤ъёяюЁЄшЁєхьющ ьхЄъш яхЁхїюфр" + шь  + ёьх∙хэшх (т Єхъє∙хь ёхуьхэЄх ъюфр)
4"юс· тыхэшх ¤ъёяюЁЄшЁєхьющ ьхЄъш var/par" + шь  + ёьх∙хэшх (т Єхъє∙хь ёхуьхэЄх var)
5"юс· тыхэшх ¤ъёяюЁЄшЁєхьющ ъюэёЄрэЄ√" + шь  + чэрўхэшх
6"т√Ёрцхэшх byte"
7"т√Ёрцхэшх uint"
8"т√Ёрцхэшх long"


хёыш ъюьяшы ЄюЁ сєфхЄ ўхЁхфютрЄ№ т юфэюь Їрщых сыюъш ъюфр ш фрээ√ї, Єю ышэъхЁ эх ёьюцхЄ шї ЁрёъшфрЄ№ т юфшэ яЁюїюф
яЁшЎхяы Є№ фрээ√х ёЄЁюую т ъюэхЎ Їрщыр (эрфю юуЁюьэ√щ сєЇхЁ т ъюьяшы ЄюЁх) - яюьюцхЄ ышэъхЁє Єюы№ъю хёыш ЁрчЁх°шЄ№ ўхЁхфютрэшх ъюфр ш фрээ√ї т сшэрЁэшъх
хёыш фтр Їрщыр, Єю ъръ ышэъхЁ яющь╕Є, ъръющ ёхуьхэЄ - "Єхъє∙шх фрээ√х"? чрЁрэхх чэрЄ№ ўшёыю сыюъют ъюфр ш яЁшсрты Є№ хую?
ўЄюс√ ышэъхЁ ьюу эх яюфЎхяшЄ№ эхэєцэє■ яЁюЎхфєЁє, юэр фюыцэр с√Є№ т юЄфхы№эюь Їрщых. эю эюьхЁ ¤Єюую Їрщыр эрфю Єюуфр єўхёЄ№ т юс∙хь ёў╕Єх!
ъръ єчэрЄ№, ўЄю эх эрфю яюфЎхяы Є№? р тфЁєу юэр шёяюы№чєхЄё  эшцх? шыш тёх ышс√ т ъюэЎх т шхЁрЁїшўхёъюь яюЁ фъх - Єюуфр эх эрфю яюфЎхяы Є№ ышсє, хёыш эш юфэр фхъырЁрЎш  шч ышс√ эх шёяюы№чютрэр (ъЁюьх ыюъры№э√ї ьхЄюъ яхЁхїюфр)
юс· тыхэш  эрфю т юЄфхы№э√ї Їрщырї, шэрўх эх яюыєўшЄё  т юфшэ яЁюїюф!!!
яюЁ фюъ яюфрўш obj (startup ЁрёёьрЄЁштрхЄё  ъръ юс√ўэ√щ ъюф, юсцш єьх■Є т√уЁєцрЄ№ё  ш шч рёьр, ш тяюёыхфёЄтшш шч ъюьяшы ЄюЁр):
decl1 + decl2 + libdecl1 + libdecl2 +
code1 + code2 + lib1 + lib2 +
var1 + var2 + libvar1 + libvar2
сыюъ эхшэшЎшрышчшЁютрээ√ї яхЁхьхээ√ї эх эєцхэ - ¤Єю Ёх°рхЄё  яръхЁюь?

Їрщы фхъырЁрЎшш чръЁ√трхЄё  Єюы№ъю яюёых юъюэўрэш  ъюьяшы Ўшш ёююЄтхЄёЄтє■∙хую Їрщыр, Є.х. юсцш code ш var юЄ эхую фюыцэ√ сєЇхЁшчшЁютрЄ№ё  (т ярь Єш шыш т Їрщых)
сюыхх Єюую, яюёъюы№ъє ёэрўрыр ь√ ўшЄрхь ┬╤┼ Їрщы√ фхъырЁрЎшш, Єю сєЇхЁшчшЁє■Єё  ┬╤┼ юсцш code ш var!!! фы  ъюьяшы ЄюЁр шї юс·╕ь сєфхЄ яюЁ фър 48╩ (тхё№ ъюф ё фрээ√ьш (32╩) + яюыютшэр ьхЄюъ (16╩) + чруюыютъш (16╩?))

ъръ ё¤ъюэюьшЄ№ їюЄ№ ёъюы№ъю-Єю сєЇхЁэющ ярь Єш?
¤Єю ьюцэю Єюы№ъю яЁш ўхЁхфютрэшш ъюфр ш фрээ√ї, Є.ъ. ёрью Ёрчфхыхэшх code ш var ЄЁхсєхЄ сєЇхЁшчшЁютрЄ№ Ўхышъюь юср, яЁхцфх ўхь ьюцэю эрўрЄ№ ёъыхштрЄ№
шыш ёъыхшЄ№ т фтр сшэрЁэшър?
эю тё╕ Ёртэю - ъръ с√Є№ ё фхъырЁрЎш ьш? ъръ-Єю т√уЁєцрЄ№ Їрщы ярЄўхщ, ъюЄюЁ√щ сєфхЄ шёяюы№чютрЄ№ ыюрфхЁ?



яєёЄ№ ь√ ўхЁхфєхь т√чют√ ъюьяшы ЄюЁр ш рёьр, р рёь т√уЁєцрхЄ юсцш ш фхъырЁрЎшш (label1=M1+123 label2=M1+456 ш Є.ф. - ыєў°х т ЄюъхэшчшЁютрээюь тшфх, Є.ъ. ¤Єю ышўэюх фхыю рёьр)
(яЁшў╕ь т√уЁєцрхЄ ёЄюы№ъю ъюяшщ фхъырЁрЎшщ, ёъюы№ъю эєцэю?)
тчршьючртшёшьюёЄ№ ьюфєыхщ чряЁх∙хэр - Єюы№ъю чртшёшьюёЄ№ уыртэюую юЄ эшцэшї (╥╬├─└ ┬╠┼╤╥╬ ╦╚═╩┼╨└ ╠╬╞═╬ include "mod1.dec":incbin "mod1.bin")
Єюуфр эх ЄЁхсєхЄё  ярь Є№ юфэютЁхьхээю яюф шёїюфэшъ, рёь, ЄюъхэшчшЁютрээ√щ рёь ш юсц, р фы  ърцфюую ЄЁхсєхЄё  ьръёшьєь ярь Є№ яюф юсц ш фхъырЁрЎшш
шЄюую ьръёшьры№эр  ярь Є№ ЄЁхсєхЄё , ъюуфр ёъюьяшышЁютрэ√ тёх ьюфєыш, ъЁюьх уыртэюую:


тё  ёшёЄхьр чрщь╕Є т ярь Єш ъръ ьшэшьєь:
32K ЁхфръЄюЁ (ъръ ACEdit)
32K Єхъє∙шщ ЁхфръЄшЁєхь√щ шёїюфэшъ (ьюцхЄ с√Є№ эх юфшэ! тхё№ яЁюхъЄ ъюьяшы ЄюЁр 210K)
24K ъюьяшы ЄюЁ
8K ьхЄъш ъюьяшы ЄюЁр [(+8K ьхЄъш яхЁхїюфр?)]
[10K ЄюъхэшчрЄюЁ рёёхьсыхЁр т ъюьяшы ЄюЁх шыш сюы№°х юЄфхы№эю (ьюцэю єсЁрЄ№, хёыш ЁхфръЄшЁєхь рёёхьсыхЁ єцх ЄюъхэшчшЁютрээ√щ, р рёьютёЄртюъ эхЄ)]
10K рёёхьсыхЁ
16K ьхЄъш рёёхьсыхЁр (тфтюх ьхэ№°х, ўхь ёхщўрё - яюф юфшэ ьюфєы№ + шёяюы№чєь√х фхъырЁрЎшш)
4K ышэъхЁ
[16K ьхЄъш ышэъхЁр (тёх ¤ъёяюЁЄшЁєхь√х + ьхЄъш яхЁхїюфр тяхЁ╕ф)]
40K т√їюфэющ сшэрЁэшъ (яю ЁрчьхЁє ёрьющ сюы№°ющ яЁюуЁрьь√ ё фрээ√ьш: ЁхфръЄюЁ ё ьрыхэ№ъшь ЄхъёЄюь шыш ъюьяшы ЄюЁ ё ьхЄърьш)
48K сєЇхЁшчрЎш  тёхї юсцхщ яЁюхъЄр
8K ¤ъЁрэ, ёшёЄхьэ√х яхЁхьхээ√х, ёЄхъ
4K юё№ (ярь Є№, ттюф-т√тюф, °хфєыхЁ, ╘╤, ыюрфхЁ)
[16K Їрщыют√х сєЇхЁр (эрфю эр тёх юсцш юфэютЁхьхээю! шыш єьхЄ№ чрьюЁрцштрЄ№ эхчрїтрўхээ√щ ярщя схч сєЇхЁр?)]
---
~240K (сєфхЄ сюы№°х шч-чр ьэюуюЄхъёЄютюёЄш - фю 454K, эх ёўшЄр  чрярёют яюф їтюёЄ√ ЄхъёЄют)


ъръ яЁш ¤Єшї ыш°эшї Їрщырї эх яюЄхЁ Є№ ёъюЁюёЄ№? фхырЄ№ юфэюяЁюїюфэ√щ рёь ё ярЄўрьш т юсцх (ышэъхЁ/ыюрфхЁ яЁшьхэшЄ ярЄўш)?

ъръ яхЁхфрЄ№ фышээ√щ ьхщъЇрщы Єшяр Єръюую?

//яЁш шчьхэхэшш mod1.c шыш mod1.h
compile mod1.h mod1.c
tokenize mod1.asm mod1.var
assemble mod1.tok //фхырхЄ mod1.obj, mod1.dec

//яЁш шчьхэхэшш asm1.asm
tokenize asm1.asm
assemble asm1.tok //фхырхЄ asm1.obj, asm1.dec

//яЁш шчьхэхэшш main.c шыш mod1.h шыш (ъръ юЄёыхфшЄ№?) фхъырЁрЎшщ ьюфєыхщ
compile mod1.h main.c //ЄюЄ цх їхфхЁ, ўЄю т√°х
tokenize mod1.dec asm1.dec main.asm main.var
assemble main.tok //фхырхЄ main.obj

//яЁш шчьхэхэшш ы■сюую Їрщыр
link mod1.obj asm1.obj main1.obj


шыш схч ышэъхЁр (Єр цх ёъюЁюёЄ№ ш эр юфшэ т√чют ьхэ№°х):

//яЁш шчьхэхэшш mod1.c шыш mod1.h
compile mod1.h mod1.c
tokenize mod1.asm mod1.var
assemble mod1.tok //фхырхЄ mod1.bin, mod1.dec

//яЁш шчьхэхэшш asm1.asm
tokenize asm1.asm
assemble asm1.tok //фхырхЄ asm1.bin, asm1.dec

//яЁш шчьхэхэшш ы■сюую Їрщыр
compile mod1.h main.c //ЄюЄ цх їхфхЁ, ўЄю т√°х
tokenize main.asm main.var
assemble main.tok mod1.dec mod1.bin asm1.dec asm1.bin //фхырхЄ main.bin



ёхщўрё ёЁртэхэш  < <= > >= фхыр■Єё  т UINT, р эрфю т LONG (яюър эх яюффхЁцрэю т ъюьяшы ЄюЁх)




эрфю Єръющ яюЁ фюъ яхЁхьхээ√ї, уфх эх яюэрфюс Єё  post labels?
Є.х. эєцэ√ яЁхфюяшёрэш  яЁюЎхфєЁ, эю ъръ шї ъюьяшышЄ№? фрцх фцрья тяхЁ╕ф эх яюыєўшЄё 
р ўЄю фхырЄ№ ё if, while, уфх Єюцх фцрья тяхЁ╕ф? ъюьяшышЄ№ Єхыю, яюЄюь ярЄўшЄ№? (Єръ фхырхЄ Turbo Pascal) ¤Єю эх т√тюф т яюёыхфютрЄхы№э√щ Їрщы!
¤Єю фюяєёЄшью фы  hex-Їрщыр? Єюы№ъю ё яЁюяєёъюь срщЄ, ўЄюс√ эх яшёрЄ№ 2 Ёрчр т юфэю ьхёЄю?
шыш ухэхЁшЁютрЄ№ яЁюЎхфєЁє Ўхышъюь т ьрёёшт, яюЄюь ёъшф√трЄ№ т яюЄюъ?
шыш ухэхЁшЁютрЄ№ ярЄўш т яюёыхфютрЄхы№э√щ Їрщы obj


ъръ фхырЄ№ dup-edup?
р) сєЇхЁшчшЁютрЄ№ ЄхъёЄ Єхыр (ъръ ьръЁюё)
с) яЁюуюэ Є№ Їрщы эхёъюы№ъю Ёрч юЄ ёхЁхфшэ√ (Єръ эхы№ч  ёЄЁшьшЄ№)
т) сєЇхЁшчшЁютрЄ№ т√їюфэющ сшэрЁэшъ (Єръ эхы№ч  яхЁхяЁшётрштрЄ№ ьхЄъш тэєЄЁш dup ш фхырЄ№ Ёрчэюх эряюыэхэшх яЁюїюфют)



ъръ фхырЄ№ яюёЄьхЄъш?
р) чряюьшэрЄ№ тё■ ёЄЁюъє ё т√Ёрцхэшхь (Є.х. тёх ёЄЁюъш эрфю ёўшЄ√трЄ№ Ўхышъюь тэх чртшёшьюёЄш юЄ т√Ёрцхэш )
с) фтр яЁюїюфр - эр яхЁтюь ёьюЄЁшь фышэ√ ъюьрэф ш ухэхЁшь юс√ўэ√х (эх яюёЄ) ьхЄъш, эр тЄюЁюь ухэхЁшь юёЄрт°шхё  ьхЄъш ш яш°хь ъюф
т) ЁрчЁх°шЄ№ тяхЁ╕ф юсЁр∙рЄ№ё  Єюы№ъю ъ ьхЄъх (схч т√Ёрцхэш )
Є.х. хёыш ьхЄър эх юяЁхфхыхэр, Єю яЁютхЁ хь, ўЄю ¤Єю ъюэхЎ т√Ёрцхэш , шэрўх ю°шсър
р ъръ яюыєўшЄ№ рфЁхё, ъєфр яшёрЄ№? эр ьюьхэЄ ЁрчсюЁр т√Ёрцхэш  юэ эхшчтхёЄхэ! фюсртшЄ№ юяхЁрЎшш чряшёш т ёхЁхфшэє ъюьрэф√?
у) яЁш эхюяЁхфхы╕ээющ ьхЄъх ёюїЁрэшЄ№ т яюёЄ тё╕ ёюёЄю эшх ъры№ъєы ЄюЁр ш юёЄрЄюъ т√Ёрцхэш 
р ъръ яюыєўшЄ№ рфЁхё, ъєфр яшёрЄ№? эр ьюьхэЄ ЁрчсюЁр т√Ёрцхэш  юэ эхшчтхёЄхэ! фюсртшЄ№ юяхЁрЎшш чряшёш т ёхЁхфшэє ъюьрэф√?

с√тр■Є юфэюсрщЄэ√х ш фтєїсрщЄэ√х яюёЄ√
фтєїсрщЄэ√х ьюуєЄ с√Є№ Єюы№ъю curaddr (Єюы№ъю фы  dw) ш curaddr+1
(curaddr+2 Єюы№ъю фы  ix,iy - эю ъръ яюёЄ єчэрхЄ, ўЄю Єрър  ъюьрэфр? яю ЁхушёЄЁрь эх єчэрхЄ!)
юфэюсрщЄэ√х с√тр■Є:
- db (curaddr)
- jr (curaddr+1)
- ёьх∙хэш  фы  ix,iy (curaddr+2)
- ўшёыр (юс√ўэю curaddr+1, эю фы  h/lx/y curaddr+2, фы  ld (ix/y+d),N curaddr+3 - ъръ яюёЄ єчэрхЄ Єшя ъюьрэф√? яю ЁхушёЄЁрь эх єчэрхЄ!)
шыш ьюцэю ёюїЁрэшЄ№ тё╕ ёюёЄю эшх рёёхьсыхЁр ш ёЄЁюъє фю ъюэЎр, р яюёЄ√ ъюьяшышЁютрЄ№ Єръ цх, ъръ юс√ўэ√щ ЄюъхэшчшЁютрээ√щ ЄхъёЄ

эю фы  Єюую, ўЄюс√ яЁюяєёЄшЄ№ ъюьрэфє т яхЁтюь яЁюїюфх, эрфю х╕ тё■ шэЄхЁяЁхЄшЁютрЄ№
(ъръ ьшэшьєь яЁюўшЄрЄ№ ЁхушёЄЁ√ ш юуЁрэшчютрЄ№ яЁютхЁъє ЇюЁьрЄр ё єў╕Єюь ЁхушёЄЁют)
Єюуфр ьюцэю юуЁрэшчютрЄ№ яЁюяєёъ т asmbyte, asmword шЄя
р) ёъюяшЁютрЄ№ ъюф тёхї ЇюЁьрЄют ш ЁхушёЄЁют
с) яюёЄртшЄ№ ыютє°ъє т readfin()? сєфхЄ чрьхфыхэшх! Єрь яЁхфяюырурыё  Єюы№ъю ёшёЄхьэ√щ ьръЁюё!
т) схч яюёЄют. фтр яЁюїюфр, эр яхЁтюь ъюьрэфр эх яш°хЄё 
у) схч яюёЄют. схёъюэхўэюх ўшёыю яхЁт√ї яЁюїюфют (уфх ъюьрэфр эх яш°хЄё ) - яюър эх юяЁхфхыхэ√ тёх ьхЄъш. эр тЄюЁюь яЁюїюфх ьхЄъш эх юяЁхфхы Є№
ф) схч яюёЄют. фтр яЁюїюфр, эр яхЁтюь ъюьрэфр Єюцх яш°хЄё  - Є.х. юфшэръют√х яЁюїюф√ ё юс∙хщ ЄрсышЎхщ ьхЄюъ, эю эрфю яю-Ёрчэюьє юсЁрсрЄ√трЄ№ display ш ю°шсъє яхЁхюяЁхфхыхэш  ьхЄъш
Єръ ьюцэю схёъюэхўэюх ўшёыю яЁюїюфют - яюър эх юяЁхфхыхэ√ тёх ьхЄъш шыш эх яхЁхёЄрыю шчьхэ Є№ё  ўшёыю эхюяЁхфхы╕ээ√ї ьхЄюъ.
Єръ эхы№ч  ухэхЁшЄ№ т hex, Є.ъ. яютЄюЁ√ чряшёш т юфэю ш Єю цх ьхёЄю.
Ёх°рхЄё  ышсю ьюфхы№■ ярь Єш, ышсю шуэюЁшЁютрэшхь сшэрЁэшър, яюыєўхээюую эр яЁхф√фє∙хь яЁюїюфх.
р уфх ухэхЁшЁютрЄ№ ю°шсъш "ьхЄър эх юяЁхфхыхэр"? эрфю т ъюэЎх юЄфхы№э√щ юсїюф ЄрсышЎ√ ьхЄюъ фы  ¤Єюую. эю т ьхЄъх эх їЁрэшЄё  эюьхЁ ёЄЁюъш!
х) шёїюфэшъ т ярь Єш, тёхуфр ьюцэю тхЁэєЄ№ё  эр эрўрыю ёЄЁюъш.
╕) яЁхфтрЁшЄхы№эюх ўЄхэшх ёЄЁюъш т ярь Є№. ┴єфхЄ чрьхфыхэшх.
ц) юЄьрЄ√трЄ№ єърчрЄхы№ Їрщыр (ъръ ¤Єю сєфхЄ т юёш? ярщя Єръ эхы№ч ).
ч) фюсртшЄ№ юяхЁрЎшш чряшёш т ёхЁхфшэє ъюьрэф√. яЁш ¤Єюь ld hx,expr эрфю яшёрЄ№ ъюф ld hx ─╬ ┬█╫╚╤╦┼═╚▀ (юэ юяЁхфхы хЄ ёьх∙хэшх фрээ√ї, р ЁхушёЄЁ hx ьюцхЄ с√Є№ ёрь шч ьхЄъш). т ЄюъхэшчрЄюЁх яЁшф╕Єё  ўшЄрЄ№ ёЄЁюъє Ўхышъюь?