4 ms·
Erh. What? Here is my infamous 1976 Nokolisp-compiler at work: c:\ nokolisp (comp-debug t) (ncompile (macroexpand '(+ 1 2 a))) $36E8:$5CC8: MOV BX
by timonoko 1y ago
Erh. What?
Here is my infamous 1976 Nokolisp-compiler at work:
c:\ nokolisp
(comp-debug t)
(ncompile (macroexpand '(+ 1 2 a)))
$36E8:$5CC8: MOV BX,$02
$36E8:$5CCB: MOV AX,$01
$36E8:$5CCE: ADD AX,BX
$36E8:$5CD0: PUSH AX
$36E8:$5CD1: MOV AX,[$0190]
$36E8:$5CD4: CALL $0F1D ; CALL NUMVAL
$36E8:$5CD7: MOV BX,AX
$36E8:$5CD9: POP AX
$36E8:$5CDA: ADD AX,BX
$36E8:$5CDC: CALL $05C9 ; CALL MAKNUM
$36E8:$5CDF: JMP $1DA7
(subru: eval=$5CC8, compile=$3B6F)
- anta40 1y agohttps://github.com/timonoko/nokolisp https://github.com/timonoko/nokolisp Interesting work. Time to setup DOSBox + MASM + etc etc.... :D
- timonoko 1y agonoko.exe works at dosbox without any "etc etc". nokolisp.exe is just a kernel without editors and macroes.
- anta40 1y agofor building the interpreter from the source, of course. because... well why not? :D
- sph 1y agoHot damn, that's such a cool piece of engineering that's worth its own post. I reckon hand coding a Lisp in assembly was commonplace in the late 70s, but these days it's like seeing an artefact from a long-lost civilization, as we've mostly lost those kind of skills.