Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     61:                 void LVLch (void){
  2.     62:          
  3.     63:  
  4.     64:          
  5.     65:                         unsigned int    odczyt = 0;
  6. C:0x0800    E4       CLR      A
  7.     66:                         unsigned char kon               = 0x00;
  8. C:0x0801    F51E     MOV      0x1E,A
  9.     67:                         int i = 0;
  10.     68:          
  11. C:0x0803    F51F     MOV      0x1F,A
  12. C:0x0805    F520     MOV      0x20,A
  13.     69:                         kon          =    0;
  14. C:0x0807    F51E     MOV      0x1E,A
  15.     70:                         LEDY    = 0x80;
  16.     71:                  
  17. C:0x0809    908008   MOV      DPTR,#LEDY(0x8008)
  18. C:0x080C    7480     MOV      A,#P0(0x80)
  19. C:0x080E    F0       MOVX     @DPTR,A
  20.     72:                         while (kon      !=    0x20)
  21. C:0x080F    E51E     MOV      A,0x1E
  22. C:0x0811    6420     XRL      A,#0x20
  23. C:0x0813    7003     JNZ      C:0818
  24. C:0x0815    020917   LJMP     C:0917
  25.     73:                 {
  26.     74:                                 Pot0    =   0;
  27. C:0x0818    E4       CLR      A
  28. C:0x0819    908005   MOV      DPTR,#Pot0(0x8005)
  29. C:0x081C    F0       MOVX     @DPTR,A
  30.     75:                                 i                     =      0;
  31.     76:                  
  32. C:0x081D    F51F     MOV      0x1F,A
  33. C:0x081F    F520     MOV      0x20,A
  34.     77:                                 delay(150);
  35.     78:          
  36. C:0x0821    7F96     MOV      R7,#0x96
  37. C:0x0823    FE       MOV      R6,A
  38. C:0x0824    120CF1   LCALL    delay(C:0CF1)
  39.     79:                                 odczyt  = PTAC;
  40.     80:          
  41. C:0x0827    908000   MOV      DPTR,#PTAC(0x8000)
  42. C:0x082A    E0       MOVX     A,@DPTR
  43. C:0x082B    FF       MOV      R7,A
  44. C:0x082C    7E00     MOV      R6,#0x00
  45.     81:                         if((odczyt < 0x20)&&(odczyt > 0x00)){
  46. C:0x082E    C3       CLR      C
  47. C:0x082F    9420     SUBB     A,#0x20
  48. C:0x0831    EE       MOV      A,R6
  49. C:0x0832    9400     SUBB     A,#0x00
  50. C:0x0834    5014     JNC      C:084A
  51. C:0x0836    EF       MOV      A,R7
  52. C:0x0837    9400     SUBB     A,#0x00
  53. C:0x0839    EE       MOV      A,R6
  54. C:0x083A    9400     SUBB     A,#0x00
  55. C:0x083C    400C     JC       C:084A
  56.     82:                                 LEDY = 0x80;
  57. C:0x083E    908008   MOV      DPTR,#LEDY(0x8008)
  58. C:0x0841    7480     MOV      A,#P0(0x80)
  59. C:0x0843    F0       MOVX     @DPTR,A
  60.     83:                                 LVL = 1;
  61. C:0x0844    751A00   MOV      LVL(0x1A),#0x00
  62. C:0x0847    751B01   MOV      0x1B,#0x01
  63.     84:                                 }
  64.     85:                  
  65.     86:                         if((odczyt < 0x40)&&(odczyt > 0x20)){
  66. C:0x084A    C3       CLR      C
  67. C:0x084B    EF       MOV      A,R7
  68. C:0x084C    9440     SUBB     A,#0x40
  69. C:0x084E    EE       MOV      A,R6
  70. C:0x084F    9400     SUBB     A,#0x00
  71. C:0x0851    5014     JNC      C:0867
  72. C:0x0853    EF       MOV      A,R7
  73. C:0x0854    9420     SUBB     A,#0x20
  74. C:0x0856    EE       MOV      A,R6
  75. C:0x0857    9400     SUBB     A,#0x00
  76. C:0x0859    400C     JC       C:0867
  77.     87:                                 LEDY = 0xC0;
  78. C:0x085B    908008   MOV      DPTR,#LEDY(0x8008)
  79. C:0x085E    74C0     MOV      A,#0xC0
  80. C:0x0860    F0       MOVX     @DPTR,A
  81.     88:                                 LVL = 2;
  82. C:0x0861    751A00   MOV      LVL(0x1A),#0x00
  83. C:0x0864    751B02   MOV      0x1B,#0x02
  84.     89:                                 }
  85.     90:                  
  86.     91:                         if((odczyt < 0x60)&&(odczyt > 0x40)){
  87. C:0x0867    C3       CLR      C
  88. C:0x0868    EF       MOV      A,R7
  89. C:0x0869    9460     SUBB     A,#0x60
  90. C:0x086B    EE       MOV      A,R6
  91. C:0x086C    9400     SUBB     A,#0x00
  92. C:0x086E    5014     JNC      C:0884
  93. C:0x0870    EF       MOV      A,R7
  94. C:0x0871    9440     SUBB     A,#0x40
  95. C:0x0873    EE       MOV      A,R6
  96. C:0x0874    9400     SUBB     A,#0x00
  97. C:0x0876    400C     JC       C:0884
  98.     92:                                 LEDY = 0xE0;
  99. C:0x0878    908008   MOV      DPTR,#LEDY(0x8008)
  100. C:0x087B    74E0     MOV      A,#ACC(0xE0)
  101. C:0x087D    F0       MOVX     @DPTR,A
  102.     93:                                 LVL = 3;
  103. C:0x087E    751A00   MOV      LVL(0x1A),#0x00
  104. C:0x0881    751B03   MOV      0x1B,#0x03
  105.     94:                         }
  106.     95:                  
  107.     96:                         if((odczyt < 0x80)&&(odczyt > 0x60)){
  108. C:0x0884    C3       CLR      C
  109. C:0x0885    EF       MOV      A,R7
  110. C:0x0886    9480     SUBB     A,#P0(0x80)
  111. C:0x0888    EE       MOV      A,R6
  112. C:0x0889    9400     SUBB     A,#0x00
  113. C:0x088B    5014     JNC      C:08A1
  114. C:0x088D    EF       MOV      A,R7
  115. C:0x088E    9460     SUBB     A,#0x60
  116. C:0x0890    EE       MOV      A,R6
  117. C:0x0891    9400     SUBB     A,#0x00
  118. C:0x0893    400C     JC       C:08A1
  119.     97:                                 LEDY = 0xF0;
  120. C:0x0895    908008   MOV      DPTR,#LEDY(0x8008)
  121. C:0x0898    74F0     MOV      A,#B(0xF0)
  122. C:0x089A    F0       MOVX     @DPTR,A
  123.     98:                                 LVL = 4;
  124. C:0x089B    751A00   MOV      LVL(0x1A),#0x00
  125. C:0x089E    751B04   MOV      0x1B,#0x04
  126.     99:                         }
  127.    100:                  
  128.    101:                         if((odczyt < 0xA0)&&(odczyt > 0x80)){
  129. C:0x08A1    C3       CLR      C
  130. C:0x08A2    EF       MOV      A,R7
  131. C:0x08A3    94A0     SUBB     A,#P2(0xA0)
  132. C:0x08A5    EE       MOV      A,R6
  133. C:0x08A6    9400     SUBB     A,#0x00
  134. C:0x08A8    5014     JNC      C:08BE
  135. C:0x08AA    EF       MOV      A,R7
  136. C:0x08AB    9480     SUBB     A,#P0(0x80)
  137. C:0x08AD    EE       MOV      A,R6
  138. C:0x08AE    9400     SUBB     A,#0x00
  139. C:0x08B0    400C     JC       C:08BE
  140.    102:                                 LEDY = 0xF8;
  141. C:0x08B2    908008   MOV      DPTR,#LEDY(0x8008)
  142. C:0x08B5    74F8     MOV      A,#0xF8
  143. C:0x08B7    F0       MOVX     @DPTR,A
  144.    103:                                 LVL = 5;
  145. C:0x08B8    751A00   MOV      LVL(0x1A),#0x00
  146. C:0x08BB    751B05   MOV      0x1B,#0x05
  147.    104:                         }
  148.    105:                  
  149.    106:                         if((odczyt < 0xC0)&&(odczyt > 0xA0)){
  150. C:0x08BE    C3       CLR      C
  151. C:0x08BF    EF       MOV      A,R7
  152. C:0x08C0    94C0     SUBB     A,#0xC0
  153. C:0x08C2    EE       MOV      A,R6
  154. C:0x08C3    9400     SUBB     A,#0x00
  155. C:0x08C5    5014     JNC      C:08DB
  156. C:0x08C7    EF       MOV      A,R7
  157. C:0x08C8    94A0     SUBB     A,#P2(0xA0)
  158. C:0x08CA    EE       MOV      A,R6
  159. C:0x08CB    9400     SUBB     A,#0x00
  160. C:0x08CD    400C     JC       C:08DB
  161.    107:                                 LEDY = 0xFC;
  162. C:0x08CF    908008   MOV      DPTR,#LEDY(0x8008)
  163. C:0x08D2    74FC     MOV      A,#0xFC
  164. C:0x08D4    F0       MOVX     @DPTR,A
  165.    108:                                 LVL = 6;
  166. C:0x08D5    751A00   MOV      LVL(0x1A),#0x00
  167. C:0x08D8    751B06   MOV      0x1B,#0x06
  168.    109:                         }
  169.    110:                  
  170.    111:                         if((odczyt < 0xE0)&&(odczyt > 0xC0)){
  171. C:0x08DB    C3       CLR      C
  172. C:0x08DC    EF       MOV      A,R7
  173. C:0x08DD    94E0     SUBB     A,#ACC(0xE0)
  174. C:0x08DF    EE       MOV      A,R6
  175. C:0x08E0    9400     SUBB     A,#0x00
  176. C:0x08E2    5014     JNC      C:08F8
  177. C:0x08E4    EF       MOV      A,R7
  178. C:0x08E5    94C0     SUBB     A,#0xC0
  179. C:0x08E7    EE       MOV      A,R6
  180. C:0x08E8    9400     SUBB     A,#0x00
  181. C:0x08EA    400C     JC       C:08F8
  182.    112:                                 LEDY = 0xFE;
  183. C:0x08EC    908008   MOV      DPTR,#LEDY(0x8008)
  184. C:0x08EF    74FE     MOV      A,#0xFE
  185. C:0x08F1    F0       MOVX     @DPTR,A
  186.    113:                                 LVL = 7;
  187. C:0x08F2    751A00   MOV      LVL(0x1A),#0x00
  188. C:0x08F5    751B07   MOV      0x1B,#0x07
  189.    114:                         }
  190.    115:                  
  191.    116:                         if(odczyt > 0xE0){
  192. C:0x08F8    D3       SETB     C
  193. C:0x08F9    EF       MOV      A,R7
  194. C:0x08FA    94E0     SUBB     A,#ACC(0xE0)
  195. C:0x08FC    EE       MOV      A,R6
  196. C:0x08FD    9400     SUBB     A,#0x00
  197. C:0x08FF    400C     JC       C:090D
  198.    117:                                 LEDY = 0xFF;
  199. C:0x0901    908008   MOV      DPTR,#LEDY(0x8008)
  200. C:0x0904    74FF     MOV      A,#0xFF
  201. C:0x0906    F0       MOVX     @DPTR,A
  202.    118:                                 LVL = 8;
  203. C:0x0907    751A00   MOV      LVL(0x1A),#0x00
  204. C:0x090A    751B08   MOV      0x1B,#dobre(0x08)
  205.    119:                         }
  206.    120:                  
  207.    121:                         kon = ~LEDY;
  208. C:0x090D    908008   MOV      DPTR,#LEDY(0x8008)
  209. C:0x0910    E0       MOVX     A,@DPTR
  210. C:0x0911    F4       CPL      A
  211. C:0x0912    F51E     MOV      0x1E,A
  212.    122:         }
  213.    123:         //KONIEC FUNCKI LVL
  214.    124:          
  215. C:0x0914    02080F   LJMP     C:080F
  216.    125:                         LEDY    =   0;
  217. C:0x0917    E4       CLR      A
  218. C:0x0918    908008   MOV      DPTR,#LEDY(0x8008)
  219. C:0x091B    F0       MOVX     @DPTR,A
  220.    126: }
  221.    127:  
  222.    128: //LOSOWANIE
  223.    129:                 unsigned int LOSUJ (int min, int max){
  224.    130:          
  225.    131:                 int losowa = 0;
  226.    132:                 int zarodek = time/10;
  227.    133:                 srand(zarodek);
  228.    134:                 losowa =  rand()%max+min;
  229.    135:          
  230.    136:          
  231.    137:                 return losowa;
  232.    138: }
  233.    139:                  
  234.    140: //CZAS
  235.    141:         void delay (unsigned int ms)
  236.    142: {
  237.    143:                 k = 0;
  238.    144:                 while(k<ms)
  239.    145:                 {}
  240.    146: }
  241.    147:  
  242.    148:  
  243.    149: //ZAPAL LEDY
  244. C:0x091C    22       RET      
  245.    150:         void zapalledy (void)
  246.    151: {
  247.    152:                 unsigned char key = 0;
  248. C:0x091D    E4       CLR      A
  249. C:0x091E    F51E     MOV      0x1E,A
  250.    153:                 unsigned int proba = 0;
  251. C:0x0920    F51F     MOV      0x1F,A
  252. C:0x0922    F520     MOV      0x20,A
  253.    154:                 delay(1000);
  254.    155:          
  255.    156:         //Rozpoczyna 10 prób refleksu
  256. C:0x0924    7FE8     MOV      R7,#0xE8
  257. C:0x0926    7E03     MOV      R6,#0x03
  258. C:0x0928    120CF1   LCALL    delay(C:0CF1)
  259.    157:                 while(proba < 10)
  260. C:0x092B    C3       CLR      C
  261. C:0x092C    E520     MOV      A,0x20
  262. C:0x092E    940A     SUBB     A,#czasy(0x0A)
  263. C:0x0930    E51F     MOV      A,0x1F
  264. C:0x0932    9400     SUBB     A,#0x00
  265. C:0x0934    4003     JC       C:0939
  266. C:0x0936    0209FA   LJMP     C:09FA
  267.    158:         {
  268.    159:                         delay(LOSUJ(2000-(LVL*185),7000-(LVL*475)));
  269.    160:                  
  270. C:0x0939    AE1A     MOV      R6,LVL(0x1A)
  271. C:0x093B    AF1B     MOV      R7,0x1B
  272. C:0x093D    7C00     MOV      R4,#0x00
  273. C:0x093F    7DB9     MOV      R5,#0xB9
  274. C:0x0941    120A9A   LCALL    C?IMUL(C:0A9A)
  275. C:0x0944    C3       CLR      C
  276. C:0x0945    74D0     MOV      A,#PSW(0xD0)
  277. C:0x0947    9F       SUBB     A,R7
  278. C:0x0948    FB       MOV      R3,A
  279. C:0x0949    7407     MOV      A,#0x07
  280. C:0x094B    9E       SUBB     A,R6
  281. C:0x094C    FA       MOV      R2,A
  282. C:0x094D    AE1A     MOV      R6,LVL(0x1A)
  283. C:0x094F    AF1B     MOV      R7,0x1B
  284. C:0x0951    0C       INC      R4
  285. C:0x0952    7DDB     MOV      R5,#0xDB
  286. C:0x0954    120A9A   LCALL    C?IMUL(C:0A9A)
  287. C:0x0957    C3       CLR      C
  288. C:0x0958    7458     MOV      A,#0x58
  289. C:0x095A    9F       SUBB     A,R7
  290. C:0x095B    FD       MOV      R5,A
  291. C:0x095C    741B     MOV      A,#0x1B
  292. C:0x095E    9E       SUBB     A,R6
  293. C:0x095F    FC       MOV      R4,A
  294. C:0x0960    AF03     MOV      R7,0x03
  295. C:0x0962    AE02     MOV      R6,0x02
  296. C:0x0964    120C97   LCALL    LOSUJ(C:0C97)
  297. C:0x0967    120CF1   LCALL    delay(C:0CF1)
  298.    161:                         switch(LOSUJ(0,4)){
  299.    162:                          
  300. C:0x096A    7D04     MOV      R5,#0x04
  301. C:0x096C    7C00     MOV      R4,#0x00
  302. C:0x096E    E4       CLR      A
  303. C:0x096F    FF       MOV      R7,A
  304. C:0x0970    FE       MOV      R6,A
  305. C:0x0971    120C97   LCALL    LOSUJ(C:0C97)
  306. C:0x0974    EE       MOV      A,R6
  307. C:0x0975    702C     JNZ      C:09A3
  308. C:0x0977    EF       MOV      A,R7
  309. C:0x0978    14       DEC      A
  310. C:0x0979    6012     JZ       C:098D
  311. C:0x097B    14       DEC      A
  312. C:0x097C    6017     JZ       C:0995
  313. C:0x097E    14       DEC      A
  314. C:0x097F    601C     JZ       C:099D
  315. C:0x0981    2403     ADD      A,#0x03
  316. C:0x0983    701E     JNZ      C:09A3
  317.    163:                                 case 0:
  318.    164:                                         LEDY = 0x01;
  319. C:0x0985    908008   MOV      DPTR,#LEDY(0x8008)
  320. C:0x0988    7401     MOV      A,#0x01
  321. C:0x098A    F0       MOVX     @DPTR,A
  322.    165:                                 break;
  323.    166:                  
  324. C:0x098B    8016     SJMP     C:09A3
  325.    167:                                 case 1:
  326.    168:                                         LEDY = 0x02;
  327. C:0x098D    908008   MOV      DPTR,#LEDY(0x8008)
  328. C:0x0990    7402     MOV      A,#0x02
  329. C:0x0992    F0       MOVX     @DPTR,A
  330.    169:                                 break;
  331.    170:                          
  332. C:0x0993    800E     SJMP     C:09A3
  333.    171:                                 case 2:
  334.    172:                                         LEDY = 0x04;
  335. C:0x0995    908008   MOV      DPTR,#LEDY(0x8008)
  336. C:0x0998    7404     MOV      A,#0x04
  337. C:0x099A    F0       MOVX     @DPTR,A
  338.    173:                                 break;
  339.    174:                  
  340. C:0x099B    8006     SJMP     C:09A3
  341.    175:                                 case 3:
  342.    176:                                         LEDY = 0x08;
  343. C:0x099D    908008   MOV      DPTR,#LEDY(0x8008)
  344. C:0x09A0    7408     MOV      A,#dobre(0x08)
  345. C:0x09A2    F0       MOVX     @DPTR,A
  346.    177:                                 break;
  347.    178:                         }
  348.    179:                  
  349.    180:                 //Rozpoczyna zliczanie czasu od zapalenia LED
  350.    181:                         k=0;
  351. C:0x09A3    E4       CLR      A
  352. C:0x09A4    F518     MOV      k(0x18),A
  353. C:0x09A6    F519     MOV      0x19,A
  354.    182:                         while(key == 0)
  355. C:0x09A8    E51E     MOV      A,0x1E
  356. C:0x09AA    7009     JNZ      C:09B5
  357.    183:                         {
  358.    184:                                 key = ~LEDY;
  359. C:0x09AC    908008   MOV      DPTR,#LEDY(0x8008)
  360. C:0x09AF    E0       MOVX     A,@DPTR
  361. C:0x09B0    F4       CPL      A
  362. C:0x09B1    F51E     MOV      0x1E,A
  363.    185:                         }
  364.    186:                          
  365.    187:                  
  366. C:0x09B3    80F3     SJMP     C:09A8
  367.    188:                         if(key != ~LEDY){       //udana proba
  368. C:0x09B5    908008   MOV      DPTR,#LEDY(0x8008)
  369. C:0x09B8    E0       MOVX     A,@DPTR
  370. C:0x09B9    F4       CPL      A
  371. C:0x09BA    FF       MOV      R7,A
  372. C:0x09BB    651E     XRL      A,0x1E
  373. C:0x09BD    600F     JZ       C:09CE
  374.    189:                                 czasy[proba]=k;
  375. C:0x09BF    740A     MOV      A,#czasy(0x0A)
  376. C:0x09C1    2520     ADD      A,0x20
  377. C:0x09C3    F8       MOV      R0,A
  378. C:0x09C4    A619     MOV      @R0,0x19
  379.    190:                                 dobre++;
  380. C:0x09C6    0509     INC      0x09
  381. C:0x09C8    E509     MOV      A,0x09
  382. C:0x09CA    7002     JNZ      C:09CE
  383. C:0x09CC    0508     INC      dobre(0x08)
  384.    191:                         }
  385.    192:                         if(key == ~LEDY){ //nie udana
  386. C:0x09CE    EF       MOV      A,R7
  387. C:0x09CF    B51E08   CJNE     A,0x1E,C:09DA
  388.    193:                                 zle++;
  389. C:0x09D2    0517     INC      0x17
  390. C:0x09D4    E517     MOV      A,0x17
  391. C:0x09D6    7002     JNZ      C:09DA
  392. C:0x09D8    0516     INC      zle(0x16)
  393.    194:                         }
  394.    195:                          
  395.    196:                         while(key != 0)
  396. C:0x09DA    E51E     MOV      A,0x1E
  397. C:0x09DC    6009     JZ       C:09E7
  398.    197:                         {
  399.    198:                                 key = ~LEDY;
  400. C:0x09DE    908008   MOV      DPTR,#LEDY(0x8008)
  401. C:0x09E1    E0       MOVX     A,@DPTR
  402. C:0x09E2    F4       CPL      A
  403. C:0x09E3    F51E     MOV      0x1E,A
  404.    199:                         }
  405. C:0x09E5    80F3     SJMP     C:09DA
  406.    200:                         LEDY = 0;
  407. C:0x09E7    E4       CLR      A
  408. C:0x09E8    908008   MOV      DPTR,#LEDY(0x8008)
  409. C:0x09EB    F0       MOVX     @DPTR,A
  410.    201:                         proba++;
  411.    202:                          
  412.    203:                  
  413. C:0x09EC    0520     INC      0x20
  414. C:0x09EE    E520     MOV      A,0x20
  415. C:0x09F0    6003     JZ       C:09F5
  416. C:0x09F2    02092B   LJMP     C:092B
  417. C:0x09F5    051F     INC      0x1F
  418.    204:         }
  419. C:0x09F7    02092B   LJMP     C:092B
  420.    205: }
  421.    206:  
  422.    207: //Sortowanie
  423.    208:         void sortowanie (void)
  424.    209:         {
  425.    210:                 int i = 0;
  426.    211:                 int j = 0;
  427.    212:                 int x = 0;
  428.    213:                  
  429.    214:                 for(i=0; i<10;i++)
  430.    215:                 {
  431.    216:                         for(j=1; j<9;j++)
  432.    217:                         {
  433.    218:                                 if(czasy[j-1]>czasy[j])
  434.    219:                                         x                                          =      czasy[j-1];
  435.    220:                                         czasy[j-1]      =     czasy[j];
  436.    221:                                         czasy[j]                =       x;
  437.    222:                         }
  438.    223:                 }
  439.    224:                  
  440.    225:         }
  441.    226:  
  442.    227:  
  443.    228: //ZEGAR
  444. C:0x09FA    22       RET      
  445.    229: void przerwanie (void) interrupt 1  
  446.    230: {
  447. C:0x09FB    C0E0     PUSH     ACC(0xE0)
  448. C:0x09FD    C0F0     PUSH     B(0xF0)
  449. C:0x09FF    C083     PUSH     DPH(0x83)
  450. C:0x0A01    C082     PUSH     DPL(0x82)
  451. C:0x0A03    C0D0     PUSH     PSW(0xD0)
  452. C:0x0A05    75D000   MOV      PSW(0xD0),#0x00
  453. C:0x0A08    C000     PUSH     0x00
  454. C:0x0A0A    C004     PUSH     0x04
  455. C:0x0A0C    C005     PUSH     0x05
  456. C:0x0A0E    C006     PUSH     0x06
  457. C:0x0A10    C007     PUSH     0x07
  458.    231:                 TH0 = (-1000 >> 8) & 0x00FF;    //Zapisanie w dwuch rejesterach osmio bitowych
  459. C:0x0A12    758CFC   MOV      TH0(0x8C),#0xFC
  460.    232:                 TL0 = -1000 & 0x00FF;               //wartosci 16 bitiwej. Licznik sygnalizuje przerwaine po 5 ms
  461. C:0x0A15    758A18   MOV      TL0(0x8A),#k(0x18)
  462.    233:                 k++;
  463. C:0x0A18    0519     INC      0x19
  464. C:0x0A1A    E519     MOV      A,0x19
  465. C:0x0A1C    7002     JNZ      C:0A20
  466. C:0x0A1E    0518     INC      k(0x18)
  467.    234:                 time++;
  468.    235:          
  469. C:0x0A20    0515     INC      0x15
  470. C:0x0A22    E515     MOV      A,0x15
  471. C:0x0A24    7002     JNZ      C:0A28
  472. C:0x0A26    0514     INC      time(0x14)
  473.    236:                 if(k>10000){
  474. C:0x0A28    D3       SETB     C
  475. C:0x0A29    E519     MOV      A,0x19
  476. C:0x0A2B    9410     SUBB     A,#0x10
  477. C:0x0A2D    E518     MOV      A,k(0x18)
  478. C:0x0A2F    9427     SUBB     A,#0x27
  479. C:0x0A31    4017     JC       C:0A4A
  480.    237:                         k       =      0;
  481. C:0x0A33    751800   MOV      k(0x18),#0x00
  482. C:0x0A36    751900   MOV      0x19,#0x00
  483.    238:                 if(time > 2500){
  484. C:0x0A39    D3       SETB     C
  485. C:0x0A3A    E515     MOV      A,0x15
  486. C:0x0A3C    94C4     SUBB     A,#0xC4
  487. C:0x0A3E    E514     MOV      A,time(0x14)
  488. C:0x0A40    9409     SUBB     A,#0x09
  489. C:0x0A42    4006     JC       C:0A4A
  490.    239:                         time = 0;
  491. C:0x0A44    751400   MOV      time(0x14),#0x00
  492. C:0x0A47    751500   MOV      0x15,#0x00
  493.    240:                 }
  494.    241:                 }
  495.    242:                 if(time%5 == 0){
  496. C:0x0A4A    AE14     MOV      R6,time(0x14)
  497. C:0x0A4C    AF15     MOV      R7,0x15
  498. C:0x0A4E    7C00     MOV      R4,#0x00
  499. C:0x0A50    7D05     MOV      R5,#0x05
  500. C:0x0A52    120AAC   LCALL    C?UIDIV(C:0AAC)
  501. C:0x0A55    ED       MOV      A,R5
  502. C:0x0A56    4C       ORL      A,R4
  503. C:0x0A57    702C     JNZ      C:0A85
  504.    243:                         P1_1 = ~P1_1;
  505.    244:                          
  506. C:0x0A59    B291     CPL      P1_1(0x90.1)
  507.    245:                         if(P1_1 == 0){
  508. C:0x0A5B    209112   JB       P1_1(0x90.1),C:0A70
  509.    246:                                 SEGMENT = WYSWIETL[dobre];
  510. C:0x0A5E    74E1     MOV      A,#0xE1
  511. C:0x0A60    2509     ADD      A,0x09
  512. C:0x0A62    F582     MOV      DPL(0x82),A
  513. C:0x0A64    740C     MOV      A,#0x0C
  514. C:0x0A66    3508     ADDC     A,dobre(0x08)
  515. C:0x0A68    F583     MOV      DPH(0x83),A
  516. C:0x0A6A    E4       CLR      A
  517. C:0x0A6B    93       MOVC     A,@A+DPTR
  518. C:0x0A6C    908018   MOV      DPTR,#SEGMENT(0x8018)
  519. C:0x0A6F    F0       MOVX     @DPTR,A
  520.    247:                         }
  521.    248:                         if(P1_1 == 1){
  522. C:0x0A70    309112   JNB      P1_1(0x90.1),C:0A85
  523.    249:                                 SEGMENT = WYSWIETL[zle];
  524. C:0x0A73    74E1     MOV      A,#0xE1
  525. C:0x0A75    2517     ADD      A,0x17
  526. C:0x0A77    F582     MOV      DPL(0x82),A
  527. C:0x0A79    740C     MOV      A,#0x0C
  528. C:0x0A7B    3516     ADDC     A,zle(0x16)
  529. C:0x0A7D    F583     MOV      DPH(0x83),A
  530. C:0x0A7F    E4       CLR      A
  531. C:0x0A80    93       MOVC     A,@A+DPTR
  532. C:0x0A81    908018   MOV      DPTR,#SEGMENT(0x8018)
  533. C:0x0A84    F0       MOVX     @DPTR,A
  534.    250:                         }
  535. C:0x0A85    D007     POP      0x07
  536. C:0x0A87    D006     POP      0x06
  537. C:0x0A89    D005     POP      0x05
  538. C:0x0A8B    D004     POP      0x04
  539. C:0x0A8D    D000     POP      0x00
  540. C:0x0A8F    D0D0     POP      PSW(0xD0)
  541. C:0x0A91    D082     POP      DPL(0x82)
  542. C:0x0A93    D083     POP      DPH(0x83)
  543. C:0x0A95    D0F0     POP      B(0xF0)
  544. C:0x0A97    D0E0     POP      ACC(0xE0)
  545. C:0x0A99    32       RETI    
  546.                  C?IMUL:
  547. C:0x0A9A    EF       MOV      A,R7
  548. C:0x0A9B    8DF0     MOV      B(0xF0),R5
  549. C:0x0A9D    A4       MUL      AB
  550. C:0x0A9E    A8F0     MOV      R0,B(0xF0)
  551. C:0x0AA0    CF       XCH      A,R7
  552. C:0x0AA1    8CF0     MOV      B(0xF0),R4
  553. C:0x0AA3    A4       MUL      AB
  554. C:0x0AA4    28       ADD      A,R0
  555. C:0x0AA5    CE       XCH      A,R6
  556. C:0x0AA6    8DF0     MOV      B(0xF0),R5
  557. C:0x0AA8    A4       MUL      AB
  558. C:0x0AA9    2E       ADD      A,R6
  559. C:0x0AAA    FE       MOV      R6,A
  560. C:0x0AAB    22       RET      
  561.                  C?UIDIV:
  562. C:0x0AAC    BC000B   CJNE     R4,#0x00,C:0ABA
  563. C:0x0AAF    BE0029   CJNE     R6,#0x00,C:0ADB
  564. C:0x0AB2    EF       MOV      A,R7
  565. C:0x0AB3    8DF0     MOV      B(0xF0),R5
  566. C:0x0AB5    84       DIV      AB
  567. C:0x0AB6    FF       MOV      R7,A
  568. C:0x0AB7    ADF0     MOV      R5,B(0xF0)
  569. C:0x0AB9    22       RET      
  570. C:0x0ABA    E4       CLR      A
  571. C:0x0ABB    CC       XCH      A,R4
  572. C:0x0ABC    F8       MOV      R0,A
  573. C:0x0ABD    75F008   MOV      B(0xF0),#dobre(0x08)
  574. C:0x0AC0    EF       MOV      A,R7
  575. C:0x0AC1    2F       ADD      A,R7
  576. C:0x0AC2    FF       MOV      R7,A
  577. C:0x0AC3    EE       MOV      A,R6
  578. C:0x0AC4    33       RLC      A
  579. C:0x0AC5    FE       MOV      R6,A
  580. C:0x0AC6    EC       MOV      A,R4
  581. C:0x0AC7    33       RLC      A
  582. C:0x0AC8    FC       MOV      R4,A
  583. C:0x0AC9    EE       MOV      A,R6
  584. C:0x0ACA    9D       SUBB     A,R5
  585. C:0x0ACB    EC       MOV      A,R4
  586. C:0x0ACC    98       SUBB     A,R0
  587. C:0x0ACD    4005     JC       C:0AD4
  588. C:0x0ACF    FC       MOV      R4,A
  589. C:0x0AD0    EE       MOV      A,R6
  590. C:0x0AD1    9D       SUBB     A,R5
  591. C:0x0AD2    FE       MOV      R6,A
  592. C:0x0AD3    0F       INC      R7
  593. C:0x0AD4    D5F0E9   DJNZ     B(0xF0),C:0AC0
  594. C:0x0AD7    E4       CLR      A
  595. C:0x0AD8    CE       XCH      A,R6
  596. C:0x0AD9    FD       MOV      R5,A
  597. C:0x0ADA    22       RET      
  598. C:0x0ADB    ED       MOV      A,R5
  599. C:0x0ADC    F8       MOV      R0,A
  600. C:0x0ADD    F5F0     MOV      B(0xF0),A
  601. C:0x0ADF    EE       MOV      A,R6
  602. C:0x0AE0    84       DIV      AB
  603. C:0x0AE1    20D21C   JB       OV(0xD0.2),C:0B00
  604. C:0x0AE4    FE       MOV      R6,A
  605. C:0x0AE5    ADF0     MOV      R5,B(0xF0)
  606. C:0x0AE7    75F008   MOV      B(0xF0),#dobre(0x08)
  607. C:0x0AEA    EF       MOV      A,R7
  608. C:0x0AEB    2F       ADD      A,R7
  609. C:0x0AEC    FF       MOV      R7,A
  610. C:0x0AED    ED       MOV      A,R5
  611. C:0x0AEE    33       RLC      A
  612. C:0x0AEF    FD       MOV      R5,A
  613. C:0x0AF0    4007     JC       C:0AF9
  614. C:0x0AF2    98       SUBB     A,R0
  615. C:0x0AF3    5006     JNC      C:0AFB
  616. C:0x0AF5    D5F0F2   DJNZ     B(0xF0),C:0AEA
  617. C:0x0AF8    22       RET      
  618. C:0x0AF9    C3       CLR      C
  619. C:0x0AFA    98       SUBB     A,R0
  620. C:0x0AFB    FD       MOV      R5,A
  621. C:0x0AFC    0F       INC      R7
  622. C:0x0AFD    D5F0EA   DJNZ     B(0xF0),C:0AEA
  623. C:0x0B00    22       RET      
  624.                  C?SIDIV:
  625. C:0x0B01    C2D5     CLR      F0(0xD0.5)
  626. C:0x0B03    EC       MOV      A,R4
  627. C:0x0B04    30E709   JNB      0xE0.7,C:0B10
  628. C:0x0B07    B2D5     CPL      F0(0xD0.5)
  629. C:0x0B09    E4       CLR      A
  630. C:0x0B0A    C3       CLR      C
  631. C:0x0B0B    9D       SUBB     A,R5
  632. C:0x0B0C    FD       MOV      R5,A
  633. C:0x0B0D    E4       CLR      A
  634. C:0x0B0E    9C       SUBB     A,R4
  635. C:0x0B0F    FC       MOV      R4,A
  636. C:0x0B10    EE       MOV      A,R6
  637. C:0x0B11    30E715   JNB      0xE0.7,C:0B29
  638. C:0x0B14    B2D5     CPL      F0(0xD0.5)
  639. C:0x0B16    E4       CLR      A
  640. C:0x0B17    C3       CLR      C
  641. C:0x0B18    9F       SUBB     A,R7
  642. C:0x0B19    FF       MOV      R7,A
  643. C:0x0B1A    E4       CLR      A
  644. C:0x0B1B    9E       SUBB     A,R6
  645. C:0x0B1C    FE       MOV      R6,A
  646. C:0x0B1D    120AAC   LCALL    C?UIDIV(C:0AAC)
  647. C:0x0B20    C3       CLR      C
  648. C:0x0B21    E4       CLR      A
  649. C:0x0B22    9D       SUBB     A,R5
  650. C:0x0B23    FD       MOV      R5,A
  651. C:0x0B24    E4       CLR      A
  652. C:0x0B25    9C       SUBB     A,R4
  653. C:0x0B26    FC       MOV      R4,A
  654. C:0x0B27    8003     SJMP     C:0B2C
  655. C:0x0B29    120AAC   LCALL    C?UIDIV(C:0AAC)
  656. C:0x0B2C    30D507   JNB      F0(0xD0.5),C:0B36
  657. C:0x0B2F    C3       CLR      C
  658. C:0x0B30    E4       CLR      A
  659. C:0x0B31    9F       SUBB     A,R7
  660. C:0x0B32    FF       MOV      R7,A
  661. C:0x0B33    E4       CLR      A
  662. C:0x0B34    9E       SUBB     A,R6
  663. C:0x0B35    FE       MOV      R6,A
  664. C:0x0B36    22       RET      
  665. C:0x0B37    787F     MOV      R0,#0x7F
  666. C:0x0B39    E4       CLR      A
  667. C:0x0B3A    F6       MOV      @R0,A
  668. C:0x0B3B    D8FD     DJNZ     R0,C:0B3A
  669. C:0x0B3D    758128   MOV      SP(0x81),#0x28
  670. C:0x0B40    020B7E   LJMP     C:0B7E
  671. C:0x0B43    020C56   LJMP     main(C:0C56)
  672. C:0x0B46    E4       CLR      A
  673. C:0x0B47    93       MOVC     A,@A+DPTR
  674. C:0x0B48    A3       INC      DPTR
  675. C:0x0B49    F8       MOV      R0,A
  676. C:0x0B4A    E4       CLR      A
  677. C:0x0B4B    93       MOVC     A,@A+DPTR
  678. C:0x0B4C    A3       INC      DPTR
  679. C:0x0B4D    4003     JC       C:0B52
  680. C:0x0B4F    F6       MOV      @R0,A
  681. C:0x0B50    8001     SJMP     C:0B53
  682. C:0x0B52    F2       MOVX     @R0,A
  683. C:0x0B53    08       INC      R0
  684. C:0x0B54    DFF4     DJNZ     R7,C:0B4A
  685. C:0x0B56    8029     SJMP     C:0B81
  686. C:0x0B58    E4       CLR      A
  687. C:0x0B59    93       MOVC     A,@A+DPTR
  688. C:0x0B5A    A3       INC      DPTR
  689. C:0x0B5B    F8       MOV      R0,A
  690. C:0x0B5C    5407     ANL      A,#0x07
  691. C:0x0B5E    240C     ADD      A,#0x0C
  692. C:0x0B60    C8       XCH      A,R0
  693. C:0x0B61    C3       CLR      C
  694. C:0x0B62    33       RLC      A
  695. C:0x0B63    C4       SWAP     A
  696. C:0x0B64    540F     ANL      A,#0x0F
  697. C:0x0B66    4420     ORL      A,#0x20
  698. C:0x0B68    C8       XCH      A,R0
  699. C:0x0B69    83       MOVC     A,@A+PC
  700. C:0x0B6A    4004     JC       C:0B70
  701. C:0x0B6C    F4       CPL      A
  702. C:0x0B6D    56       ANL      A,@R0
  703. C:0x0B6E    8001     SJMP     C:0B71
  704. C:0x0B70    46       ORL      A,@R0
  705. C:0x0B71    F6       MOV      @R0,A
  706. C:0x0B72    DFE4     DJNZ     R7,C:0B58
  707. C:0x0B74    800B     SJMP     C:0B81
  708. C:0x0B76    0102     AJMP     C:0802
  709. C:0x0B78    04       INC      A
  710. C:0x0B79    08       INC      R0
  711. C:0x0B7A    102040   JBC      0x24.0,C:0BBD
  712. C:0x0B7D    8090     SJMP     C:0B0F
  713. C:0x0B7F    0C       INC      R4
  714. C:0x0B80    C0E4     PUSH     0xE4
  715. C:0x0B82    7E01     MOV      R6,#0x01
  716. C:0x0B84    93       MOVC     A,@A+DPTR
  717. C:0x0B85    60BC     JZ       C:0B43
  718. C:0x0B87    A3       INC      DPTR
  719. C:0x0B88    FF       MOV      R7,A
  720. C:0x0B89    543F     ANL      A,#0x3F
  721. C:0x0B8B    30E509   JNB      0xE0.5,C:0B97
  722. C:0x0B8E    541F     ANL      A,#0x1F
  723. C:0x0B90    FE       MOV      R6,A
  724. C:0x0B91    E4       CLR      A
  725. C:0x0B92    93       MOVC     A,@A+DPTR
  726. C:0x0B93    A3       INC      DPTR
  727. C:0x0B94    6001     JZ       C:0B97
  728. C:0x0B96    0E       INC      R6
  729. C:0x0B97    CF       XCH      A,R7
  730. C:0x0B98    54C0     ANL      A,#0xC0
  731. C:0x0B9A    25E0     ADD      A,ACC(0xE0)
  732. C:0x0B9C    60A8     JZ       C:0B46
  733. C:0x0B9E    40B8     JC       C:0B58
  734. C:0x0BA0    E4       CLR      A
  735. C:0x0BA1    93       MOVC     A,@A+DPTR
  736. C:0x0BA2    A3       INC      DPTR
  737. C:0x0BA3    FA       MOV      R2,A
  738. C:0x0BA4    E4       CLR      A
  739. C:0x0BA5    93       MOVC     A,@A+DPTR
  740. C:0x0BA6    A3       INC      DPTR
  741. C:0x0BA7    F8       MOV      R0,A
  742. C:0x0BA8    E4       CLR      A
  743. C:0x0BA9    93       MOVC     A,@A+DPTR
  744. C:0x0BAA    A3       INC      DPTR
  745. C:0x0BAB    C8       XCH      A,R0
  746. C:0x0BAC    C582     XCH      A,DPL(0x82)
  747. C:0x0BAE    C8       XCH      A,R0
  748. C:0x0BAF    CA       XCH      A,R2
  749. C:0x0BB0    C583     XCH      A,DPH(0x83)
  750. C:0x0BB2    CA       XCH      A,R2
  751. C:0x0BB3    F0       MOVX     @DPTR,A
  752. C:0x0BB4    A3       INC      DPTR
  753. C:0x0BB5    C8       XCH      A,R0
  754. C:0x0BB6    C582     XCH      A,DPL(0x82)
  755. C:0x0BB8    C8       XCH      A,R0
  756. C:0x0BB9    CA       XCH      A,R2
  757. C:0x0BBA    C583     XCH      A,DPH(0x83)
  758. C:0x0BBC    CA       XCH      A,R2
  759. C:0x0BBD    DFE9     DJNZ     R7,C:0BA8
  760. C:0x0BBF    DEE7     DJNZ     R6,C:0BA8
  761. C:0x0BC1    80BE     SJMP     C:0B81
  762.                  RAND:
  763. C:0x0BC3    AC25     MOV      R4,?SRAND?BYTE(0x25)
  764. C:0x0BC5    AD26     MOV      R5,0x26
  765. C:0x0BC7    AE27     MOV      R6,0x27
  766. C:0x0BC9    AF28     MOV      R7,0x28
  767. C:0x0BCB    7810     MOV      R0,#0x10
  768. C:0x0BCD    EC       MOV      A,R4
  769. C:0x0BCE    4D       ORL      A,R5
  770. C:0x0BCF    4E       ORL      A,R6
  771. C:0x0BD0    4F       ORL      A,R7
  772. C:0x0BD1    7004     JNZ      C:0BD7
  773. C:0x0BD3    7CA5     MOV      R4,#0xA5
  774. C:0x0BD5    7DA5     MOV      R5,#0xA5
  775. C:0x0BD7    C3       CLR      C
  776. C:0x0BD8    EC       MOV      A,R4
  777. C:0x0BD9    13       RRC      A
  778. C:0x0BDA    FC       MOV      R4,A
  779. C:0x0BDB    ED       MOV      A,R5
  780. C:0x0BDC    13       RRC      A
  781. C:0x0BDD    FD       MOV      R5,A
  782. C:0x0BDE    EE       MOV      A,R6
  783. C:0x0BDF    13       RRC      A
  784. C:0x0BE0    FE       MOV      R6,A
  785. C:0x0BE1    EF       MOV      A,R7
  786. C:0x0BE2    13       RRC      A
  787. C:0x0BE3    FF       MOV      R7,A
  788. C:0x0BE4    5010     JNC      C:0BF6
  789. C:0x0BE6    EC       MOV      A,R4
  790. C:0x0BE7    64CC     XRL      A,#0xCC
  791. C:0x0BE9    FC       MOV      R4,A
  792. C:0x0BEA    ED       MOV      A,R5
  793. C:0x0BEB    644C     XRL      A,#0x4C
  794. C:0x0BED    FD       MOV      R5,A
  795. C:0x0BEE    EE       MOV      A,R6
  796. C:0x0BEF    644E     XRL      A,#0x4E
  797. C:0x0BF1    FE       MOV      R6,A
  798. C:0x0BF2    EF       MOV      A,R7
  799. C:0x0BF3    64CE     XRL      A,#0xCE
  800. C:0x0BF5    FF       MOV      R7,A
  801. C:0x0BF6    D8DF     DJNZ     R0,C:0BD7
  802. C:0x0BF8    8C25     MOV      ?SRAND?BYTE(0x25),R4
  803. C:0x0BFA    8D26     MOV      0x26,R5
  804. C:0x0BFC    8E27     MOV      0x27,R6
  805. C:0x0BFE    8F28     MOV      0x28,R7
  806. C:0x0C00    EE       MOV      A,R6
  807. C:0x0C01    547F     ANL      A,#0x7F
  808. C:0x0C03    FE       MOV      R6,A
  809. C:0x0C04    22       RET      
  810.                  SRAND:
  811. C:0x0C05    8E25     MOV      ?SRAND?BYTE(0x25),R6
  812. C:0x0C07    8F26     MOV      0x26,R7
  813. C:0x0C09    74A5     MOV      A,#0xA5
  814. C:0x0C0B    F527     MOV      0x27,A
  815. C:0x0C0D    F528     MOV      0x28,A
  816. C:0x0C0F    22       RET      
  817.    208:         void sortowanie (void)
  818.    209:         {
  819.    210:                 int i = 0;
  820. C:0x0C10    E4       CLR      A
  821. C:0x0C11    FB       MOV      R3,A
  822. C:0x0C12    FA       MOV      R2,A
  823.    211:                 int j = 0;
  824.    212:                 int x = 0;
  825.    213:                  
  826. C:0x0C13    F582     MOV      DPL(0x82),A
  827. C:0x0C15    F583     MOV      DPH(0x83),A
  828.    214:                 for(i=0; i<10;i++)
  829.    215:                 {
  830.    216:                         for(j=1; j<9;j++)
  831. C:0x0C17    7C00     MOV      R4,#0x00
  832. C:0x0C19    7D01     MOV      R5,#0x01
  833.    217:                         {
  834.    218:                                 if(czasy[j-1]>czasy[j])
  835. C:0x0C1B    740A     MOV      A,#czasy(0x0A)
  836. C:0x0C1D    2D       ADD      A,R5
  837. C:0x0C1E    F8       MOV      R0,A
  838. C:0x0C1F    E6       MOV      A,@R0
  839. C:0x0C20    F9       MOV      R1,A
  840. C:0x0C21    7409     MOV      A,#0x09
  841. C:0x0C23    2D       ADD      A,R5
  842. C:0x0C24    F8       MOV      R0,A
  843. C:0x0C25    E6       MOV      A,@R0
  844. C:0x0C26    FE       MOV      R6,A
  845. C:0x0C27    D3       SETB     C
  846. C:0x0C28    99       SUBB     A,R1
  847. C:0x0C29    4006     JC       C:0C31
  848.    219:                                         x                                          =      czasy[j-1];
  849. C:0x0C2B    EE       MOV      A,R6
  850. C:0x0C2C    758300   MOV      DPH(0x83),#0x00
  851. C:0x0C2F    F582     MOV      DPL(0x82),A
  852.    220:                                         czasy[j-1]      =     czasy[j];
  853. C:0x0C31    7409     MOV      A,#0x09
  854. C:0x0C33    2D       ADD      A,R5
  855. C:0x0C34    F8       MOV      R0,A
  856. C:0x0C35    A601     MOV      @R0,0x01
  857.    221:                                         czasy[j]                =       x;
  858. C:0x0C37    AF82     MOV      R7,DPL(0x82)
  859. C:0x0C39    740A     MOV      A,#czasy(0x0A)
  860. C:0x0C3B    2D       ADD      A,R5
  861. C:0x0C3C    F8       MOV      R0,A
  862. C:0x0C3D    A607     MOV      @R0,0x07
  863.    222:                         }
  864. C:0x0C3F    0D       INC      R5
  865. C:0x0C40    BD0001   CJNE     R5,#0x00,C:0C44
  866. C:0x0C43    0C       INC      R4
  867. C:0x0C44    ED       MOV      A,R5
  868. C:0x0C45    6409     XRL      A,#0x09
  869. C:0x0C47    4C       ORL      A,R4
  870. C:0x0C48    70D1     JNZ      C:0C1B
  871.    223:                 }
  872.    224:                  
  873. C:0x0C4A    0B       INC      R3
  874. C:0x0C4B    BB0001   CJNE     R3,#0x00,C:0C4F
  875. C:0x0C4E    0A       INC      R2
  876. C:0x0C4F    EB       MOV      A,R3
  877. C:0x0C50    640A     XRL      A,#czasy(0x0A)
  878. C:0x0C52    4A       ORL      A,R2
  879. C:0x0C53    70C2     JNZ      C:0C17
  880.    225:         }
  881. C:0x0C55    22       RET      
  882.     29:         void main (void)
  883.     30:         {
  884.     31:                 unsigned int cykl = 0;
  885.     32:          
  886. C:0x0C56    E4       CLR      A
  887. C:0x0C57    F51C     MOV      0x1C,A
  888. C:0x0C59    F51D     MOV      0x1D,A
  889.     33:                 TMOD = 0x01;    //Ustawienia
  890. C:0x0C5B    758901   MOV      TMOD(0x89),#0x01
  891.     34:                 TCON = 0x10;    //licznika
  892. C:0x0C5E    758810   MOV      TCON(0x88),#0x10
  893.     35:                 IE = 0x82;           //EA i ET0, flagi dla przerwan
  894. C:0x0C61    75A882   MOV      IE(0xA8),#DPL(0x82)
  895.     36:                 TH0 = (-1000 >> 8) & 0x00FF;    //Zapisanie w dwuch rejesterach osmio bitowych
  896. C:0x0C64    758CFC   MOV      TH0(0x8C),#0xFC
  897.     37:                 TL0 = -1000 & 0x00FF;               //wartosci 16 bitiwej. Licznik sygnalizuje przerwaine po 1 ms
  898.     38:          
  899.     39:                  
  900.     40:          
  901. C:0x0C67    758A18   MOV      TL0(0x8A),#k(0x18)
  902.     41:                 while(1)
  903.     42:                 {
  904.     43:                         LVLch();
  905. C:0x0C6A    120800   LCALL    LVLch(C:0800)
  906.     44:                         dobre = 0;
  907. C:0x0C6D    E4       CLR      A
  908. C:0x0C6E    F508     MOV      dobre(0x08),A
  909. C:0x0C70    F509     MOV      0x09,A
  910.     45:                         zle = 0;
  911. C:0x0C72    F516     MOV      zle(0x16),A
  912. C:0x0C74    F517     MOV      0x17,A
  913.     46:                         SEGMENT = WYSWIETL[LVL];
  914. C:0x0C76    74E1     MOV      A,#0xE1
  915. C:0x0C78    251B     ADD      A,0x1B
  916. C:0x0C7A    F582     MOV      DPL(0x82),A
  917. C:0x0C7C    740C     MOV      A,#0x0C
  918. C:0x0C7E    351A     ADDC     A,LVL(0x1A)
  919. C:0x0C80    F583     MOV      DPH(0x83),A
  920. C:0x0C82    E4       CLR      A
  921. C:0x0C83    93       MOVC     A,@A+DPTR
  922. C:0x0C84    908018   MOV      DPTR,#SEGMENT(0x8018)
  923. C:0x0C87    F0       MOVX     @DPTR,A
  924.     47:                         zapalledy();
  925. C:0x0C88    12091D   LCALL    zapalledy(C:091D)
  926.     48:                         sortowanie();
  927. C:0x0C8B    120C10   LCALL    sortowanie(C:0C10)
  928.     49:                         delay(4000);
  929.     50:  
  930.     51:          
  931.     52:                  
  932.     53:          
  933.     54:  
  934. C:0x0C8E    7FA0     MOV      R7,#P2(0xA0)
  935. C:0x0C90    7E0F     MOV      R6,#0x0F
  936. C:0x0C92    120CF1   LCALL    delay(C:0CF1)
  937.     55:                 }
  938. C:0x0C95    80D3     SJMP     C:0C6A
  939.    129:                 unsigned int LOSUJ (int min, int max){
  940.    130:          
  941. C:0x0C97    8E21     MOV      0x21,R6
  942. C:0x0C99    8F22     MOV      0x22,R7
  943. C:0x0C9B    8C23     MOV      0x23,R4
  944. C:0x0C9D    8D24     MOV      0x24,R5
  945.    131:                 int losowa = 0;
  946. C:0x0C9F    E4       CLR      A
  947.    132:                 int zarodek = time/10;
  948. C:0x0CA0    AE14     MOV      R6,time(0x14)
  949. C:0x0CA2    AF15     MOV      R7,0x15
  950. C:0x0CA4    FC       MOV      R4,A
  951. C:0x0CA5    7D0A     MOV      R5,#czasy(0x0A)
  952. C:0x0CA7    120AAC   LCALL    C?UIDIV(C:0AAC)
  953.    133:                 srand(zarodek);
  954. C:0x0CAA    120C05   LCALL    SRAND(C:0C05)
  955.    134:                 losowa =  rand()%max+min;
  956.    135:          
  957.    136:          
  958. C:0x0CAD    120BC3   LCALL    RAND(C:0BC3)
  959. C:0x0CB0    AC23     MOV      R4,0x23
  960. C:0x0CB2    AD24     MOV      R5,0x24
  961. C:0x0CB4    120B01   LCALL    C?SIDIV(C:0B01)
  962. C:0x0CB7    E522     MOV      A,0x22
  963. C:0x0CB9    2D       ADD      A,R5
  964. C:0x0CBA    FF       MOV      R7,A
  965. C:0x0CBB    E521     MOV      A,0x21
  966. C:0x0CBD    3C       ADDC     A,R4
  967. C:0x0CBE    FE       MOV      R6,A
  968.    137:                 return losowa;
  969.    138: }
  970.    139:                  
  971.    140: //CZAS
  972. C:0x0CBF    22       RET      
  973. C:0x0CC0    021A00   LJMP     C:1A00
  974. C:0x0CC3    00       NOP      
  975. C:0x0CC4    021800   LJMP     C:1800
  976. C:0x0CC7    00       NOP      
  977. C:0x0CC8    021400   LJMP     C:1400
  978. C:0x0CCB    00       NOP      
  979. C:0x0CCC    020800   LJMP     LVLch(C:0800)
  980. C:0x0CCF    00       NOP      
  981. C:0x0CD0    021600   LJMP     C:1600
  982. C:0x0CD3    00       NOP      
  983. C:0x0CD4    0A       INC      R2
  984. C:0x0CD5    0A       INC      R2
  985. C:0x0CD6    00       NOP      
  986. C:0x0CD7    00       NOP      
  987. C:0x0CD8    00       NOP      
  988. C:0x0CD9    00       NOP      
  989. C:0x0CDA    00       NOP      
  990. C:0x0CDB    00       NOP      
  991. C:0x0CDC    00       NOP      
  992. C:0x0CDD    00       NOP      
  993. C:0x0CDE    00       NOP      
  994. C:0x0CDF    00       NOP      
  995. C:0x0CE0    00       NOP      
  996. C:0x0CE1    3F       ADDC     A,R7
  997. C:0x0CE2    06       INC      @R0
  998. C:0x0CE3    5B       ANL      A,R3
  999. C:0x0CE4    4F       ORL      A,R7
  1000. C:0x0CE5    66       XRL      A,@R0
  1001. C:0x0CE6    6D       XRL      A,R5
  1002. C:0x0CE7    7D07     MOV      R5,#0x07
  1003. C:0x0CE9    7F6F     MOV      R7,#0x6F
  1004. C:0x0CEB    777C     MOV      @R1,#0x7C
  1005. C:0x0CED    39       ADDC     A,R1
  1006. C:0x0CEE    5E       ANL      A,R6
  1007. C:0x0CEF    7971     MOV      R1,#0x71
  1008.    141:         void delay (unsigned int ms)
  1009.    142: {
  1010.    143:                 k = 0;
  1011. C:0x0CF1    E4       CLR      A
  1012. C:0x0CF2    F518     MOV      k(0x18),A
  1013. C:0x0CF4    F519     MOV      0x19,A
  1014.    144:                 while(k<ms)
  1015. C:0x0CF6    C3       CLR      C
  1016. C:0x0CF7    E519     MOV      A,0x19
  1017. C:0x0CF9    9F       SUBB     A,R7
  1018. C:0x0CFA    E518     MOV      A,k(0x18)
  1019. C:0x0CFC    9E       SUBB     A,R6
  1020. C:0x0CFD    40F7     JC       C:0CF6
  1021.    145:                 {}
  1022. C:0x0CFF    22       RET      
  1023.     15: GETKEY:     MOV     DPTR,#0x8008
  1024. C:0x0D00    908008   MOV      DPTR,#LEDY(0x8008)
  1025.     16:             MOVX    A,@DPTR
  1026. C:0x0D03    E0       MOVX     A,@DPTR
  1027.     17:             CPL     A
  1028. C:0x0D04    F4       CPL      A
  1029.     18:             ANL     A,#0x3F
  1030. C:0x0D05    543F     ANL      A,#0x3F
  1031.     19:             MOV     R7,A
  1032.     20:  
  1033. C:0x0D07    FF       MOV      R7,A
  1034.     21:             RET
  1035. C:0x0D08    22       RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement