1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2026-03-14 16:16:40 +00:00
Files
PLASMA/src/samplesrc/examples/ex.15.pla
2018-02-20 17:27:44 -08:00

31 lines
754 B
Plaintext

//
// THIS EXAMPLE SHOWS HOW TO CALL
// MACHINE CODE INSIDE YOUR PLASMA
// CODE. THIS MACHINE CODE IS EMBEDDED
// INSIDE THE DATA AND MUST BE POSITION
// INDEPENDENT. FUNCTIONS ARE EXPECTED
// TO RETURN A VALUE ON THE PLASMA
// EVALUATION STACK, INDEXED BY THE
// X-REGISTER. IT MUST BE CONSISTENT:
// INX FOR EVERY ARGUMENT, DEX FOR THE
// RETURN VALUE. THE ACTUAL VALUES ARE
// LOCATED IN ZERO PAGE:
//
// $C0,X = EVAL STACK LO BYTE
// $D0,X = EVAL STACK HI BYTE
//
// IF THE RETURN VALUE IS TO BE IGNORED,
// YOU CAN SKIP THE ACTUAL SETTING OF THE
// EVAL STACK AND JUST UPDATE THE X-REG.
//
BYTE CLICK = $AD, $30, $C0 // LDA $C030
BYTE = $CA // DEX
BYTE = $60 // RTS
BYTE I
FOR I=0 TO 200
(@CLICK)()
NEXT
DONE