2021-08-02 23:40:31 +00:00
|
|
|
(local Ssc (require :ssc))
|
|
|
|
(import-macros {:sss ! : compile} :ssc.macros)
|
|
|
|
|
2021-08-09 01:58:49 +00:00
|
|
|
(local ssc (Ssc {:boot-org 0xc00}))
|
2021-08-02 23:40:31 +00:00
|
|
|
(compile ssc
|
2021-08-06 01:30:08 +00:00
|
|
|
(require :ssc.iigs.toolbox)
|
|
|
|
|
2021-08-09 01:58:49 +00:00
|
|
|
(asm pascalhex (db 5) hexbuf (bytes " "))
|
2021-08-10 04:33:54 +00:00
|
|
|
|
2021-08-06 01:30:08 +00:00
|
|
|
(fn printnum (num)
|
2021-08-09 18:43:24 +00:00
|
|
|
(long! (ref hexbuf) (HexIt num))
|
|
|
|
(WriteString (far-ref pascalhex)))
|
2021-08-06 01:30:08 +00:00
|
|
|
|
2021-08-02 23:40:31 +00:00
|
|
|
(fn add (lhs rhs) (+ lhs rhs))
|
2021-08-10 17:23:09 +00:00
|
|
|
|
|
|
|
(global word UserID)
|
2021-08-02 23:40:31 +00:00
|
|
|
(fn main ()
|
2021-08-06 01:30:08 +00:00
|
|
|
(TLStartUp)
|
2021-08-10 17:23:09 +00:00
|
|
|
(set! UserID (MMStartUp))
|
|
|
|
(IMStartUp)
|
|
|
|
(TextStartUp)
|
|
|
|
|
|
|
|
(let (x 1)
|
|
|
|
(printnum x)
|
|
|
|
(set! x (+ x 1))
|
|
|
|
(printnum x))
|
|
|
|
(set! (long-at (ref hexbuf)) 0x6b636548)
|
|
|
|
(WriteString (far-ref pascalhex))
|
|
|
|
(long! (ref hexbuf) 0x74747542)
|
|
|
|
(WriteString (far-ref pascalhex))
|
|
|
|
(let (buf (ref hexbuf)
|
|
|
|
str (far-ref pascalhex))
|
|
|
|
(long! buf 0x6b726f42)
|
|
|
|
(WriteString str)
|
|
|
|
(word! (+ buf 2) 0x706f)
|
|
|
|
(WriteString str))
|
|
|
|
(printnum (hiword (long-at (far-ref pascalhex))))
|
|
|
|
|
|
|
|
(TextShutDown)
|
|
|
|
(IMShutDown)
|
|
|
|
(MMShutDown UserID)
|
|
|
|
(TLShutDown)))
|
|
|
|
|
2021-08-02 23:40:31 +00:00
|
|
|
|
|
|
|
(ssc:assemble)
|