📄 printer1.jam
字号:
V40 = 1;
IF (V49) THEN CALL L290;
IF (V34 == 1) THEN GOTO L195;
V30 = V15;
V31 = V30 + (V24 - 1);
GOTO L196;
L195:
V30 = 0;
V31 = V24 - 1;
L196:
V28 = 0;
IF ((V10 & 64512) == 1024) THEN GOTO L197;
IF ((V10 & 64512) == 2048) THEN GOTO L204;
GOTO L207;
L197:
IF (V29 == 0) THEN
A19[9..0] = $042;
IF (V29 == 0) THEN
A19[19..10] = $042;
IF (V29 == 1) THEN
A19[9..0] = $03E;
IF (V29 == 1) THEN
A19[19..10] = $062;
IF (V29 == 2) THEN
A19[9..0] = $03E;
IF (V29 == 2) THEN
A19[19..10] = $03E;
V81 = 0;
IF ((V10 >= 1059) && (V10 <= 1172)) THEN
V28 = 4;
IF (V28 == 0) THEN GOTO L198;
A18[9..0] = $396;
CALL L276;
DRSCAN V22, A27[(V22 - 1)..0];
L198:
FOR i = 0 TO V28;
IF (i == V28) THEN V81 = 1;
PUSH i;
FOR j = 0 TO 4;
IF (V10 > 1172) THEN GOTO L200;
k = 10 * j;
A20[9..0] = A36[(k + 9)..k];
PUSH j;
CALL L188;
IF (V29 != 0) THEN GOTO L199;
A19[9..0] = $03E;
CALL L188;
A19[9..0] = $042;
L199:
POP j;
V30 = V30 + V24;
V31 = V31 + V24;
L200:
IF (V10 < 1059) THEN GOTO L202;
k = 10 * j;
A20[9..0] = A37[(k + 9)..k];
PUSH j;
CALL L188;
IF (V29 != 0) THEN GOTO L201;
A19[9..0] = $03E;
CALL L188;
A19[9..0] = $042;
L201:
POP j;
V30 = V30 + V24;
V31 = V31 + V24;
L202:
NEXT j;
IF (V81) THEN GOTO L203;
A18[9..0] = $396;
CALL L276;
POP i;
DRSCAN V22, A27[(((i + 2) * V22) - 1)..((i + 1) * V22)];
PUSH i;
L203:
POP i;
NEXT i;
GOTO L212;
L204:
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 L205;
V2 = A12[j];
IF (i >= A7[V2]) THEN
A17[j] = A17[j] | 8;
L205:
NEXT j;
PUSH i;
CALL L188;
IF (V29 != 0) THEN GOTO L206;
A19[9..0] = $036;
V57 = 1;
CALL L188;
A19[9..0] = $03A;
L206:
POP i;
V30 = V30 + V24;
V31 = V31 + V24;
NEXT i;
GOTO L212;
L207:
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 L208;
A18[9..0] = $04E;
CALL L276;
L208:
IF (!V45) THEN GOTO L209;
b = 0;
CALL L305;
L209:
CALL L188;
IF (V29 != 0) THEN GOTO L210;
A19[9..0] = $046;
CALL L188;
A19[9..0] = $04A;
L210:
IF (!V45) THEN GOTO L211;
b = 1;
CALL L305;
L211:
V30 = V30 + V24;
V31 = V31 + V24;
L212:
V15 = V30;
IF (!V39 || (V34 == 1)) THEN
GOTO L213;
IF (V74) THEN V42 = 9;
IF (!V74) THEN V42 = 11;
L213:
ENDPROC;
PROCEDURE L222 USES DEVICE_DATA, TEMP_DATA, L276;
V31 = 0;
A18[9..0] = $01E;
CALL L276;
IF ((V11 == 1035) || ((V11 & 64512) == 1024)) THEN GOTO L226;
IF ((V11 == 2069) || ((V11 & 64512) == 2048)) THEN GOTO L229;
IF ((V11 == 4097) || (V11 == 4869) || ((V11 & 64512) == 4096)) THEN GOTO L232;
IF ((V11 == 8192) || (V11 == 8193) || (V11 == 8965) || ((V11 & 64512) == 8192)) THEN GOTO L235;
IF (V11 == 0) THEN GOTO L223;
L223:
i = V11;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L224;
V31 = V31 + 790;
A28[V31 - i] = 1;
L224:
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 L225;
V31 = V31 + 790;
A28[V31 - i] = 0;
L225:
V31 = V31 + 1;
NEXT j;
GOTO L239;
L226:
i = V11 - 1035;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L227;
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;
L227:
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 L228;
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;
L228:
V31 = V31 + 1;
NEXT j;
GOTO L239;
L229:
i = V11 - 2069;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L230;
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;
L230:
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 L231;
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;
L231:
V31 = V31 + 1;
NEXT j;
GOTO L239;
L232:
i = V11 - 4097;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L233;
V31 = V31 + 790;
A28[V31 - 1 - i] = 1;
L233:
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 L234;
V31 = V31 + 790;
A28[V31 - 1 - i] = 0;
L234:
V31 = V31 + 1;
NEXT j;
GOTO L239;
L235:
IF (V11 == 8192) THEN GOTO L238;
i = V11 - 8193;
FOR j = 0 TO V1;
IF (((A17[j] & 2) == 0) ||
((A17[j] & 4) == 0)) THEN GOTO L236;
V31 = V31 + 790;
A28[V31 - 1 - i] = 1;
L236:
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 L237;
V31 = V31 + 790;
A28[V31 - 1 - i] = 0;
L237:
V31 = V31 + 1;
NEXT j;
GOTO L239;
L238:
DRSCAN V17, A28[(V17 - 1)..0];
L239:
A18[9..0] = $392;
CALL L276;
V10 = V11;
ENDPROC;
PROCEDURE L247 USES DEVICE_DATA, TEMP_DATA, L290, L71, L276;
V30 = V14;
IF (V49) THEN CALL L290;
V31 = V30 + (V23 - 1);
IF ((V10 & 64512) == 0) THEN GOTO L248;
IF ((V10 & 64512) == 1024) THEN GOTO L249;
IF ((V10 & 64512) == 2048) THEN GOTO L251;
IF ((V10 & 64512) == 4096) THEN GOTO L253;
IF ((V10 & 64512) == 8192) THEN GOTO L254;
L248:
CALL L71;
GOTO L256;
L249:
IF (V10 > 1172) THEN GOTO L250;
FOR i = 0 TO 4;
j = 10 * i;
A18[9..0] = A34[(j + 9)..j];
PUSH i;
CALL L276;
POP i;
DRSCAN V23, A23[V31..V30];
V30 = V30 + V23;
V31 = V31 + V23;
NEXT i;
CALL L71;
L250:
IF (V10 < 1059) THEN GOTO L256;
FOR i = 0 TO 4;
j = 10 * i;
A18[9..0] = A35[(j + 9)..j];
PUSH i;
CALL L276;
POP i;
DRSCAN V23, A23[V31..V30];
V30 = V30 + V23;
V31 = V31 + V23;
NEXT i;
CALL L71;
GOTO L256;
L251:
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 L252;
V2 = A12[j];
IF (i >= A7[V2]) THEN
A17[j] = A17[j] | 8;
L252:
NEXT j;
PUSH i;
CALL L276;
DRSCAN V23, A23[V31..V30];
V30 = V30 + V23;
V31 = V31 + V23;
CALL L71;
POP i;
NEXT i;
GOTO L256;
L253:
A20[9..0] = $032;
GOTO L255;
L254:
A20[9..0] = $02E;
L255:
A18[9..0] = A20[9..0];
CALL L276;
DRSCAN V23, A23[V31..V30];
V30 = V30 + V23;
V31 = V31 + V23;
CALL L71;
L256:
V14 = V30;
ENDPROC;
PROCEDURE L257 USES DEVICE_DATA, TEMP_DATA, L30, L287, L276
, L222, L247
;
IF (V107 == 0) THEN GOTO L271;
CALL L30;
FOR i = 0 TO V1;
IF (((A17[i] & V4) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L258;
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;
L258:
NEXT i;
IF (!V106 && (V75 == 0)) THEN
GOTO L271;
IF (V106 && (V75 == 0)) THEN
GOTO L263;
V11 = 0;
CALL L222;
CALL L247;
L263:
IF (!V106) THEN GOTO L271;
IF (V4 == 1) THEN
A18[9..0] = $03E;
IF ((V4 == 2) || (V4 == 256)) THEN
A18[9..0] = $3FF;
CALL L276;
CALL L30;
V75 = 0;
FOR i = 0 TO V1;
IF (((A17[i] & V4) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L266;
IF ((A17[i] & 16) != 0) THEN GOTO L264;
A17[i] = A17[i] | 16;
GOTO L265;
L264:
A17[i] = A17[i] & ~16;
L265:
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;
L266:
NEXT i;
IF (V75 == 0) THEN GOTO L271;
V11 = 0;
CALL L222;
CALL L247;
L271:
V75 = 0;
ENDPROC;
PROCEDURE L272 USES DEVICE_DATA, TEMP_DATA
, L275
;
IF (V4 == 2) THEN CALL L275;
ENDPROC;
PROCEDURE L275 USES DEVICE_DATA, TEMP_DATA;
V32 = 8983;
ENDPROC;
PROCEDURE L276 USES DEVICE_DATA, TEMP_DATA;
V41 = 0;
V27 = 0;
IF (!V56) THEN GOTO L277;
V56 = 0;
V41 = 50;
IF (!USE_EXTEND_IR_DELAY_METHOD) THEN GOTO L277;
V27 = 50;
A32[49..0] = A30[49..0];
L277:
FOR i = 0 TO V1;
IF ((A17[i] & 8) != 0) THEN GOTO L278;
IF (((A17[i] & V4) != 0) &&
((A17[i] & 4) != 0)) THEN GOTO L280;
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 L281;
L278:
IF ((A17[i] & 2) != 0) THEN GOTO L279;
A32[(V27 + 9)..V27] = $3FF;
IF ((A17[i] & 1) != 0) THEN
A32[(V27 + 9)..V27] = $03E;
V27 = V27 + 10;
GOTO L281;
L279:
IF (!V57) THEN GOTO L280;
A32[(V27 + 9)..V27] = $02A;
V27 = V27 + 10;
GOTO L281;
L280:
l = 0;
IF ((A18[20] == 1) && ((A17[i] & 64) != 0)) THEN
l = 10;
A32[(V27 + 9)..V27] = A18[(l + 9)..l];
V27 = V27 + 10;
L281:
NEXT i;
IF ((V41 == 0) || USE_EXTEND_IR_DELAY_METHOD) THEN
GOTO L282;
STATE DRPAUSE;
WAIT DRPAUSE, 5 USEC, DRPAUSE;
L282:
IRSCAN V27, A32[(V27 - 1)..0];
V57 = 0;
WAIT IRPAUSE, V83 USEC, IRPAUSE;
IF (V91) THEN GOTO L283;
STATE IDLE;
WAIT 3 CYCLES;
L283:
ENDPROC;
PROCEDURE L287 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 L288;
V2 = A12[i];
V25 = A1[V2];
V26 = A5[V2];
GOTO L289;
L288:
IF (V74) THEN A30[V24] = 0;
L289:
V23 = V23 + V25;
V24 = V24 + V26;
NEXT i;
V49 = 0;
ENDPROC;
PROCEDURE L290 USES DEVICE_DATA, TEMP_DATA, L293, L294, L295, L296;
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 L291;
V2 = A12[i];
IF (((V10 >= 1035) && (V10 <= 1197)) ||
(V10 == 0)) THEN
CALL L293;
IF ((V10 >= 2069) && (V10 <= 2074)) THEN
CALL L294;
IF (((V10 >= 4097) && (V10 <= 4114)) ||
((V10 >= 4869) && (V10 <= 4886))) THEN
CALL L295;
IF (((V10 >= 8192) && (V10 <= 8210)) ||
((V10 >= 8965) && (V10 <= 8982))) THEN
CALL L296;
GOTO L292;
L291:
IF (V74) THEN A30[V24] = 0;
L292:
V23 = V23 + V25;
V24 = V24 + V26;
NEXT i;
V49 = 0;
ENDPROC;
PROCEDURE L293 USES DEVICE_DATA, TEMP_DATA;
V25 = A1[V2];
V26 = A5[V2];
ENDPROC;
PROCEDURE L294 USES DEVICE_DATA, TEMP_DATA;
V25 = A2[V2];
V26 = V25;
ENDPROC;
PROCEDURE L295 USES DEVICE_DATA, TEMP_DATA;
V25 = A3[V2];
V26 = V25;
ENDPROC;
PROCEDURE L296 USES DEVICE_DATA, TEMP_DATA;
V25 = A4[V2];
V26 = V25;
ENDPROC;
PROCEDURE L305 USES DEVICE_DATA, TEMP_DATA;
j = 0;
FOR i = 0 TO V1;
IF (((A17[i] & 2) == 0) ||
((A17[i] & 4) == 0)) THEN GOTO L306;
V2 = A12[i];
j = j + (A3[V2] - 1);
FOR V27 = 27 TO 31;
A30[j - V27] = b;
NEXT V27;
L306:
j = j + 1;
NEXT i;
ENDPROC;
' END OF FILE
CRC CAD8;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -