Subversion Repositories NedoOS

Rev

Rev 2325 | Blame | Compare with Previous | Last modification | View Log | Download

  1. //я√Єрхьё  Ёх°шЄ№ юфэютЁхьхээю ёыхфє■∙шх чрфрўш:
  2. //- тёх Єюъхэ√ (ъЁюьх text, expr, label) схч ярЁрьхЄЁют, фы  яЁюёЄющ яхўрЄш
  3. //- с√ёЄЁр  ъюьяшы Ўш  ўрёЄ√ї ъюьрэф
  4. //- ЁрчсюЁ тЁєўэє■ - ¤Єю яыюїю, Є.ъ. т√Ёрцхэшх - эрсюЁ Єюъхэют, фр ш тьхёЄю ЁхушёЄЁр ьюцхЄ с√Є№ ьхЄър ЁхушёЄЁр (шыш ярЁрьхЄЁ ьръЁюёр?)
  5. //чэрўшЄ, эрфю т ёхЁхфшэх ш ъюэЎх ъюьрэф√ ёЄртшЄ№ Єюъхэ√-яюфёърчъш ш ЇюЁьрЄ
  6. //(хёыш ЄюъхэшчшЁютрЄ№ ъюьрэфє яюёых яЁюїюцфхэш  тёхї єёыютшщ, Єю ъръ Єюуфр ёЄЁшьшЄ№ т√Ёрцхэшх?)
  7. //эр тёх фшЁхъЄшт√ ъюьяшы ЄюЁр ьюцэю юфшэ ЇюЁьрЄ (ърцфр  фшЁхъЄштр чряюьшэрхЄ ётющ ъюф)
  8. //- яю шфхх т ърцфющ уЁєяях эрфю ьръёшьєь 2 ЇюЁьрЄр ъюьрэф√ (ўЄюс√ эр Єюъхэх ъюьрэф√ чруЁєчшЄ№ 2 ЁхушёЄЁр срчрьш, р яюЄюь яЁшьхэшЄ№ юфшэ шч эшї),
  9. //эю фы  єэшъры№э√ї ЇюЁьрЄют ьюцэю їЁрэшЄ№ юяъюф т чръЁ√тр■∙хь Єюъхэх-ЇюЁьрЄх
  10. //- яЁютхЁър ю°шсюъ яюфёЄрэютъш ЁхушёЄЁют т ЄюъхэшчрЄюЁх (т ъюьяшы ЄюЁх Єюы№ъю ю°шсъш disp?)
  11. //- фы  єфюсёЄтр ьръЁюёют ш яюфьхэ√ ЁхушёЄЁют эрфю b/c/d/e/h/l/a/hx/lx/hy/ly тчршьючрьхэ хь√х. ═ю эхЄ ъюьрэф Єшяр ld lx,h, ld lx,ly, ld lx,(hl), ld lx,(ix+).
  12. //═рфю ёфхырЄ№ яЁютхЁъє т ъюэЎх ъюьрэф√, чрюфэю Єрь ЇюЁьшЁютрЄ№ яЁхЇшъё (шэрўх яюыєўшЄё  фтр яЁхЇшъёр т ld hx,lx).
  13. //- bc/de/hl/sp/ix/iy (т Єюь ўшёых т ёъюсърї) чрьхэ хь√ тхчфх, ъЁюьх ld a,(bc/de/hl/ix/iy) (Єрь хёЄ№ Ёєўэр  яЁютхЁър), ld (bc/de/hl/ix/iy),a (Єрь хёЄ№ Ёєўэр  яЁютхЁър).
  14. //эхы№ч  яюфьхэ Є№ rp эр af (їюЄ  push af - ЄюЄ цх ЇюЁьрЄ, ўЄю push rp, ъюф af==ъюф sp).
  15. //┼ёЄ№ х∙╕ ьэюую ъюьрэф, уфх rp ЇшъёшЁютрэр, яю¤Єюьє ЄюъхэшчрЄюЁ фюыцхэ т√фртрЄ№ ю°шсъє яЁш яюя√Єъх Єръющ яюфьхэ√.
  16. //ix ьюцхЄ тёЄЁхЄшЄ№ё  т ъюьрэфх фтр Ёрчр: add ix,ix, р add ix,iy фюыцэю т√ч√трЄ№ ю°шсъє (їюЄ  тЄюЁющ ярЁрьхЄЁ яюфьхэ хь√щ!),
  17. //яю¤Єюьє эрфю єцх т ЇюЁьрЄх яЁютхЁ Є№ ix тЁєўэє■ ш яшёрЄ№ яЁхЇшъё.
  18. //- ьшэшьшчрЎш  ўшёыр Єюъхэют (ъюьрэф√ + ЁхушёЄЁ√ + ЇюЁьрЄ√...)
  19. //(юЄфхы№э√щ Єюъхэ фюсртыхэш  ЁхушёЄЁр т ъюьрэфє? эр Ёшёърї ЄЁш яюы  ЁхушёЄЁют, Єръ ўЄю эрфю х∙╕ Єюъхэ(√) ёфтшур)
  20. //(эр Ёшёърї ьюцэю ш т ЄхъёЄх ЁрсюЄрЄ№ (эю Єюуфр эх єэштхЁёры№эю))
  21. //яю¤Єюьє яєёЄ№ comma фтшурхЄ ЁхушёЄЁ√ reg->oldreg->veryoldreg
  22. //- яю тючьюцэюёЄш эх ЁрчфєтрЄ№ ўшёыю Єюъхэют т ёЄЁюъх (ёъюЁюёЄ№ ш ЁрчьхЁ ЄхъёЄр)
  23.  
  24. //тёх ъюьрэф√, ЁхушёЄЁ√, єёыютш  ьюуєЄ с√Є№ Єюы№ъю ьрыхэ№ъшьш сєътрьш, шэрўх эрфю тЄюЁющ эрсюЁ Єюъхэют (ъЁюьх ЇюЁьрЄют ш юсЁ√тют)
  25.  
  26. //<label>ьхЄър
  27. //<inc><HL><asmfmt_incrp>
  28. //<comment><text>ЄхъёЄ<endtext><endcomment>
  29. //<eol>
  30.  
  31. //ASMCMD...TOK...FMT фы  эюЁьры№э√ї ъюьрэф
  32. //TOK_ERR,TOK_TEXT фы  эхяЁртшы№эющ ьэхьюэшъш (шыш яЁшфєьрЄ№ CMD_ERR, ўЄюс√ с√ыю CMD...FMT?)
  33. //ASMCMD...TOK_ERR,TOK_TEXT...FMT_ERR фы  эхяЁртшы№э√ї ярЁрьхЄЁют (ўЄюс√ Єюцх с√ыю CMD...FMT эр тё ъшщ ёыєўрщ)
  34.  
  35. CONST BYTE _ASMMAXSPC = 0x08;
  36.  
  37. #ifdef TARGET_THUMB
  38. #include "../_sdk/fmtarm.h"
  39. #else
  40. #include "../_sdk/fmtz80.h"
  41. #endif
  42.  
  43. /**ю°шсър <TOK_ERR><TOK_ERRxxx>, яюёых эх╕ сыюъш <text>text<endtext><space><text>text<endtext>... <_TOKENDERR> - ўЄюс√ т√тюфшЄ№ ю°шсъш ЄюъхэшчрЄюЁр тьхёЄх ё ю°шсърьш ъюьяшы Ўшш*/
  44. CONST BYTE _ERRCMD = 0x31;
  45. CONST BYTE _ERREXPR = 0x32;
  46. CONST BYTE _ERRCOMMA = 0x33;
  47. CONST BYTE _ERRPAR = 0x34;
  48. CONST BYTE _ERROPEN = 0x35;
  49. CONST BYTE _ERRCLOSE = 0x36;
  50. CONST BYTE _ERRREG = 0x37;
  51.