003
28.08.2021, 11:20 Uhr
jmueller
|
Als Beispiel der neuen Möglichkeiten hier mal die Kreis-Demo von Rolf Weidlich für ES 4.0, wie man diese nun komplett als ein Quelltext im JTCEMU-Texteditor schreiben kann:
Quellcode: | 1 ASM PUSH RP SRP #%70 PUSH %4B PUSH %4E PUSH %4F PUSH %51 PUSH %53 LD R4, %4E LD R5, %4F LD R6, %51 LD R0, %4B CLR R1 LD %5D, %4B CALL M3 M1: LD R3, R1 RL R3 INC R3 INC R1 SUB %5D, R3 JR NC, M2 LD R2, R0 RL R2 DEC R2 DEC R0 ADD %5D, R2 M2: CALL M3 CP R1, R0 JP C, M1 POP %53 POP %51 POP %4F POP %4E POP %4B POP RP RET M3: LD %4F, R5 LD %4E, R4 ADD %4F, R0 ADC %4E, #0 LD %51, R6 ADD %51, R1 JR NC, M4 LD %51, #%C0 M4: CALL M13 LD %4F, R5 LD %4E, R4 SUB %4F, R0 SBC %4E, #0 LD %51, R6 ADD %51, R1 JR NC, M5 LD %51, #%C0 M5: CALL M13 LD %4F, R5 LD %4E, R4 SUB %4F, R0 SBC %4E, #0 LD %51, R6 SUB %51, R1 JR NC, M6 LD %51, #%C0 M6: CALL M13 LD %4F, R5 LD %4E, R4 ADD %4F, R0 ADC %4E, #0 LD %51, R6 SUB %51, R1 JR NC, M7 LD %51, #%C0 M7: CALL M13 LD %4F, R5 LD %4E, R4 ADD %4F, R1 ADC %4E, #0 LD %51, R6 ADD %51, R0 JR NC, M9 LD %51, #%C0 M9: CALL M13 LD %4F, R5 LD %4E, R4 SUB %4F, R1 SBC %4E, #0 LD %51, R6 ADD %51, R0 JR NC, M10 LD %51, #%C0 M10: CALL M13 LD %4F, R5 LD %4E, R4 SUB %4F, R1 SBC %4E, #0 LD %51, R6 SUB %51, R0 JR NC, M11 LD %51, #%C0 M11: CALL M13 LD %4F, R5 LD %4E, R4 ADD %4F, R1 ADC %4E, #0 LD %51, R6 SUB %51, R0 JR NC, M12 LD %51, #%C0 M12: CALL M13 RET M13: CALL %17FD CLR %4E RET
10 REM ### KREISDEMO ### 15 REM !!! ZEILE 1 NICHT AENDERN!!! 20 PROC PTC[12] 25 LET V=10; REM RADIUS 30 LET X=160,Y=95; REM MITTE 35 LET Z=15; REM FARBE WEISS 40 CALL %E003; REM KREISROUTINE ZEILE 1! 45 LET V=V+3; REM ABSTAND 50 IF V<64 THEN GOTO 40 60 END
|
Wenn man dieses Programm aus dem Arbeitsspeicher wieder in den Texteditor liest, kommt dann das heraus, die zweite Möglichkeit, Binärcode im BASIC-Programm unterzubringen:
Quellcode: | 1 BREM %70,%FD,%31,%70,%70,%4B,%70,%4E,%70,%4F,%70,%51,%70,%53,%48,%4E BREM %58,%4F,%68,%51,%08,%4B,%B0,%E1,%E4,%4B,%5D,%D6,%E0,%4C,%38,%E1 BREM %90,%E3,%3E,%1E,%24,%E3,%5D,%FB,%0B,%28,%E0,%90,%E2,%00,%E2,%00 BREM %E0,%04,%E2,%5D,%D6,%E0,%4C,%A2,%10,%7D,%E0,%21,%50,%53,%50,%51 BREM %50,%4F,%50,%4E,%50,%4B,%50,%FD,%AF,%59,%4F,%49,%4E,%04,%E0,%4F BREM %16,%4E,%00,%69,%51,%04,%E1,%51,%FB,%03,%E6,%51,%C0,%D6,%E1,%05 BREM %59,%4F,%49,%4E,%24,%E0,%4F,%36,%4E,%00,%69,%51,%04,%E1,%51,%FB BREM %03,%E6,%51,%C0,%D6,%E1,%05,%59,%4F,%49,%4E,%24,%E0,%4F,%36,%4E BREM %00,%69,%51,%24,%E1,%51,%FB,%03,%E6,%51,%C0,%D6,%E1,%05,%59,%4F BREM %49,%4E,%04,%E0,%4F,%16,%4E,%00,%69,%51,%24,%E1,%51,%FB,%03,%E6 BREM %51,%C0,%D6,%E1,%05,%59,%4F,%49,%4E,%04,%E1,%4F,%16,%4E,%00,%69 BREM %51,%04,%E0,%51,%FB,%03,%E6,%51,%C0,%D6,%E1,%05,%59,%4F,%49,%4E BREM %24,%E1,%4F,%36,%4E,%00,%69,%51,%04,%E0,%51,%FB,%03,%E6,%51,%C0 BREM %D6,%E1,%05,%59,%4F,%49,%4E,%24,%E1,%4F,%36,%4E,%00,%69,%51,%24 BREM %E0,%51,%FB,%03,%E6,%51,%C0,%D6,%E1,%05,%59,%4F,%49,%4E,%04,%E1 BREM %4F,%16,%4E,%00,%69,%51,%24,%E0,%51,%FB,%03,%E6,%51,%C0,%D6,%E1 BREM %05,%AF,%D6,%17,%FD,%B0,%4E,%AF 10 REM ### KREISDEMO ### 15 REM !!! ZEILE 1 NICHT AENDERN!!! 20 PROC PTC[12] 25 LET V=10; REM RADIUS 30 LET X=160,Y=95; REM MITTE 35 LET Z=15; REM FARBE WEISS 40 CALL %E003; REM KREISROUTINE ZEILE 1! 45 LET V=V+3; REM ABSTAND 50 IF V<64 THEN GOTO 40 60 END
|
|