This is the ZX-COMPILER program I wrote pasted on top the ZX- COMPILER program making a circle in machine code with only adding, multiplying, dividing, and subtracting. No square root makes it sort of difficult.
This is my machine code program that the ZX-COMPILER Created along with a BASIC program calling the machine code.
Code: Select all
# REM Q : , > P ? (_6 ( - =
# = < = _= _ __7____
10 REM [HEX:\
36,00,0E,00,1A,00,12,00,\
35,00,0F,00,90,01,22,00,\
00,00,10,00,16,00,14,00,\
00,00,00,00,00,00,00,00,\
00,00,14,00,00,00,13,00,\
14,00,00,00,80,01,14,00,\
04,00,00,00,00,00,00,00,\
E1,7E,23,E5,FE,FF,C8,D7,\
18,F6,01,FF,FF,A7,ED,52,\
03,30,FA,C5,E1,C9,A6,AF,\
AC,FD,36,22,00,21,82,40,\
36,00,23,7D,FE,BA,20,F8,\
21,22,00,22,90,40,21,16,\
00,22,96,40,3E,9B,32,30,\
40,2A,90,40,4D,2A,96,40,\
45,CD,B2,0B,21,14,00,22,\
A4,40,2A,A4,40,22,A8,40,\
2A,A4,40,22,AA,40,21,00,\
00,22,98,40,2A,98,40,EB,\
21,01,00,19,22,98,40,2A,\
98,40,EB,2A,A4,40,A7,ED,\
52,C2,31,41,C3,6D,41,2A,\
96,40,EB,2A,98,40,19,22,\
8A,40,2A,96,40,EB,2A,98,\
40,EB,A7,ED,52,22,8C,40,\
3E,9B,32,30,40,2A,90,40,\
4D,2A,8A,40,45,CD,B2,0B,\
3E,9B,32,30,40,2A,90,40,\
4D,2A,8C,40,45,CD,B2,0B,\
C3,16,41,21,00,00,22,98,\
40,2A,98,40,EB,21,01,00,\
19,22,98,40,2A,98,40,EB,\
2A,A4,40,A7,ED,52,C2,8E,\
41,C3,CA,41,2A,90,40,EB,\
2A,98,40,19,22,8A,40,2A,\
90,40,EB,2A,98,40,EB,A7,\
ED,52,22,8C,40,3E,9B,32,\
30,40,2A,8A,40,4D,2A,96,\
40,45,CD,B2,0B,3E,9B,32,\
30,40,2A,8C,40,4D,2A,96,\
40,45,CD,B2,0B,C3,73,41,\
2A,A4,40,22,A8,40,2A,A8,\
40,22,B0,40,21,00,00,22,\
B2,40,2A,B2,40,EB,21,01,\
00,19,22,B2,40,2A,B2,40,\
EB,2A,A4,40,A7,ED,52,C2,\
F7,41,C3,A8,42,2A,A4,40,\
EB,2A,A4,40,CD,09,13,22,\
8E,40,2A,B2,40,EB,2A,B2,\
40,CD,09,13,22,94,40,2A,\
8E,40,EB,2A,94,40,EB,A7,\
ED,52,22,AE,40,2A,B0,40,\
22,A8,40,2A,AE,40,EB,2A,\
A8,40,EB,CD,C4,40,22,B0,\
40,2A,B0,40,EB,2A,90,40,\
19,22,82,40,2A,90,40,EB,\
2A,B0,40,EB,A7,ED,52,22,\
84,40,2A,B2,40,EB,2A,96,\
40,19,22,86,40,2A,96,40,\
EB,2A,B2,40,EB,A7,ED,52,\
22,88,40,3E,9B,32,30,40,\
2A,82,40,4D,2A,86,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,84,40,4D,2A,86,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,82,40,4D,2A,88,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,84,40,4D,2A,88,40,45,\
CD,B2,0B,C3,DC,41,2A,A4,\
40,22,B2,40,21,00,00,22,\
B0,40,2A,B0,40,EB,21,01,\
00,19,22,B0,40,2A,B0,40,\
EB,2A,A4,40,A7,ED,52,C2,\
CF,42,C3,80,43,2A,A4,40,\
EB,2A,A4,40,CD,09,13,22,\
9A,40,2A,B0,40,EB,2A,B0,\
40,CD,09,13,22,9C,40,2A,\
9A,40,EB,2A,9C,40,EB,A7,\
ED,52,22,A2,40,2A,B2,40,\
22,AA,40,2A,A2,40,EB,2A,\
AA,40,EB,CD,C4,40,22,B2,\
40,2A,B0,40,EB,2A,90,40,\
19,22,82,40,2A,90,40,EB,\
2A,B0,40,EB,A7,ED,52,22,\
84,40,2A,96,40,EB,2A,B2,\
40,EB,A7,ED,52,22,86,40,\
2A,B2,40,EB,2A,96,40,19,\
22,88,40,3E,9B,32,30,40,\
2A,84,40,4D,2A,86,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,82,40,4D,2A,86,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,84,40,4D,2A,88,40,45,\
CD,B2,0B,3E,9B,32,30,40,\
2A,82,40,4D,2A,88,40,45,\
CD,B2,0B,C3,B4,42,C9,45,\
A6,AF,AC ]
100 LET X=USR 16595
120 SLOW
130 FOR D=1 TO 100
140 NEXT D
145 CLS
150 GOTO 100