adjusted jumps in the ti-74 port

This commit is contained in:
Luxferre
2025-04-27 18:36:48 +03:00
parent dc7b2a3a08
commit eeb68ff8e6
+34 -34
View File
@@ -5,60 +5,60 @@
140 READ PMEM(I), PMEM(I+1) 140 READ PMEM(I), PMEM(I+1)
150 I=I+2 150 I=I+2
160 IF PMEM(I-2)>-1 THEN 140 160 IF PMEM(I-2)>-1 THEN 140
170 L=1:IAT,V1,V2,V3=0 170 L,IAT,V1,V2,V3=0
180 M=L+L:A=PMEM(M):B=PMEM(M+1) 180 L=L+1:M=L+L:A=PMEM(M):B=PMEM(M+1)
190 IF A<0 THEN 730 190 IF A<0 THEN 730
200 CMD=INT(A/10000) 200 CMD=INT(A/10000)
210 IF IAT=1 THEN 220 ELSE 230 210 IF IAT=1 THEN 220 ELSE 230
220 X=INT(V1):Y=INT(V2):Z=INT(V3):IAT=0:GOTO 240 220 X=INT(V1):Y=INT(V2):Z=INT(V3):IAT=0:GOTO 240
230 X=A-CMD*10000:Y=INT(B/10000):Z=B-Y*10000 230 X=A-CMD*10000:Y=INT(B/10000):Z=B-Y*10000
240 V1,V2,V3=0 240 V1,V2,V3=0
250 IF CMD=5 THEN DMEM(Z)=X+(Y/10000):GOTO 720 250 IF CMD=5 THEN DMEM(Z)=X+(Y/10000):GOTO 180
260 V1=DMEM(X):V2=DMEM(Y):V3=DMEM(Z) 260 V1=DMEM(X):V2=DMEM(Y):V3=DMEM(Z)
270 IF CMD=1 THEN 280 ELSE 420 270 IF CMD=1 THEN 280 ELSE 420
280 IF X=0 AND V2=0 THEN L=Z-1:GOTO 720 280 IF X=0 AND V2=0 THEN L=Z-1:GOTO 180
290 IF X=1 AND V2>0 THEN L=Z-1:GOTO 720 290 IF X=1 AND V2>0 THEN L=Z-1:GOTO 180
300 IF X=2 AND V2<0 THEN L=Z-1:GOTO 720 300 IF X=2 AND V2<0 THEN L=Z-1:GOTO 180
310 IF X=3 AND V2>=0 THEN L=Z-1:GOTO 720 310 IF X=3 AND V2>=0 THEN L=Z-1:GOTO 180
320 IF X=4 AND V2<=0 THEN L=Z-1:GOTO 720 320 IF X=4 AND V2<=0 THEN L=Z-1:GOTO 180
330 IF X=5 AND V2<>0 THEN L=Z-1:GOTO 720 330 IF X=5 AND V2<>0 THEN L=Z-1:GOTO 180
340 IF X=6 THEN L=Z-1:GOTO 720 340 IF X=6 THEN L=Z-1:GOTO 180
350 IF X=7 AND V2=0 THEN L=INT(V3)-1:GOTO 720 350 IF X=7 AND V2=0 THEN L=INT(V3)-1:GOTO 180
360 IF X=8 AND V2>0 THEN L=INT(V3)-1:GOTO 720 360 IF X=8 AND V2>0 THEN L=INT(V3)-1:GOTO 180
370 IF X=9 AND V2<0 THEN L=INT(V3)-1:GOTO 720 370 IF X=9 AND V2<0 THEN L=INT(V3)-1:GOTO 180
380 IF X=10 AND V2>=0 THEN L=INT(V3)-1:GOTO 720 380 IF X=10 AND V2>=0 THEN L=INT(V3)-1:GOTO 180
390 IF X=11 AND V2<=0 THEN L=INT(V3)-1:GOTO 720 390 IF X=11 AND V2<=0 THEN L=INT(V3)-1:GOTO 180
400 IF X=12 AND V2<>0 THEN L=INT(V3)-1:GOTO 720 400 IF X=12 AND V2<>0 THEN L=INT(V3)-1:GOTO 180
410 IF X=13 THEN L=INT(V3)-1:GOTO 720 410 IF X=13 THEN L=INT(V3)-1:GOTO 180
420 IF CMD=2 THEN IAT=1:GOTO 720 420 IF CMD=2 THEN IAT=1:GOTO 180
430 IF CMD=3 THEN 440 ELSE 490 430 IF CMD=3 THEN 440 ELSE 490
440 FOR I=X TO Y 440 FOR I=X TO Y
450 IF Z=0 THEN PRINT(DMEM(I)):PAUSE 450 IF Z=0 THEN PRINT(DMEM(I)):PAUSE
460 IF Z=1 THEN 470 ELSE 480 460 IF Z=1 THEN 470 ELSE 480
470 IF DMEM(I)=10 THEN PAUSE ELSE PRINT(CHR$(INT(DMEM(I)))); 470 IF DMEM(I)=10 THEN PAUSE ELSE PRINT(CHR$(INT(DMEM(I))));
480 NEXT I:GOTO 720 480 NEXT I:GOTO 180
490 IF CMD=4 THEN 500 ELSE 530 490 IF CMD=4 THEN 500 ELSE 530
500 FOR I=X TO Y 500 FOR I=X TO Y
510 IF Z=0 THEN INPUT DMEM(I) 510 IF Z=0 THEN INPUT DMEM(I)
520 NEXT I:GOTO 720 520 NEXT I:GOTO 180
530 IF CMD=6 THEN 540 ELSE 570 530 IF CMD=6 THEN 540 ELSE 570
540 IF X=0 THEN DMEM(Z)=Y:GOTO 720 540 IF X=0 THEN DMEM(Z)=Y:GOTO 180
550 IF X=1 THEN DMEM(Z)=V2:GOTO 720 550 IF X=1 THEN DMEM(Z)=V2:GOTO 180
560 IF X>1 THEN DMEM(INT(V3))=DMEM(INT(V2)):GOTO 720 560 IF X>1 THEN DMEM(INT(V3))=DMEM(INT(V2)):GOTO 180
570 IF CMD=7 THEN DMEM(Z)=V1+V2*V3:GOTO 720 570 IF CMD=7 THEN DMEM(Z)=V1+V2*V3:GOTO 180
580 IF CMD=8 THEN DMEM(Z)=V1-V2:GOTO 720 580 IF CMD=8 THEN DMEM(Z)=V1-V2:GOTO 180
590 IF CMD=9 THEN 600 ELSE 610 590 IF CMD=9 THEN 600 ELSE 610
600 IF V2=0 THEN DMEM(Z)=0:GOTO 720 ELSE DMEM(Z)=V1/V2:GOTO 720 600 IF V2=0 THEN DMEM(Z)=0:GOTO 180 ELSE DMEM(Z)=V1/V2:GOTO 180
610 IF CMD=10 THEN 620 ELSE 630 610 IF CMD=10 THEN 620 ELSE 630
620 IF V2=0 THEN DMEM(Z)=INT(V1):GOTO 720 ELSE DMEM(Z)=V1-V2*INT(V1/V2):GOTO 720 620 IF V2=0 THEN DMEM(Z)=INT(V1):GOTO 180 ELSE DMEM(Z)=V1-V2*INT(V1/V2):GOTO 180
630 IF CMD=11 THEN DMEM(Z)=ABS(V2):GOTO 720 630 IF CMD=11 THEN DMEM(Z)=ABS(V2):GOTO 180
640 IF CMD=12 THEN DMEM(Z)=SQR(ABS(V2)):GOTO 720 640 IF CMD=12 THEN DMEM(Z)=SQR(ABS(V2)):GOTO 180
650 IF CMD=13 THEN 660 ELSE 670 650 IF CMD=13 THEN 660 ELSE 670
660 IF X=0 THEN DMEM(Z)=EXP(V2):GOTO 720 ELSE DMEM(Z)=LN(ABS(V2)):GOTO 720 660 IF X=0 THEN DMEM(Z)=EXP(V2):GOTO 180 ELSE DMEM(Z)=LN(ABS(V2)):GOTO 180
670 IF CMD=14 THEN 680 ELSE 710 670 IF CMD=14 THEN 680 ELSE 710
680 IF X=0 THEN DMEM(Z)=SIN(V2):GOTO 720 680 IF X=0 THEN DMEM(Z)=SIN(V2):GOTO 180
690 IF X=1 THEN DMEM(Z)=COS(V2):GOTO 720 690 IF X=1 THEN DMEM(Z)=COS(V2):GOTO 180
700 IF X>1 THEN DMEM(Z)=ATN(V2):GOTO 720 700 IF X>1 THEN DMEM(Z)=ATN(V2):GOTO 180
710 IF CMD=15 THEN DMEM(Z)=INT(V1)+INT(RND*(INT(V2)-INT(V1)+1)) 710 IF CMD=15 THEN DMEM(Z)=INT(V1)+INT(RND*(INT(V2)-INT(V1)+1))
720 L=L+1:GOTO 180 720 GOTO 180
730 END 730 END