home *** CD-ROM | disk | FTP | other *** search
- GET %.SwiDefs
-
- GBLS version
- version SETS "0.02"
-
- ORG &8000
-
- ADRL r0,obeystring
- ADRL r1,obeybuffer
- MOV r2,#&80
- MOV r3,#0
- MOV r4,#0
- SWI OS_ReadVarVal
- STR r2,obeylen
-
- SWI OS_GetEnv
-
- cli_skip
- LDRB r2,[r0]
- CMP r2,#32
- BCC cli_args
- CMP r2,#'-'
- ADD r0,r0,#1
- BNE cli_skip
-
- cli_args
- MOV r1,r0
- STR r0,fsp_adr
-
- MOV r0,#5
- SWI OS_File
- STR r4,len
- MOV r4,r4,LSR #5
- CMP r4,#&400
- MOVCC r4,#&400
- STR r4,poll_len
-
- CMP r0,#1
- SWINE OS_Exit
-
- LDR r0,poll_len
- ADRL r1,task_name2
- MOV r2,#11
- SWI OS_ConvertHex8
-
- MOV r0,#200
- LDR r1,task_id
- ADR r2,task_name
- SWI Wimp_Initialise
- STR r1,handle
-
- MOV r0,#&40
- LDR r1,fsp_adr
- SWI OS_Find
- STR r0,chan
-
- SWI OS_GetEnv
- MOV r1,r2
- LDR r0,fsp_adr
- SWI OS_WriteEnv
-
- MOV r1,#&8000
- LDR r0,len
- STR r1,ptr_adr
- ADD r1,r1,r0
- TST r1,#3
- BICNE r1,r1,#3
- ADDNE r1,r1,#4
- MOV r4,r1
- ADRL r2,doit_code
- ADRL r3,end
-
- movecode
- LDRB r0,[r2],#1
- STRB r0,[r1],#1
- CMP r2,r3
- BNE movecode
- MOV pc,r4
-
-
- doit_code
- load_loop
- MOV r0,#0
- ADR r1,task_block
- SWI Wimp_Poll
- CMP r0,#0
- BNE load_loop
-
- MOV r0,#4
- LDR r1,chan
- LDR r2,ptr_adr
- LDR r3,poll_len
- SWI OS_GBPB
- STR r2,ptr_adr
- BCC load_loop
-
- MOV r0,#0
- SWI OS_Find
-
- LDR r0,handle
- LDR r1,task_id
- SWI Wimp_CloseDown
-
- ADRL r0,obeystring
- ADRL r1,obeybuffer
- LDR r2,obeylen
- MOV r3,#0
- MOV r4,#0
- SWI OS_SetVarVal
-
- MOV lk,#&8000
- MOV pc,lk
-
-
- handle & 0
- fsp_adr & 0
- len
- ptr_adr & 0
- poll_len & 0
- chan & 0
- obeybuffer % &80
- obeylen & 0
-
- obeystring = "Obey$Dir",0
- ALIGN
-
- task_id = "TASK"
- task_name = "FilePoll_"
- task_name2
- ALIGN
- task_block % &100
- end
-
- END
-