?login_element?

Subversion Repositories NedoOS

Rev

Rev 49 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. //я√Єрхьё  Ёх°шЄ№ юфэютЁхьхээю ёыхфє■∙шх чрфрўш:
  2. //- тёх Єюъхэ√ (ъЁюьх text) схч ярЁрьхЄЁют, фы  яЁюёЄющ яхўрЄш
  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. //(эр Ёшёърї ьюцэю ш т ЄхъёЄх ЁрсюЄрЄ№ (эю Єюуфр эх єэштхЁёры№эю))
  22. //яю¤Єюьє яєёЄ№ comma фтшурхЄ ЁхушёЄЁ√ reg->oldreg->veryoldreg
  23. //- яю тючьюцэюёЄш эх ЁрчфєтрЄ№ ўшёыю Єюъхэют т ёЄЁюъх (ёъюЁюёЄ№ ш ЁрчьхЁ ЄхъёЄр)
  24.  
  25. //тёх ъюьрэф√, ЁхушёЄЁ√, єёыютш  ьюуєЄ с√Є№ Єюы№ъю ьрыхэ№ъшьш сєътрьш, шэрўх эрфю тЄюЁющ эрсюЁ Єюъхэют (ъЁюьх ЇюЁьрЄют ш юсЁ√тют)
  26.  
  27. //Єшяшўэр  ёЄЁюър:
  28. //<label><text>ьхЄър<endtext>
  29. //<inc><HL><asmfmt_incrp>
  30. //<comment><text>ЄхъёЄ<endtext>
  31. //<eol>
  32.  
  33. //ASMCMD...TOK...FMT фы  эюЁьры№э√ї ъюьрэф
  34. //TOK_ERR,TOK_TEXT фы  эхяЁртшы№эющ ьэхьюэшъш (шыш яЁшфєьрЄ№ CMD_ERR, ўЄюс√ с√ыю CMD...FMT?)
  35. //ASMCMD...TOK_ERR,TOK_TEXT...FMT_ERR фы  эхяЁртшы№э√ї ярЁрьхЄЁют (ўЄюс√ Єюцх с√ыю CMD...FMT эр тё ъшщ ёыєўрщ)
  36.  
  37. CONST BYTE _ASMMAXSPC = 0x08;
  38.  
  39. //#define TOKBASE 0x40
  40. //#define ASMCCBASE    0x01 /*max 0x07*/
  41. //#define TOKBASE 0x10 /*max 0x0b*/
  42. //#define ASMOPBASE    0x1c /*max 0x02*/
  43. //#define ASMREGBASE   0x66 /*max 0x15*/ /*эх чрЄхЁхЄ№ []^*/
  44. //#define DIRBASE   0x60 /*max 0x1c*/ /*эх чрЄхЁхЄ№ |~*/
  45. //#define OPBASE 0x7f /*max 0x10*/
  46. //#define ASMCMDBASE   0x90 /*max 0x41*/
  47. //#define FMTBASE   0xd2 /*max 0x2a*/
  48.  
  49. #ifdef TARGET_THUMB
  50. #include "../_sdk/fmtarm.h"
  51. #else
  52. #include "../_sdk/fmtz80.h"
  53. #endif
  54.  
  55. /**ю°шсър <TOK_ERR><TOK_ERR...>, яюёых эх╕ сыюъш <text>text<endtext><space><text>text<endtext>... <enderr> - ўЄюс√ т√тюфшЄ№ ю°шсъш ЄюъхэшчрЄюЁр тьхёЄх ё ю°шсърьш ъюьяшы Ўшш*/
  56. CONST BYTE _ERRCMD = 0x31;
  57. //#define _ERRCMD   '1' /*(TOKBASE+0x02)*/
  58. CONST BYTE _ERREXPR = 0x32;
  59. //#define _ERREXPR  '2' /*(TOKBASE+0x03)*/
  60. CONST BYTE _ERRCOMMA = 0x33;
  61. //#define _ERRCOMMA '3' /*(TOKBASE+0x04)*/
  62. CONST BYTE _ERRPAR = 0x34;
  63. //#define _ERRPAR   '4' /*(TOKBASE+0x05)*/
  64. CONST BYTE _ERROPEN = 0x35;
  65. //#define _ERROPEN  '5' /*(TOKBASE+0x06)*/
  66. CONST BYTE _ERRCLOSE = 0x36;
  67. //#define _ERRCLOSE '6' /*(TOKBASE+0x07)*/
  68. CONST BYTE _ERRREG = 0x37;
  69. //#define _ERRREG   '7' /*(TOKBASE+0x08)*/
  70.  
  71.