📄 control1.jam
字号:
IF ((V102 || V100) && !V103 &&
(V108 || V107)) THEN V42 = 1;
IF (V42 != 0) THEN GOTO L463;
V21 = 0;
FOR i = 0 TO V1;
j = 1;
k = 1;
IF (((A13[i] & 1) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L7;
V2 = A12[i];
j = A1[V2];
k = A5[V2];
L7:
V21 = V21 + j;
V66 = V66 + k;
NEXT i;
l = 0;
FOR i = 4 TO 0 STEP -1;
FOR j = 0 TO V1;
IF (((A13[j] & 1) == 0) ||
((A13[j] & 4) == 0)) THEN GOTO L8;
V2 = A12[j];
FOR k = 0 TO (A1[V2] - 1);
IF ((k % 5) == i) THEN A26[l] = 1;
l = l + 1;
NEXT k;
GOTO L9;
L8:
l = l + 1;
L9:
NEXT j;
NEXT i;
V88 = 0;
FOR i = 0 TO V1;
j = 1;
k = 1;
IF (((A13[i] & 256) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L10;
V2 = A12[i];
j = A1[V2];
k = A5[V2];
IF ((V2 >= 23) && (V2 <= 27)) THEN
V96 = 95;
L10:
V88 = V88 + j;
V90 = V90 + k;
NEXT i;
V94 = 0;
FOR i = 0 TO V1;
j = 1;
k = 1;
IF (((A13[i] & 512) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L11;
V2 = A12[i];
j = A1[V2];
k = A5[V2];
L11:
V94 = V94 + j;
V95 = V95 + k;
NEXT i;
V179 = 0;
FOR i = 0 TO V1;
j = 1;
k = 1;
IF (((A13[i] & 2048) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L12;
V2 = A12[i];
j = A1[V2];
k = A5[V2];
L12:
V179 = V179 + j;
V180 = V180 + k;
NEXT i;
V22 = 0;
FOR i = 0 TO V1;
j = 1;
k = 1;
IF (((A13[i] & 2) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L13;
V2 = A12[i];
j = A1[V2];
k = A5[V2];
L13:
V22 = V22 + j;
V67 = V67 + k;
NEXT i;
l = 0;
FOR i = 4 TO 0 STEP -1;
FOR j = 0 TO V1;
IF (((A13[j] & 2) == 0) ||
((A13[j] & 4) == 0)) THEN GOTO L14;
V2 = A12[j];
FOR k = 0 TO (A1[V2] - 1);
IF ((k % 5) == i) THEN A27[l] = 1;
l = l + 1;
NEXT k;
GOTO L15;
L14:
l = l + 1;
L15:
NEXT j;
NEXT i;
V16 = 0;
FOR i = 0 TO V1;
j = 1;
IF (((A13[i] & 1) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L16;
V2 = A12[i];
j = A0[V2];
L16:
V16 = V16 + j;
NEXT i;
V87 = 0;
FOR i = 0 TO V1;
j = 1;
IF (((A13[i] & 256) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L17;
V2 = A12[i];
j = A0[V2];
L17:
V87 = V87 + j;
NEXT i;
V17 = 0;
FOR i = 0 TO V1;
j = 1;
IF (((A13[i] & 2) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L18;
V2 = A12[i];
j = A0[V2];
L18:
V17 = V17 + j;
NEXT i;
V181 = 0;
FOR i = 0 TO V1;
j = 1;
IF (((A13[i] & 2048) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L19;
V2 = A12[i];
j = A0[V2];
L19:
V181 = V181 + j;
NEXT i;
V18 = V17;
IF (V16 > V18) THEN V18 = V16;
IF (V87 > V18) THEN V18 = V87;
IF (V181 > V18) THEN V18 = V181;
V20 = 32 + V1;
IF ((2 * 5 * 5 * V67) > V20) THEN V20 = 2 * 5 * 5 * V67;
IF ((2 * 5 * V66) > V20) THEN V20 = 2 * 5 * V66;
IF (V90 > V20) THEN V20 = V90;
IF (V95 > V20) THEN V20 = V95;
IF (V180 > V20) THEN V20 = V180;
V19 = V18;
IF (V21 > V19) THEN V19 = V21;
IF (V88 > V19) THEN V19 = V88;
IF (V94 > V19) THEN V19 = V94;
IF (V179 > V19) THEN V19 = V179;
IF (V20 > V19) THEN V19 = V20;
FOR i = 0 TO (V19 - 1);
A30[i] = 1;
NEXT i;
V33 = 0;
FOR i = 0 TO V1;
IF (((A13[i] & 2) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L20;
V2 = A12[i];
IF (V33 < A7[V2]) THEN
V33 = A7[V2];
L20:
NEXT i;
V12 = 0;
V13 = 0;
FOR i = 0 TO V1;
V12 = V12 + A25[i];
IF (A25[i] > V13) THEN V13 = A25[i];
NEXT i;
FOR i = 0 TO (V13 - 1);
A39[i] = 1;
NEXT i;
FOR i = 0 TO 4;
j = 10 * i;
A34[(j + 9)..j] = $016;
A35[(j + 9)..j] = $01A;
A36[(j + 9)..j] = $022;
A37[(j + 9)..j] = $026;
FOR k = 0 TO 2;
b = 0;
IF ((i & (1 << k)) != 0) THEN b = 1;
A34[j + k + 7] = b;
A35[j + k + 7] = b;
A36[j + k + 7] = b;
A37[j + k + 7] = b;
NEXT k;
NEXT i;
FOR i = 0 TO 6;
j = 10 * i;
A38[(j + 9)..j] = $02A;
FOR k = 0 TO 2;
b = 0;
IF ((i & (1 << k)) != 0) THEN b = 1;
A38[j + k + 7] = b;
NEXT k;
NEXT i;
FOR i = 0 TO V1;
A52[i] = 0;
IF (((A13[i] & 256) == 0) ||
((A13[i] & 4) == 0)) THEN GOTO L457;
V2 = A12[i];
A52[i] =
A5[V2] - (80 * A6[V2]);
L457:
NEXT i;
CALL L30;
IRSTOP IRPAUSE;
DRSTOP IDLE;
STATE IDLE;
IF (V101) THEN CALL L32;
IF (V42 != 0) THEN GOTO L463;
FOR i = 0 TO V1;
IF (((A17[i] & (1 | 2)) != 0) &&
((A17[i] & 4) != 0) &&
((A17[i] & 8) == 0)) THEN
V4 = 1 | 2;
NEXT i;
IF (V4 != (1 | 2)) THEN
GOTO L458;
A18[9..0] = $071;
CALL L276;
WAIT 10000 USEC;
L458:
FOR i = 0 TO V1;
IF (((A17[i] & 256) != 0) &&
((A17[i] & 4) != 0) &&
((A17[i] & 8) == 0)) THEN
V4 = 256;
NEXT i;
IF (V4 != 256) THEN
GOTO L459;
A18[9..0] = $332;
CALL L276;
WAIT 10000 USEC;
L459:
FOR i = 0 TO V1;
IF (((A17[i] & 512) != 0) &&
((A17[i] & 4) != 0) &&
((A17[i] & 8) == 0)) THEN
V4 = 512;
NEXT i;
IF (V4 != 512) THEN
GOTO L460;
A18[9..0] = $044;
CALL L276;
WAIT 10000 USEC;
L460:
FOR i = 0 TO V1;
IF (((A17[i] & 2048) != 0) &&
((A17[i] & 4) != 0) &&
((A17[i] & 8) == 0)) THEN
V4 = 2048;
NEXT i;
IF (V4 != 2048) THEN
GOTO L463;
A18[9..0] = $065;
CALL L276;
WAIT 1000 USEC;
A18[9..0] = $044;
V91 = V103 || V102;
CALL L276;
V91 = 0;
IF (!V103 && !V102) THEN GOTO L462;
k = 0;
FOR i = 0 TO V1;
IF (((A17[i] & 2048) == 0) ||
((A17[i] & 4) == 0) ||
((A17[i] & 8) != 0)) THEN GOTO L461;
A31[k] = 0;
A57[k] = 1;
k = k + 1;
A31[k] = 1;
A57[k] = 1;
L461:
k = k + 1;
NEXT i;
DRSCAN k, A29[(k - 1)..0], COMPARE A31[(k - 1)..0],
A57[(k - 1)..0], V40;
IF (!V40) THEN V42 = 10;
L462:
WAIT 10000 USEC;
L463:
ENDPROC;
PROCEDURE L21 USES DEVICE_DATA, TEMP_DATA, L31, L276, L32, L35
;
IF (V42 == 1) THEN GOTO L25;
CALL L31;
IF (!V76) THEN GOTO L22;
A18[9..0] = $003;
V4 = 32;
CALL L276;
L22:
FOR i = 0 TO V1;
IF (((A17[i] & (1 | 2)) != 0) &&
((A17[i] & 4) != 0) &&
((A17[i] & 8) == 0)) THEN
V4 = 1 | 2;
NEXT i;
IF (V4 != (1 | 2)) THEN
GOTO L23;
A18[9..0] = $079;
CALL L276;
WAIT 10000 USEC;
L23:
FOR i = 0 TO V1;
IF (((A17[i] & 256) != 0) &&
((A17[i] & 4) != 0) &&
((A17[i] & 8) == 0)) THEN
V4 = 256;
NEXT i;
IF (V4 != 256) THEN
GOTO L24;
A18[9..0] = $006;
CALL L276;
L24:
FOR i = 0 TO V1;
IF (((A17[i] & (512 | 2048)) != 0) &&
((A17[i] & 4) != 0) &&
((A17[i] & 8) == 0)) THEN
V4 = 512 | 2048;
NEXT i;
IF (V4 != (512 | 2048)) THEN
GOTO L25;
A18[9..0] = $04A;
CALL L276;
WAIT 10000 USEC;
L25:
IF (!V76) THEN GOTO L454;
V80 = 0;
CALL L32;
IF (V42 != 0) THEN V42 = 10;
IF (V42 != 0) THEN GOTO L455;
L454:
A18[9..0] = $3FF;
CALL L276;
IF (V105) THEN CALL L35;
L455:
IF (V42 == 0) THEN
PRINT "DONE";
IF (V42 == 1) THEN
PRINT "Invalid option combination specified";
IF (V42 == 6) THEN
PRINT "Unrecognized device";
IF (V42 == 7) THEN
PRINT "Device revision is not supported";
IF (V42 == 10) THEN
PRINT "Device programming failure";
IF (V42 == 9) THEN
PRINT "Device is not blank";
IF (V42 == 11) THEN
PRINT "Device verify failure";
IF (V42 == 10) THEN
PRINT "Device configuration failure";
IF (V42 == 4) THEN
PRINT "Unable to read USERCODE/UES from device #", V84 + 1;
ENDPROC;
PROCEDURE L26 USES DEVICE_DATA, TEMP_DATA;
j = 0;
FOR i = 0 TO V1;
IF ((j <= V3) &&
((A13[i] & V4) != 0) &&
((A13[i] & 4) != 0)) THEN j = i + 1;
NEXT i;
IF (j > V3) THEN GOTO L27;
V2 = 0;
V3 = 0;
GOTO L29;
L27:
V2 = A12[j - 1];
V3 = j;
IF ((V4 == 32) || (V4 == 256) ||
(V4 == 512) || (V4 == 2048))
THEN GOTO L29;
IF (V58) THEN GOTO L28;
A41[9..0] = $066;
GOTO L29;
L28:
A41[9..0] = $006;
L29:
IF (V4 == 1) THEN A40[9..0] = $00E;
IF (V4 == 1) THEN A44[9..0] = $012;
IF (V4 == 2) THEN A40[9..0] = $38E;
IF (V4 == 2) THEN A44[9..0] = $392;
ENDPROC;
PROCEDURE L30 USES DEVICE_DATA, TEMP_DATA, L31
, L272
;
CALL L31;
IF (V32 == 0) THEN CALL L272;
V10 = 0;
V14 = 0;
V15 = 0;
V89 = 0;
V49 = 1;
V34 = 0;
V51 = -1;
V52 = -1;
V45 = 0;
V29 = 1;
IF (V103) THEN V29 = 0;
IF (V102 && V74) THEN V29 = 2;
ENDPROC;
PROCEDURE L31 USES DEVICE_DATA, TEMP_DATA;
FOR i = 0 TO V1;
A17[i] = (A13[i] | A48[i]);
IF (((A17[i] & 4) != 0) &&
((A17[i] & (1 | 256 | 2 | 512 | 2048)) != 0) &&
!V102 && !V100 && !V103 && !V108 &&
!V107 && !V106 && V101) THEN
A17[i] = A17[i] & ~4;
IF (((A17[i] & 4) != 0) &&
((A17[i] & 32) != 0) && !V101 &&
(V102 || V100 || V103 || V108 ||
V107 || V106)) THEN
A17[i] = A17[i] & ~4;
NEXT i;
ENDPROC;
PROCEDURE L32 USES DEVICE_DATA, TEMP_DATA, L31;
INTEGER V79 = 32 * V0;
BOOLEAN A46[V79];
INTEGER A47[8];
INTEGER V145;
CALL L31;
STATE IDLE;
V27 = 0;
FOR i = 0 TO V1;
A18[9..0] = A39[(A25[i] - 1)..0];
IF ((A17[i] & (1 | 2 | 256 | 512 | 2048)) != 0) THEN
A18[9..0] = $059;
IF ((A17[i] & 32) != 0) THEN
A18[9..0] = $006;
A32[(V27 + (A25[i] - 1))..V27] = A18[(A25[i] - 1)..0];
V27 = V27 + A25[i];
NEXT i;
IRSCAN V27, A32[(V27 - 1)..0];
WAIT IRPAUSE, 5 USEC, IDLE;
WAIT 3 CYCLES;
DRSCAN V79, A46[(V79 - 1)..0], CAPTURE A46[(V79 - 1)..0];
V27 = 0;
FOR i = 0 TO V1;
IF (A46[V27] == 1) THEN GOTO L33;
IF (V80) THEN
PRINT "Device #", V0 - i, " unable to read IDCODE";
IF (V101 && ((A17[i] & 32) != 0) &&
((A17[i] & 4) != 0)) THEN V42 = 6;
GOTO L34;
L33:
FOR j = 0 TO 7;
A47[j] = 0;
FOR k = 0 TO 3;
IF (A46[V27 + (4 * j) + k]) THEN
A47[j] = A47[j] | (1 << k);
NEXT k;
A47[j] = A47[j] + 48;
IF (A47[j] >= 58) THEN A47[j] = A47[j] + 7;
NEXT j;
IF (V80) THEN
PRINT "Device #", V0 - i, " IDCODE is ",
CHR$(A47[7]), CHR$(A47[6]),
CHR$(A47[5]), CHR$(A47[4]),
CHR$(A47[3]), CHR$(A47[2]),
CHR$(A47[1]), CHR$(A47[0]);
IF (V101 && ((A17[i] & 32) != 0) &&
((A17[i] & 4) != 0) && (A47[0] != 68) &&
(A47[1] != 68)) THEN
V42 = 6;
V27 = V27 + 31;
L34:
V27 = V27 + 1;
NEXT i;
V27 = 0;
FOR i = 0 TO V1;
IF(A61[i] != 0) THEN GOTO L349;
IF(A46[V27] != 0) THEN
V42 = 6;
V27 = V27 + 1;
NEXT i;
GOTO L348;
L349:
V145 = 0;
FOR j = 0 TO 31;
IF(A46[(V27 + j)]) THEN
V145 = V145 + (1 << j);
NEXT j;
V27 = V27 + 32;
IF(A61[i] != V145) THEN
V42 = 6;
NEXT i;
L348:
ENDPROC;
PROCEDURE L35 USES DEVICE_DATA, TEMP_DATA, L31, L276, L39;
j = 0;
k = V1;
V84 = V84 - 1;
IF (V84 == -1) THEN GOTO L36;
IF ((V84 < 0) || (V84 > V1) ||
(((A17[V1 - V84] & 256) == 0) &&
((A17[V1 - V84] & 32) == 0) &&
((A17[V1 - V84] & 512) == 0) &&
((A17[V1 - V84] & 2048) == 0))) THEN
V42 = 4;
IF (V42 != 0) THEN GOTO L35_4;
j = V84;
k = V84;
L36:
CALL L31;
FOR i = 0 TO V1;
IF (((A17[i] & 256) != 0) &&
((A17[i] & 4) != 0) &&
((A17[i] & 8) == 0)) THEN
V4 = 256;
NEXT i;
IF (V4 != 256) THEN
GOTO L37;
A18[9..0] = $006;
CALL L276;
WAIT 10000 USEC;
L37:
FOR i = 0 TO V1;
IF (((A17[i] & (512 | 2048)) != 0) &&
((A17[i] & 4) != 0) &&
((A17[i] & 8) == 0)) THEN
V4 = 512 | 2048;
NEXT i;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -