RosettaCodeData/Task/Create-an-object-at-a-given-address/Applesoft-BASIC/create-an-object-at-a-given-address.basic
2023-07-01 13:44:08 -04:00

30 lines
981 B
Text

0 DEF FN P(A) = PEEK (A) + PEEK (A + 1) * 256
100 :
110 REM CREATE AN INTEGER OBJECT
120 :
130 I$ = CHR$ (42)
140 POKE 236, PEEK (131)
150 POKE 237, PEEK (132)
160 PRINT "HERE IS AN INTEGER : " ASC (I$)
200 :
210 REM PRINT THE MACHINE ADDRESS OF THE OBJECT
220 :
230 PRINT "ITS ADDRESS IS : " FN P( FN P(236) + 1)
300 :
310 REM TAKE THE ADDRESS OF THE OBJECT AND CREATE ANOTHER INTEGER OBJECT AT THIS ADDRESS
320 :
330 O$ = CHR$ (0)
340 POKE 250, PEEK (131)
350 POKE 251, PEEK (132)
360 POKE FN P(250) + 1, PEEK ( FN P(236) + 1)
370 POKE FN P(250) + 2, PEEK ( FN P(236) + 2)
400 :
410 REM PRINT THE VALUE OF THIS OBJECT TO VERIFY THAT IT IS SAME AS ONE OF THE ORIGIN
420 :
430 PRINT "COMPARE OTHER INTEGER : " ASC (O$)
500 :
510 REM CHANGE THE VALUE OF THE ORIGIN AND VERIFY IT AGAIN
520 :
530 POKE FN P( FN P(236) + 1),69
540 PRINT "NEW INTEGER VALUE : " ASC (I$)
550 PRINT "COMPARE OTHER INTEGER : " ASC (O$)