📄 timer.jam
字号:
IF (V29 != 0) THEN GOTO L260;
A19[9..0] = $03E;
CALL L247;
A19[9..0] = $042;
L260:
POP j;
V30 = V30 + V24;
V31 = V31 + V24;
L261:
NEXT j;
IF (V81) THEN GOTO L262;
A18[9..0] = $396;
CALL L338;
POP i;
DRSCAN V22, A27[(((i + 2) * V22) - 1)..((i + 1) * V22)];
PUSH i;
L262:
POP i;
NEXT i;
GOTO L271;
L263:
IF (V29 == 0) THEN
A19[9..0] = $03A;
IF (V29 == 0) THEN
A19[19..10] = $03A;
IF (V29 == 1) THEN
A19[9..0] = $036;
IF (V29 == 1) THEN
A19[19..10] = $052;
IF (V29 == 2) THEN
A19[9..0] = $036;
IF (V29 == 2) THEN
A19[19..10] = $036;
FOR i = 0 TO (V33 - 1);
V57 = 1;
j = 10 * i;
A20[9..0] = A38[(j + 9)..j];
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L264;
V2 = A12[j];
IF (i >= A7[V2]) THEN
A17[j] = A17[j] | 8;
L264:
NEXT j;
PUSH i;
CALL L247;
IF (V29 != 0) THEN GOTO L265;
A19[9..0] = $036;
V57 = 1;
CALL L247;
A19[9..0] = $03A;
L265:
POP i;
V30 = V30 + V24;
V31 = V31 + V24;
NEXT i;
GOTO L271;
L266:
IF (V29 == 0) THEN
A19[9..0] = $04A;
IF (V29 == 0) THEN
A19[19..10] = $04A;
IF (V29 == 1) THEN
A19[9..0] = $046;
IF (V29 == 1) THEN
A19[19..10] = $05E;
IF (V29 == 2) THEN
A19[9..0] = $046;
IF (V29 == 2) THEN
A19[19..10] = $046;
IF ((V10 & 64512) == 4096) THEN
A20[9..0] = $032;
IF ((V10 & 64512) == 8192) THEN
A20[9..0] = $02E;
IF (V10 != 8192) THEN GOTO L267;
A18[9..0] = $04E;
CALL L338;
L267:
IF (!V45) THEN GOTO L268;
b = 0;
CALL L374;
L268:
CALL L247;
IF (V29 != 0) THEN GOTO L269;
A19[9..0] = $046;
CALL L247;
A19[9..0] = $04A;
L269:
IF (!V45) THEN GOTO L270;
b = 1;
CALL L374;
L270:
V30 = V30 + V24;
V31 = V31 + V24;
L271:
V15 = V30;
IF (!V39 || (V34 == 1)) THEN
GOTO L272;
IF (V74) THEN V42 = 9;
IF (!V74) THEN V42 = 11;
L272:
ENDPROC;
PROCEDURE L284 USES DEVICE_DATA, TEMP_DATA, L338;
V31 = 0;
A18[9..0] = $01E;
CALL L338;
IF ((V11 == 1035) || ((V11 & 64512) == 1024)) THEN GOTO L288;
IF ((V11 == 2069) || ((V11 & 64512) == 2048)) THEN GOTO L291;
IF ((V11 == 4097) || (V11 == 4869) || ((V11 & 64512) == 4096)) THEN GOTO L294;
IF ((V11 == 8192) || (V11 == 8193) || (V11 == 8965) || ((V11 & 64512) == 8192)) THEN GOTO L297;
IF (V11 == 0) THEN GOTO L285;
L285:
i = V11;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L286;
V31 = V31 + 790;
A28[V31 - i] = 1;
L286:
V31 = V31 + 1;
NEXT j;
DRSCAN V31, A28[(V31 - 1)..0];
V31 = 0;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L287;
V31 = V31 + 790;
A28[V31 - i] = 0;
L287:
V31 = V31 + 1;
NEXT j;
GOTO L301;
L288:
i = V11 - 1035;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L289;
V31 = V31 + 790;
A28[V31 - 619 - i] = 1;
A28[V31 - 467 - i] = 1;
A28[V31 - 315 - i] = 1;
A28[V31 - 163 - i] = 1;
A28[V31 - 11 - i] = 1;
L289:
V31 = V31 + 1;
NEXT j;
DRSCAN V31, A28[(V31 - 1)..0];
V31 = 0;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L290;
V31 = V31 + 790;
A28[V31 - 619 - i] = 0;
A28[V31 - 467 - i] = 0;
A28[V31 - 315 - i] = 0;
A28[V31 - 163 - i] = 0;
A28[V31 - 11 - i] = 0;
L290:
V31 = V31 + 1;
NEXT j;
GOTO L301;
L291:
i = V11 - 2069;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L292;
V31 = V31 + 790;
A28[V31 - 765 - i] = 1;
A28[V31 - 629 - i] = 1;
A28[V31 - 613 - i] = 1;
A28[V31 - 477 - i] = 1;
A28[V31 - 461 - i] = 1;
A28[V31 - 325 - i] = 1;
A28[V31 - 309 - i] = 1;
A28[V31 - 173 - i] = 1;
A28[V31 - 157 - i] = 1;
A28[V31 - 21 - i] = 1;
L292:
V31 = V31 + 1;
NEXT j;
DRSCAN V31, A28[(V31 - 1)..0];
V31 = 0;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L293;
V31 = V31 + 790;
A28[V31 - 765 - i] = 0;
A28[V31 - 629 - i] = 0;
A28[V31 - 613 - i] = 0;
A28[V31 - 477 - i] = 0;
A28[V31 - 461 - i] = 0;
A28[V31 - 325 - i] = 0;
A28[V31 - 309 - i] = 0;
A28[V31 - 173 - i] = 0;
A28[V31 - 157 - i] = 0;
A28[V31 - 21 - i] = 0;
L293:
V31 = V31 + 1;
NEXT j;
GOTO L301;
L294:
i = V11 - 4097;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L295;
V31 = V31 + 790;
A28[V31 - 1 - i] = 1;
L295:
V31 = V31 + 1;
NEXT j;
DRSCAN V31, A28[(V31 - 1)..0];
V31 = 0;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L296;
V31 = V31 + 790;
A28[V31 - 1 - i] = 0;
L296:
V31 = V31 + 1;
NEXT j;
GOTO L301;
L297:
IF (V11 == 8192) THEN GOTO L300;
i = V11 - 8193;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L298;
V31 = V31 + 790;
A28[V31 - 1 - i] = 1;
L298:
V31 = V31 + 1;
NEXT j;
DRSCAN V31, A28[(V31 - 1)..0];
V31 = 0;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L299;
V31 = V31 + 790;
A28[V31 - 1 - i] = 0;
L299:
V31 = V31 + 1;
NEXT j;
GOTO L301;
L300:
DRSCAN V17, A28[(V17 - 1)..0];
L301:
A18[9..0] = $392;
CALL L338;
V10 = V11;
ENDPROC;
PROCEDURE L309 USES DEVICE_DATA, TEMP_DATA, L359, L101, L338;
V30 = V14;
IF (V49) THEN CALL L359;
V31 = V30 + (V23 - 1);
IF ((V10 & 64512) == 0) THEN GOTO L310;
IF ((V10 & 64512) == 1024) THEN GOTO L311;
IF ((V10 & 64512) == 2048) THEN GOTO L313;
IF ((V10 & 64512) == 4096) THEN GOTO L315;
IF ((V10 & 64512) == 8192) THEN GOTO L316;
L310:
CALL L101;
GOTO L318;
L311:
IF (V10 > 1172) THEN GOTO L312;
FOR i = 0 TO 4;
j = 10 * i;
A18[9..0] = A34[(j + 9)..j];
PUSH i;
CALL L338;
POP i;
DRSCAN V23, A23[V31..V30];
V30 = V30 + V23;
V31 = V31 + V23;
NEXT i;
CALL L101;
L312:
IF (V10 < 1059) THEN GOTO L318;
FOR i = 0 TO 4;
j = 10 * i;
A18[9..0] = A35[(j + 9)..j];
PUSH i;
CALL L338;
POP i;
DRSCAN V23, A23[V31..V30];
V30 = V30 + V23;
V31 = V31 + V23;
NEXT i;
CALL L101;
GOTO L318;
L313:
FOR i = 0 TO (V33 - 1);
j = 10 * i;
A18[9..0] = A38[(j + 9)..j];
V57 = 1;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L314;
V2 = A12[j];
IF (i >= A7[V2]) THEN
A17[j] = A17[j] | 8;
L314:
NEXT j;
PUSH i;
CALL L338;
DRSCAN V23, A23[V31..V30];
V30 = V30 + V23;
V31 = V31 + V23;
CALL L101;
POP i;
NEXT i;
GOTO L318;
L315:
A20[9..0] = $032;
GOTO L317;
L316:
A20[9..0] = $02E;
L317:
A18[9..0] = A20[9..0];
CALL L338;
DRSCAN V23, A23[V31..V30];
V30 = V30 + V23;
V31 = V31 + V23;
CALL L101;
L318:
V14 = V30;
ENDPROC;
PROCEDURE L319 USES DEVICE_DATA, TEMP_DATA, L53, L356, L338
, L284, L309
;
IF (V107 == 0) THEN GOTO L333;
CALL L53;
FOR i = 0 TO V1;
IF (((A17[i] & V4) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L320;
IF (((V4 == 1) || (V4 == 256)) &&
((A17[i] & 16) == 0)) THEN
A17[i] = A17[i] | 8;
IF ((V4 == 2) &&
((A17[i] & 16) == 0)) THEN
A17[i] = A17[i] & ~4;
IF ((A17[i] & 16) != 0) THEN V75 = 1;
L320:
NEXT i;
IF (!V106 && (V75 == 0)) THEN
GOTO L333;
IF (V106 && (V75 == 0)) THEN
GOTO L325;
V11 = 0;
CALL L284;
CALL L309;
L325:
IF (!V106) THEN GOTO L333;
IF (V4 == 1) THEN
A18[9..0] = $03E;
IF ((V4 == 2) || (V4 == 256)) THEN
A18[9..0] = $3FF;
CALL L338;
CALL L53;
V75 = 0;
FOR i = 0 TO V1;
IF (((A17[i] & V4) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L328;
IF ((A17[i] & 16) != 0) THEN GOTO L326;
A17[i] = A17[i] | 16;
GOTO L327;
L326:
A17[i] = A17[i] & ~16;
L327:
IF (((V4 == 1) || (V4 == 256)) &&
((A17[i] & 16) == 0)) THEN
A17[i] = A17[i] | 8;
IF ((V4 == 2) &&
((A17[i] & 16) == 0)) THEN
A17[i] = A17[i] & ~4;
IF ((A17[i] & 16) != 0) THEN V75 = 1;
L328:
NEXT i;
IF (V75 == 0) THEN GOTO L333;
V11 = 0;
CALL L284;
CALL L309;
L333:
V75 = 0;
V44 = 0;
ENDPROC;
PROCEDURE L334 USES DEVICE_DATA, TEMP_DATA
, L337
;
IF (V4 == 2) THEN CALL L337;
ENDPROC;
PROCEDURE L337 USES DEVICE_DATA, TEMP_DATA;
V32 = 8983;
ENDPROC;
PROCEDURE L338 USES DEVICE_DATA, TEMP_DATA;
V41 = 0;
V27 = 0;
IF (!V56) THEN GOTO L339;
V56 = 0;
V41 = 50;
IF (!USE_EXTEND_IR_DELAY_METHOD) THEN GOTO L339;
V27 = 50;
A32[49..0] = A30[49..0];
L339:
FOR i = 0 TO V1;
IF ((A17[i] & 8) != 0) THEN GOTO L340;
IF (((A17[i] & V4) != 0) &&
((A17[i] & 4) != 0)) THEN GOTO L342;
A33[(A25[i] - 1)..0] = A39[(A25[i] - 1)..0];
IF (((A17[i] & 1) != 0) &&
((A17[i] & 4) != 0)) THEN
A33[(A25[i] - 1)..0] = $03E;
A32[(V27 + (A25[i] - 1))..V27] = A33[(A25[i] - 1)..0];
V27 = V27 + A25[i];
GOTO L343;
L340:
IF ((A17[i] & 2) != 0) THEN GOTO L341;
A32[(V27 + 9)..V27] = $3FF;
IF ((A17[i] & 1) != 0) THEN
A32[(V27 + 9)..V27] = $03E;
V27 = V27 + 10;
GOTO L343;
L341:
IF (!V57) THEN GOTO L342;
A32[(V27 + 9)..V27] = $02A;
V27 = V27 + 10;
GOTO L343;
L342:
l = 0;
IF ((A18[20] == 1) && ((A17[i] & 64) != 0)) THEN
l = 10;
A32[(V27 + 9)..V27] = A18[(l + 9)..l];
V27 = V27 + 10;
L343:
NEXT i;
IF ((V41 == 0) || USE_EXTEND_IR_DELAY_METHOD) THEN
GOTO L344;
STATE DRPAUSE;
WAIT DRPAUSE, 5 USEC, DRPAUSE;
L344:
IRSCAN V27, A32[(V27 - 1)..0];
V57 = 0;
WAIT IRPAUSE, V83 USEC, IRPAUSE;
IF (V91) THEN GOTO L345;
STATE IDLE;
WAIT 3 CYCLES;
L345:
ENDPROC;
PROCEDURE L356 USES DEVICE_DATA, TEMP_DATA;
V23 = 0;
V24 = 0;
FOR i = 0 TO (V19 - 1);
A30[i] = 1;
NEXT i;
FOR i = 0 TO V1;
V25 = 1;
V26 = 1;
IF (((A17[i] & V4) == 0) ||
((A17[i] & 4) == 0) ||
((A17[i] & 8) != 0)) THEN GOTO L357;
V2 = A12[i];
V25 = A1[V2];
V26 = A5[V2];
GOTO L358;
L357:
IF (V74) THEN A30[V24] = 0;
L358:
V23 = V23 + V25;
V24 = V24 + V26;
NEXT i;
V49 = 0;
ENDPROC;
PROCEDURE L359 USES DEVICE_DATA, TEMP_DATA, L362, L363, L364, L365;
V23 = 0;
V24 = 0;
FOR i = 0 TO (V19 - 1);
A30[i] = 1;
NEXT i;
FOR i = 0 TO V1;
V25 = 1;
V26 = 1;
IF (((A17[i] & 2) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L360;
V2 = A12[i];
IF (((V10 >= 1035) && (V10 <= 1197)) ||
(V10 == 0)) THEN
CALL L362;
IF ((V10 >= 2069) && (V10 <= 2074)) THEN
CALL L363;
IF (((V10 >= 4097) && (V10 <= 4114)) ||
((V10 >= 4869) && (V10 <= 4886))) THEN
CALL L364;
IF (((V10 >= 8192) && (V10 <= 8210)) ||
((V10 >= 8965) && (V10 <= 8982))) THEN
CALL L365;
GOTO L361;
L360:
IF (V74) THEN A30[V24] = 0;
L361:
V23 = V23 + V25;
V24 = V24 + V26;
NEXT i;
V49 = 0;
ENDPROC;
PROCEDURE L362 USES DEVICE_DATA, TEMP_DATA;
V25 = A1[V2];
V26 = A5[V2];
ENDPROC;
PROCEDURE L363 USES DEVICE_DATA, TEMP_DATA;
V25 = A2[V2];
V26 = V25;
ENDPROC;
PROCEDURE L364 USES DEVICE_DATA, TEMP_DATA;
V25 = A3[V2];
V26 = V25;
ENDPROC;
PROCEDURE L365 USES DEVICE_DATA, TEMP_DATA;
V25 = A4[V2];
V26 = V25;
ENDPROC;
PROCEDURE L374 USES DEVICE_DATA, TEMP_DATA;
j = 0;
FOR i = 0 TO V1;
IF (((A17[i] & 2) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L375;
V2 = A12[i];
j = j + (A3[V2] - 1);
FOR V27 = 27 TO 31;
A30[j - V27] = b;
NEXT V27;
L375:
j = j + 1;
NEXT i;
ENDPROC;
' END OF FILE
CRC 6C04;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -