ack/plat/em/libsys/_wait.e
David Given 7eaa235fd1 Bodge the ancient em monitor library into building as a libsys for the em22
plat. It's completely untested, but it builds and makes e.out executables.
2018-06-13 21:44:25 +09:00

34 lines
401 B
Plaintext

#
mes 2,EM_WSIZE,EM_PSIZE
#if EM_WSIZE<4
#define STATUS_SIZE 2
#else
#define STATUS_SIZE EM_WSIZE
#endif
exp $_wait
pro $_wait,0
loc 7
mon
zne *1
lal 0
loi EM_PSIZE
zer EM_PSIZE
cms EM_PSIZE
zeq *2
#if EM_WSIZE==1
lal 0
loi EM_PSIZE
sti 2 ; 2 bytes, not one int!
#else
sil 0
#endif
ret EM_WSIZE
2
asp STATUS_SIZE
ret EM_WSIZE
1
ste errno
loc -1
ret EM_WSIZE
end