AppleIIAsm-Collection/disks/disk6_fileio/T.DOSCMD

78 lines
1.9 KiB
Plaintext
Raw Normal View History

*
*``````````````````````````````*
* DOSCMD : EXECUTE DOS COMMAND *
*- -*
* EXECUTES A DOS COMMAND THAT *
* IS PASSED VIA AN ASC THAT *
* FOLLOWS THE JSR TO THE *
* ROUTINE. *
*- -*
* CLOBBERS: *
* *
* FLAGS: ????---- REG: AXYM *
*- -*
* CYCLES: ??? *
* SIZE: *
*- -*
* USAGE: *
* *
* JSR DOSCMD *
* ASC "CATALOG" *
* HEX 8D00 *
*- -*
* ENTRY *
* *
* TOP OF STACK *
* *
* LOW BYTE OF RETURN ADDRESS *
* HI BYTE OF RETURN ADDRESS *
*- -*
* EXIT *
* *
* TOP OF STACK *
* *
* LOW BYTE OF RETURN ADDRESS *
* HI BYTE OF RETURN ADDRESS *
* *
* .Y = CLOBBERED *
* .X = UNCHANGED *
* .A = UNCHANGED *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
DOSCMD
*
** GET RETURN ADDRESS
*
PLA
STA RETADR
PLA
STA RETADR+1
*
LDA #$8D
JSR FCOUT
LDA #$84 ; CTRL-D
JSR FCOUT
*
** NOW SEND STRING TO COUT
*
LDY #$01 ; POINT TO NEXT INSTR
:LP
LDA (RETADR),Y
BEQ :DONE
JSR FCOUT
INY
BNE :LP
:DONE
CLC ; RESTORE INSTR POINTER
TYA
ADC RETADR
STA RETADR
LDA RETADR+1
ADC #$00
PHA
LDA RETADR
PHA
*
RTS
*