COMMON/common/appl.src

54 lines
654 B
Plaintext
Raw Normal View History

2018-08-07 02:14:36 +00:00
#include "rom.h"
#include "macros.h"
#include "globals.h"
2018-08-07 02:14:36 +00:00
* = $300 ; any address outside of page zero is okay because all code is relocatable
2018-08-07 02:14:36 +00:00
2019-04-30 21:21:49 +00:00
CODE(DEMO)
2019-04-30 21:21:49 +00:00
START
2018-08-07 02:14:36 +00:00
CMN
2018-09-18 00:35:19 +00:00
SET(R0, 9.4662)
SET(R1, SQRT2)
LDI(R7, R1)
2019-04-30 21:21:49 +00:00
MUL(R7, R7, R7)
2018-09-18 00:35:19 +00:00
PSH(R0)
BRS(FACTORIAL)
POP(R4)
SET(R5, E)
LDI(R6, R5)
SET(R1, ZERO)
INR(R1)
SVI(R1, R6)
LDI(R0, R1)
2018-08-07 02:14:36 +00:00
ESC
BRK
2019-04-30 21:21:49 +00:00
BEGIN(FACTORIAL)
2018-09-18 00:35:19 +00:00
POP(R1)
SET(R2, 1)
2018-08-07 02:14:36 +00:00
MOD(R3, R1, R2)
SUB(R1, R1, R3)
_1 TST(R1)
BRZ(_2)
MUL(R2, R2, R1)
DCR(R1)
2018-08-07 02:14:36 +00:00
BRA(_1)
2018-09-18 00:35:19 +00:00
_2 PSH(R2)
RTN
2018-08-07 02:14:36 +00:00
END(FACTORIAL)
2018-08-14 01:23:05 +00:00
END(DEMO)
2018-09-11 23:26:08 +00:00
DATA(_)
; preset constants
DEFINE(PI, 3.14159)
DEFINE(E, 2.71828)
DEFINE(SQRT2, 1.41421)
; working space
RESERVE(2)
END(_)