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