As IRAF is a 40-year old package, there was already some assembler that
was used ~35 years ago [2]:
.text
.globl _zsvjmp_
JMPBUF = 4
STATUS = 8
_zsvjmp_: |# CALL ZSVJMP (JMPBUF, STATUS)
movl sp@(JMPBUF),a0 |# set A0 to point to jmp_buf
movl sp@(STATUS),a1 |# A1 = status variable
movl a1,a0@ |# JB[0] = addr of status variable
clrl a1@ |# return zero status
addql #4,sp@(JMPBUF) |# skip first cell of jmp_buf
jmp _setjmp |# let setjmp do the rest.
However, just including this does not work because assembler syntax
changed [3].
I created a small repository [4] that contains the assembler I
collected so far as well as two test programs.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 491 |
Nodes: | 16 (2 / 14) |
Uptime: | 84:47:10 |
Calls: | 9,679 |
Files: | 13,722 |
Messages: | 6,173,507 |