?login_element?

Subversion Repositories NedoOS

Rev

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

  1. //// imported
  2. #include "../_sdk/io.h"
  3. #include "../_sdk/str.h"
  4. ////
  5. EXPORT VAR BOOL _cmts;
  6. EXPORT VAR UINT _curlnbeg; //эюьхЁ ёЄЁюъш эр ьюьхэЄ эрўрыр Єюъхэр
  7.  
  8. EXPORT VAR PBYTE _ferr;
  9.  
  10. EXPORT VAR PBYTE _fvar;
  11.  
  12. EXPORT VAR BOOL _hints;
  13. EXPORT VAR BOOL _errs;
  14.  
  15. VAR PBYTE _curfile;
  16.  
  17. PROC endhint FORWARD();
  18.  
  19. EXPORT VAR CHAR _m_fn[_STRLEN];
  20. EXPORT VAR PCHAR _fn;
  21. EXPORT VAR UINT _lenfn;
  22.  
  23. EXPORT VAR BOOL _wasdig;
  24. EXPORT VAR CHAR _nbuf[6];
  25. EXPORT VAR UINT _lennbuf;
  26. VAR UINT _num;
  27.  
  28. EXPORT PROC emitdig(UINT d)
  29. {
  30. VAR BYTE dig;
  31.   dig = (BYTE)'0';
  32.   WHILE (_num >= d) {
  33.     _num = _num - d;
  34.     INC dig;
  35.     _wasdig = +TRUE;
  36.   };
  37.   IF (_wasdig) {
  38.     //_lennbuf = stradd(_nbuf, _lennbuf, (CHAR)dig);
  39.     _nbuf[_lennbuf] = (CHAR)dig;
  40.     INC _lennbuf;
  41.   };
  42. }
  43.  
  44. EXPORT PROC emitn(UINT i)
  45. {
  46.   _num = i;
  47.   _lennbuf = 0;
  48.   _wasdig = +TRUE;
  49.   IF (i != 0) {
  50.     _wasdig = +FALSE;
  51.     emitdig(10000);
  52.     emitdig(1000);
  53.     emitdig(100);
  54.     emitdig(10);
  55.   };
  56.   emitdig(1);
  57.   _nbuf[_lennbuf] = '\0'; //strclose(_nbuf, _lennbuf);
  58. }
  59.  
  60. EXPORT PROC emituint(UINT i, PBYTE f)
  61. {
  62.   emitn(i);
  63.   fputs(_nbuf, f);
  64. }
  65.  
  66. /////////////////////////////////////
  67. //яЁюЎхфєЁ√ эшчъюую єЁютэ , т√ч√трхь√х ъюфюухэхЁрЄюЁюь
  68.  
  69. EXPORT PROC asmc(CHAR c)
  70. {
  71.   writefout((BYTE)c);
  72. }
  73.  
  74. EXPORT PROC asmstr(PCHAR s)
  75. {
  76.   fputs(s, _fout);
  77. }
  78.  
  79. EXPORT PROC asmuint(UINT i)
  80. {
  81.   emituint(i, _fout);
  82. }
  83.  
  84. EXPORT PROC endasm()
  85. {
  86.   writefout((BYTE)'\n');
  87. }
  88.  
  89. /////////////////////////////////////
  90. //яЁюЎхфєЁ√ эшчъюую єЁютэ , т√ч√трхь√х ъюьяшы ЄюЁюь ш ъюфюухэхЁрЄюЁюь
  91.  
  92. #ifdef USE_COMMENTS
  93. ;;EXPORT PROC cmt(CHAR c) {
  94. ;;  IF (_cmts) writefout((BYTE)c);
  95. ;;}
  96.  
  97. ;;EXPORT PROC cmtstr(PCHAR s) {
  98. ;;  IF (_cmts) fputs(s, _fout);
  99. ;;}
  100.  
  101. ;;EXPORT PROC cmtuint(UINT i) {
  102. ;;  IF (_cmts) emituint(i, _fout);
  103. ;;}
  104.  
  105. ;;EXPORT PROC endcmt() {
  106. ;;  IF (_cmts) {
  107. ;;    fputs(" ;Line=", _fout);
  108. ;;    emituint(_curlnbeg, _fout);
  109. ;;    writefout(+(BYTE)'\n');
  110. ;;  };
  111. ;;}
  112. #endif //USE_COMMENTS
  113.  
  114. #ifdef USE_HINTS
  115. ;;EXPORT PROC hint(CHAR c) {
  116. ;;  IF (_hints) writefout((BYTE)c);
  117. ;;}
  118.  
  119. ;;EXPORT PROC hintstr(PCHAR s) {
  120. ;;  IF (_hints) fputs(s, _fout);
  121. ;;}
  122.  
  123. ;;EXPORT PROC hintuint(UINT i) {
  124. ;;  IF (_hints) emituint(i, _fout);
  125. ;;}
  126.  
  127. ;;EXPORT PROC endhint() {
  128. ;;  IF (_hints) {
  129. ;;    fputs(" ;Line=", _fout);
  130. ;;    emituint(_curlnbeg, _fout);
  131. ;;    writefout(+(BYTE)'\n');
  132. ;;  };
  133. ;;}
  134.  
  135. ;;EXPORT PROC hinttype(PCHAR msg, BYTE t) {
  136. ;;  hintstr("//"); hintstr(msg); hintstr(" type="); hintuint((UINT)t); endhint();
  137. ;;}
  138. #endif //USE_HINTS
  139.  
  140. EXPORT PROC err(CHAR c)
  141. {
  142.   IF (_errs) writebyte(_ferr, (BYTE)c);
  143. }
  144.  
  145. EXPORT PROC errstr(PCHAR s)
  146. {
  147.   IF (_errs) fputs(s, _ferr);
  148. }
  149.  
  150. EXPORT PROC erruint(UINT i)
  151. {
  152.   IF (_errs) emituint(i, _ferr);
  153. }
  154.  
  155. EXPORT PROC enderr()
  156. {
  157.   IF (_errs) {
  158.     writebyte(_ferr, (BYTE)';'); fputs(_fn, _ferr);
  159.     fputs(" line=", _ferr); emituint(_curlnbeg, _ferr);
  160.     writebyte(_ferr, (BYTE)'\n');
  161.   };
  162. }
  163.  
  164. EXPORT PROC varc(CHAR c)
  165. {
  166.   writebyte(_fvar, (BYTE)c);
  167. }
  168.  
  169. EXPORT PROC varstr(PCHAR s)
  170. {
  171.   fputs(s, _fvar);
  172. }
  173.  
  174. EXPORT PROC varuint(UINT i)
  175. {
  176.   emituint(i, _fvar);
  177. }
  178.  
  179. EXPORT PROC endvar()
  180. {
  181.   writebyte(_fvar, (BYTE)'\n');
  182. }
  183.  
  184.