home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Kyūkyoku!! X68000 Emulator
/
X68000Book.dat
/
mac
/
OLS
/
X68000
/
Ko-Window
/
kow142s.lzh
/
wsrv
/
execasm.s
< prev
next >
Wrap
Text File
|
1991-12-23
|
3KB
|
191 lines
*:vi:se ts=8 sw=8:
* modified 1991 8/9 żè}î┤öÄöV
*
GETPUT macro reg
moveq.l #$7c,d0 * 4
add.l $1c54.w,d0 * 18
sub.l $1c50.w,d0 * 18
lsr.w #5,d0 * 16
and.w #$fffc,d0 * 8
lea _PutCVtable(pc),reg
move.l (reg,d0.w),reg
endm
xGETPUT macro reg
move.l _PutCVtable(pc),reg
endm
.xdef _PutCVtable
_PutCVtable:
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.dc.l _DummyPut
.xdef _xConCtrlEntry
_xConCtrlEntry:
cmp.w #1,(a6)
beq _xprint
rts
.xdef _ConCtrlEntry
_ConCtrlEntry:
cmp.w #1,(a6)
beq _print
_DummyPut:
rts
.xdef _xPutEntry
_xPutEntry:
cmp.b #1,_FCB
bne xputentjump
xGETPUT a0
bra xputskipjump
.xdef _PutEntry
_PutEntry:
cmp.b #1,_FCB
beq PutSkip
xputentjump:
move.w #1,-(sp)
move.w (a6),-(sp)
dc.w $FF1D
addq.l #4,sp
rts
PutSkip:
GETPUT a0
xputskipjump:
move.w (a6),-(sp)
clr.w -(sp)
jsr (a0)
addq.l #4,sp
rts
_xprint:
addq.l #2,a6
.xdef _xPrintEntry
_xPrintEntry:
cmp.b #1,_FCB
bne xprintentjump
xGETPUT a5
bra xprintskipjump
_print:
addq.l #2,a6
.xdef _PrintEntry
_PrintEntry:
cmp.b #1,_FCB
beq PrintSkip
xprintentjump:
move.w #1,-(sp)
move.l (a6),-(sp)
dc.w $FF1E
addq.l #6,sp
rts
PrintSkip:
GETPUT a5
xprintskipjump:
move.l (a6),a4
subq.l #4,sp
bra printloopchk
printloop:
move.l d0,(sp)
jsr (a5)
printloopchk:
moveq.l #0,d0
move.b (a4)+,d0
bne printloop
addq.l #4,sp
rts
.xdef _xIOCSPutEntry
_xIOCSPutEntry:
movem.l d1-d2/a0-a2,-(sp)
xGETPUT a0
bra xiocsputjump
.xdef _IOCSPutEntry
_IOCSPutEntry:
movem.l d1-d2/a0-a2,-(sp)
GETPUT a0
xiocsputjump:
move.l d1,-(sp)
jsr (a0)
addq.l #4,sp
movem.l (sp)+,d1-d2/a0-a2
rts
.xdef _xIOCSPrtEntry
_xIOCSPrtEntry:
movem.l d1-d2/a0/a2/a4-a5,-(sp)
xGETPUT a5
bra xiocsprtjump
.xdef _IOCSPrtEntry
_IOCSPrtEntry:
movem.l d1-d2/a0/a2/a4-a5,-(sp)
GETPUT a5
xiocsprtjump:
move.l a1,a4
subq.l #4,sp
bra iocsloopchk
iocsputloop:
move.l d1,(sp)
jsr (a5)
iocsloopchk:
moveq.l #0,d1
move.b (a4)+,d1
bne iocsputloop
addq.l #4,sp
move.l a4,a1
movem.l (sp)+,d1-d2/a0/a2/a4-a5
rts
.xdef _GETFCB
_GETFCB:
move.w 4+2(sp),d0
move.w d0,-(sp)
dc.w $FF7C
addq.l #2,sp
rts
.xdef _threadflagcall
.xref _threadflag
.xref _old_open_pr
_threadflagcall:
move.w #$1,_threadflag
move.l _old_open_pr,-(sp)
rts