Sunteți pe pagina 1din 3

ASMDISK IDNT 1,0

INCLUDE MACROS.INC
RSTFD_ EQU *
CLR.L D0
MOVE.W 4(A7),D0
BRA.S INRSTFD
RSTFD EQU *
ENTRY RSTFD,RSTFD_
MOVEA.L 4(A7),A0
MOVE.L (A0),D0
INRSTFD EQU *
SAVREG
CMPI.B #0,D0
BNE.S RSTFDN0
JSR ARSTFD0(PC)
BRA.S RSTFDRET
RSTFDN0 CMPI.B #1,D0
BNE.S RSTFDN1
JSR ARSTFD1(PC)
BRA.S RSTFDRET
RSTFDN1 CMPI.B #2,D0
BNE.S RSTFDN2
JSR ARSTFD2(PC)
BRA.S RSTFDRET
RSTFDN2 CMPI.B #3,D0
BNE.S RSTFDRET
JSR ARSTFD3(PC)
RSTFDRET EQU *
RSTREG
FNRET1
*
RSTUNI EQU *
ENTRY RSTUNI
MOVEA.L 4(A7),A0
SAVREG
MOVE.L (A0),D5
JSR ARSTFD(PC)
JMP RSTFDRET(PC)
*
RSTDSK EQU *
ENTRY RSTDSK
SAVREG
JSR ARSTFD0(PC)
JSR ARSTFD1(PC)
JSR ARSTFD2(PC)
JSR ARSTFD3(PC)
JMP RSTFDXRET(PC)
*
RSTFD0 EQU *
ENTRY RSTFD0
SAVREG
JSR ARSTFD0(PC)
JMP RSTFDXRET(PC)
RSTFD1 EQU *
ENTRY RSTFD1
SAVREG
JSR ARSTFD1(PC)
JMP RSTFDXRET(PC)
RSTFD2 EQU *
ENTRY RSTFD2
SAVREG
JSR ARSTFD2(PC)
JMP RSTFDXRET(PC)
RSTFD3 EQU *
ENTRY RSTFD3
SAVREG
JSR ARSTFD3(PC)
RSTFDXRET EQU *
RSTREG
RTS
*
ARSTFD0 EQU *
MOVE.W #16,FUNPKT
MOVE.L 0,FUNPKT+2
* SYSIO OPEN
LEA DIB0,A6
MOVEQ #1,D5
MOVE.W #231,D5
TRAP #6
DC.W 1
NOP
NOP
MOVE.W D7,D0
SWAP D0
MOVE.W #16,FUNPKT
MOVE.L 0,FUNPKT+2
* SYSIO CLOSE
LEA FUNPKT(PC),A6
MOVE.W #231,D5
TRAP #6
DC.W 2
NOP
NOP
MOVE.W D7,D0
RTS
ARSTFD1 EQU *
MOVE.W #16,FUNPKT
MOVE.L 0,FUNPKT+2
* SYSIO OPEN
LEA DIB1,A6
MOVEQ #1,D5
MOVE.W #232,D5
TRAP #6
DC.W 1
NOP
NOP
MOVE.W D7,D0
SWAP D0
MOVE.W #16,FUNPKT
MOVE.L 0,FUNPKT+2
* SYSIO CLOSE
LEA FUNPKT(PC),A6
MOVE.W #232,D5
TRAP #6
DC.W 2
NOP
NOP
MOVE.W D7,D0
RTS
ARSTFD2 EQU *
MOVE.W #16,FUNPKT
MOVE.L 0,FUNPKT+2
* SYSIO OPEN
LEA DIB2,A6
MOVEQ #1,D5
MOVE.W #233,D5
TRAP #6
DC.W 1
NOP
NOP
NOP
MOVE.W D7,D0
SWAP D0
MOVE.W #16,FUNPKT
MOVE.L 0,FUNPKT+2
* SYSIO CLOSE
LEA FUNPKT(PC),A6
MOVE.W #233,D5
TRAP #6
DC.W 2
NOP
NOP
MOVE.W D7,D0
RTS
ARSTFD3 EQU *
MOVE.W #16,FUNPKT
MOVE.L 0,FUNPKT+2
* SYSIO OPEN
LEA DIB3,A6
MOVEQ #1,D5
MOVE.W #234,D5
TRAP #6
DC.W 1
NOP
NOP
MOVE.W D7,D0
SWAP D0
MOVE.W #16,FUNPKT
MOVE.L 0,FUNPKT+2
* SYSIO CLOSE
LEA FUNPKT(PC),A6
MOVE.W #234,D5
TRAP #6
DC.W 2
NOP
NOP
MOVE.W D7,D0
RTS
ARSTFD EQU *
ENTRY ARSTFD
MOVE.W #16,FUNPKT
MOVE.L 0,FUNPKT+2
LEA FUNPKT(PC),A6
TRAP #6
DC.W 6
NOP
NOP
MOVE.W D7,D0
RTS
DS.L 1
FUNPKT DC.W 16,0,0,0
DIB0 DC.B '#FD00 '
DC.B 1,0
DC.L 0,0
DC.W $C000
DC.L FUNPKT
DC.L 0,0
DIB1 DC.B '#FD01 '
DC.B 1,0
DC.L 0,0
DC.W $C000
DC.L FUNPKT
DC.L 0,0
DIB2 DC.B '#FD02 '
DC.B 1,0
DC.L 0,0
DC.W $C000
DC.L FUNPKT
DC.L 0,0
DIB3 DC.B '#FD03 '
DC.B 1,0
DC.L 0,0
DC.W $C000
DC.L FUNPKT
DC.L 0,0
BASE DS.L 2
Q1STORAGE
END

S-ar putea să vă placă și