.define .aar
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.aar:
movd 8(sp), r7
.define .cff
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.cff : cmpd 4(sp), 8(sp)
beq 1f
.define .cfi
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.cfi: cmpd 4, 8(sp)
beq 4f
.define .cif
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.cif : cmpd 4, 4(sp)
beq 4f
.define .cii
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
!r7 will save return addres
.cii:
.define .cms
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.cms: movd tos, r7 !return addres
addr 4(sp), r1
.define .cmu
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.cmu: movd tos, r7 !return addres
addr 4(sp), r1
.define .csa
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
!r0 contains index
!r1 contains pointer to csa descriptor
.define .csb
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
!r0 contains index
!r1 contains pointer to csb descriptor
.define .dup
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
!r2 will save return addres
.dup:
.define .dvu
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.dvu:
enter[r1,r2],0
.define endtext,enddata,endbss
.define _end, _etext, _edata
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
endtext:
_etext:
.align 4
- .data
+ .sect .data
enddata:
_edata:
.align 4
- .bss
+ .sect .bss
.align 4
endbss:
_end:
.define .exg
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.exg:
save [r2,r3]
.define .gto
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
!r0 contains descriptor addres
.gto:
.define .lar
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.lar:
movd tos, r2
.define .los
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.los:
movd tos, r7
.define .mon
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.mon:
cmpd 1,4(sp)
5: movd 0, 16(sp)
ret 12
-.data
+.sect .data
.add1: .asciz "monitor call "
.add2: .asciz " not implemented\n"
.align
.define .print
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.print:
save[r0,r1,r2]
.define .prnl
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.prnl: movb "\n", tos
jsr @.putchar
.define .prstr
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
!het adres van de af te drukken string staat op de stack.
.prstr:
.define .putchar
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.putchar:
save [r0, r1, r2, r3]
.define .rck
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.rck:
cmpd 0(4(sp)), 8(sp)
.define .rmu
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.rmu:
enter[r2],0
.define .sar
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.sar:
movd tos, r2
.define .sts
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.sts:
movd tos, r7
.define .trp
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
- .text
+ .sect .text
.trp:
save [r0, r1]
.define _stty
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _stty
-.text
+.sect .text
_stty:
enter[], 0
movd 12(fp),tos
.define _sync
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _sync
-.text
+.sect .text
_sync:
enter[], 0
movd 36,tos
.define _tell
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _tell
-.text
+.sect .text
_tell:
enter[], 0
movd 1,tos
.define _time
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _time
-.text
+.sect .text
_time:
enter[], 12
addr -12(fp),tos
.define _times
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _times
-.text
+.sect .text
_times:
enter[], 0
movd 8(fp),tos
.define _umask
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _umask
-.text
+.sect .text
_umask:
enter[], 0
movd 8(fp),tos
.define _umount
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _umount
-.text
+.sect .text
_umount:
enter[], 0
movd 8(fp),tos
.define _unlink
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _unlink
-.text
+.sect .text
_unlink:
enter[], 0
movd 8(fp),tos
.define _utime
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _utime
-.text
+.sect .text
_utime:
enter[], 0
movd 12(fp),tos
.define _wait
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _wait
-.text
+.sect .text
_wait:
enter[], 0
movd 7,tos
.define _write
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
.extern _write
-.text
+.sect .text
_write:
enter[], 0
save [r0,r1,r2,r3]