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.1767023923.txt.gz · Last modified: by fool-duplex
