cmdp4.asm
This is an old revision of the document!
Retourner à la liste des fichiers
* NRDOS.MO5 version 3.5
* CMDP4.ASM (Commandes internes, quatrième partie)
************************************************************************************************************
* CD
* Exécute la commande CD.
************************************************************************************************************
CDBFSZ EQU 64 ; Taille du buffer pour récupérer le répertoire courant
CD SET *
CLR CSGDST ; Central
CLR CSGNPG ; Page 0
LDB #SYSFIC
STB CSGNTR
LDB CDISK
STB CSGNDK
LDX CLPTR
LDA CLTOGO
JSR SKPSPC
BEQ CDGO01
CMPA #2 ; Longueur 2 ?
BNE CDPATH
LDB 1,X
CMPB #COLON
BNE CDPATH
LDB ,X
SUBB #AROB ; Calcule le numéro de disque
STB CSGNDK ; Change le disque courant
CDGO01 LDX #CDTBUF
STX CSGNAD
LDX #CDBFSZ
STX CSGNSZ
LDA #GETDIR
STA CSGNTA
JSR XCNSGN ; Récupère le répertoire courant sur le nouveau disque
BNE CDRTS
LDB CSGNDK ; Affiche le nouveau chemin
ADDB #AROB
JSR PCHAR
LDB #COLON
JSR PCHAR
LDX #CDTBUF
JSR DSPSTR
BRA CDRTS
CDPATH CLR A,X
CMPA #2
BCS CDGO02
LDB 1,X
CMPB #COLON
BNE CDGO02
LDB ,X
SUBB #AROB ; Calcule le numéro de disque
STB CSGNDK
DECA
DECA
LEAX 2,X
CDGO02 EXG A,B
INCB
CLRA
STD CSGNSZ
STX CSGNAD
LDA #SETDIR
STA CSGNTA
JSR XCNSGN
CDRTS RTS
CDTBUF RMB CDBFSZ
************************************************************************************************************
* UNKRT3
* Routine inutilisée et de fonction inconnue. Une fois entré dedans, on ne peut pas en sortir.
* Elle permet un dump hexadécimal des terminateurs de ligne et un déplacement au clavier.
************************************************************************************************************
UNKRT3 SET *
jsr GETKEY
cmpb #CNTA
beq UK3LB1
cmpb #INS
bne UK3LB2
ldb COLN
pshs b
ldb RANG
pshs b
ldb #US ; Positionnement du curseur
jsr PCHAR
puls b
orab #$40
jsr PCHAR
ldb #$68
jsr PCHAR
UK3LP1 lda #$FF
sta COPCHR
ldb #RIGHT
jsr PCHAR
ldb #LEFT
jsr PCHAR
ldb #LEFT
jsr PCHAR
ldb COLN
cmpb ,s
bcc UK3LP1
puls b
ldb #RIGHT
jsr PCHAR
ldb #SPACE
jsr PCHAR
bra UNKRT3
UK3LB2 cmpb #EFF
bne UK3LB3
lda #$FF
sta COPCHR
ldb #LEFT
jsr PCHAR
clr COPCHR
bra UNKRT3
UK3LB3 jsr PCHAR
bra UNKRT3
UK3LB1 ldx #TERMIN
lda #25 ; 25 octets
jmp HEXLIN ; Affiche les terminateurs de ligne
cmdp4.asm.1767011409.txt.gz · Last modified: by fool-duplex
