mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-16 18:30:26 +00:00
Kernel 0.94
This commit is contained in:
parent
7fe7639385
commit
1969e7e8ba
23
.Docs/ASM.md
23
.Docs/ASM.md
@ -1,9 +1,14 @@
|
||||
# A2osX Macro Assembler (0.9.3)
|
||||
# A2osX Macro Assembler (0.94)
|
||||
|
||||
## Description
|
||||
|
||||
Multi-CPU macro assembler based on S-C MASM 3.0 dialect
|
||||
|
||||
## Difference with S-C MASM 3.0
|
||||
|
||||
Symbols are case sensitive
|
||||
no .AC support
|
||||
|
||||
## Directives
|
||||
|
||||
| Code | Description | Compatibility | Status | Syntax | Comment |
|
||||
@ -12,30 +17,30 @@ Multi-CPU macro assembler based on S-C MASM 3.0 dialect
|
||||
| .AS | Ascii String | S-C,A2osX | Working | `.AS dTEXTd` where d is any delimiter `.AS -"TEXT"`produce ascii code with b7=1 | |
|
||||
| .AT | Ascii string Terminated | S-C,A2osX | Working | (same as above) | |
|
||||
| .AZ | Ascii string Zero terminated (C String) | S-C,A2osX | Working | (same as above) | |
|
||||
| .BS | Block Storage | S-C,A2osX | Working | | |
|
||||
| .BS | Block Storage | S-C,A2osX | Working | .BS x[,b] | |
|
||||
| .DA | Data | S-C,A2osX | Working | | |
|
||||
| .DO | conditional start | S-C,A2osX | Working | | |
|
||||
| .DU,.DUMMY | begin DUmmy section | S-C,A2osX | Working | | |
|
||||
| .ED | End Dmmy section | S-C,A2osX | Working | | |
|
||||
| .ED | End Dummy section | S-C,A2osX | Working | | |
|
||||
| .DA | DAta | S-C,A2osX | Working | | |
|
||||
| .ELSE | conditional ELSE | S-C,A2osX | Working | | |
|
||||
| .EM | End Macro | S-C,A2osX | Working | | |
|
||||
| .EN | ENd of source code | S-C,A2osX | In Progress | | |
|
||||
| .EN | ENd of source code | S-C,A2osX | IGNORED | | |
|
||||
| .EP | End Phase | S-C,A2osX | Working | | |
|
||||
| .EQ | EQuate | S-C,A2osX | Working | | |
|
||||
| .FIN | conditional end| S-C,A2osX | Working | | |
|
||||
| .PH | PHase start| S-C,A2osX | Working | | |
|
||||
| .HS | Hex String | S-C,A2osX | Working | `HS FE1A78` delimiter allowed : `HS 00.11,22` | |
|
||||
| .IN,.INB,.INBx | | S-C,A2osX | Working | | |
|
||||
| .LI,.LIST | | S-C,A2osX | Working | | |
|
||||
| .MA | MAcro deffinition | S-C,A2osX | Working | | |
|
||||
| .IN,.INB,.INBx | | S-C,A2osX | Working | .INB MYFILE | |
|
||||
| .LI,.LIST | | S-C,A2osX | Working | .LIST ON/OFF CON/COFF MON/MOFF XON/XOFF | |
|
||||
| .MA | MAcro deffinition | S-C,A2osX | Working | .MA >MYMACRO | |
|
||||
| .OP | OPCode | S-C,A2osX | Working | `.OP cpu` where cpu is one of 6502,65C02,65R02,65816,Z80,SW16 | |
|
||||
| .OR | ORigin | S-C,A2osX | Working | | |
|
||||
| .OR | ORigin | S-C,A2osX | Working | .OR $2000 | |
|
||||
| .PG | PaGe control | S-C,A2osX | IGNORED | | |
|
||||
| .PH | PHase | S-C,A2osX | Working | | |
|
||||
| .SE | | S-C,A2osX | Working | | |
|
||||
| .TA | Target Address| S-C,A2osX | IGNORED | | |
|
||||
| .TF | Target File | S-C,A2osX | Working | | |
|
||||
| .TF | Target File | S-C,A2osX | Working | .TF TargetFile[,Txxx] | only ,TSYS supported |
|
||||
| .TI | TItle | S-C,A2osX | IGNORED | | |
|
||||
| .US | USer defined | S-C,A2osX | IGNORED | | |
|
||||
|
||||
|
Binary file not shown.
@ -2,15 +2,12 @@ NEW
|
||||
AUTO 3,1
|
||||
*---------------------------------------
|
||||
DIR.Reset lda #$80
|
||||
ldy #ASM.LI.ON
|
||||
sta (pData),y
|
||||
>STA.G ASM.LI.ON
|
||||
|
||||
lda #0
|
||||
ldy #ASM.LI.CON
|
||||
>STZ.G ASM.LI.CON
|
||||
iny #ASM.LI.MON
|
||||
sta (pData),y
|
||||
ldy #ASM.LI.MON
|
||||
sta (pData),y
|
||||
ldy #ASM.LI.XON
|
||||
iny #ASM.LI.XON
|
||||
sta (pData),y
|
||||
|
||||
>STA.G MAC.StkPtr
|
||||
@ -198,6 +195,7 @@ DIR.DU >LDA.G ASM.DU.ON
|
||||
|
||||
lda #$80
|
||||
sta (pData),y
|
||||
|
||||
ldy #ASM.PC.DU
|
||||
jsr DIR.SavePC
|
||||
clc
|
||||
@ -491,23 +489,37 @@ DIR.OP.SYNERR lda #E.SYNTAX.ERROR
|
||||
sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.OR jsr SRC.GetNextCharNB
|
||||
DIR.OR
|
||||
* >DEBUG
|
||||
jsr SRC.GetNextCharNB
|
||||
bcs DIR.OP.SYNERR
|
||||
|
||||
|
||||
jsr EXP.Eval
|
||||
bcs .9
|
||||
|
||||
ldy #ASM.PC
|
||||
ldx #0
|
||||
|
||||
ldy #ASM.PC
|
||||
|
||||
.1 lda SRC.ACC,x
|
||||
sta (pData),y
|
||||
inx
|
||||
iny
|
||||
inx
|
||||
cpx #4
|
||||
bne .1
|
||||
|
||||
clc
|
||||
|
||||
>LDA.G ASM.DU.ON
|
||||
bmi .8
|
||||
|
||||
>LDA.G ASM.PH.ON
|
||||
bmi .8
|
||||
|
||||
lda SRC.ACC
|
||||
>STA.G DST.AUXTYPE
|
||||
lda SRC.ACC+1
|
||||
iny
|
||||
sta (pData),y
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
DIR.PG clc
|
||||
@ -527,11 +539,13 @@ DIR.PH >LDA.G ASM.PH.ON
|
||||
sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.TA clc
|
||||
rts
|
||||
DIR.TA
|
||||
|
||||
DIR.TA.8 clc
|
||||
DIR.TA.RTS rts
|
||||
*---------------------------------------
|
||||
DIR.TF >LDA.G ASM.PASS If Pass#1, ignore
|
||||
beq .8
|
||||
beq DIR.TA.8
|
||||
|
||||
>LDA.G ArgDstFile
|
||||
beq .1
|
||||
@ -544,24 +558,73 @@ DIR.TF >LDA.G ASM.PASS If Pass#1, ignore
|
||||
|
||||
>LDYA ZPLinePtr
|
||||
|
||||
.2 >PUSHYA
|
||||
.2 >SYSCALL strdup
|
||||
bcs DIR.TA.RTS
|
||||
>STYA ZPPtr1
|
||||
stx ZPPtr2
|
||||
|
||||
lda #S.FI.T.BIN
|
||||
sta ZPPtr2+1
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.3 iny
|
||||
lda (ZPPtr1),y
|
||||
beq .7
|
||||
cmp #','
|
||||
bne .3
|
||||
|
||||
lda #0
|
||||
sta (ZPPtr1),y
|
||||
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
cmp #'T'
|
||||
beq .4
|
||||
|
||||
.30 lda #E.SYNTAX.ERROR
|
||||
bra .9
|
||||
|
||||
.4 ldx #0
|
||||
|
||||
.5 iny
|
||||
lda (ZPPtr1),y
|
||||
cmp DIR.SYS,x including \0
|
||||
bne .30
|
||||
inx
|
||||
cpx #4
|
||||
bne .5
|
||||
|
||||
lda #S.FI.T.SYS
|
||||
sta ZPPtr2+1
|
||||
|
||||
.7 >PUSHW ZPPtr1
|
||||
>PUSHWI 0 Allocate
|
||||
>SYSCALL RealPath
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
>STA.G DST.hFILENAME
|
||||
>SYSCALL getmemptr
|
||||
>PUSHYA
|
||||
>PUSHBI O.WRONLY+O.CREATE
|
||||
>PUSHBI S.FI.T.BIN
|
||||
>PUSHWZ
|
||||
>PUSHB ZPPtr2+1 Type
|
||||
>PUSHW.G DST.AUXTYPE
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
>STA.G DST.hREFNUM
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
clc
|
||||
|
||||
.9 php
|
||||
pha
|
||||
lda ZPPtr2
|
||||
>SYSCALL freemem
|
||||
pla
|
||||
plp
|
||||
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.TI clc
|
||||
rts
|
||||
@ -572,14 +635,17 @@ DIR.US clc
|
||||
DIR.SavePC phy
|
||||
plx
|
||||
ldy #ASM.PC+3
|
||||
|
||||
.1 lda (pData),y
|
||||
pha
|
||||
dey
|
||||
cpy #ASM.PC-1
|
||||
bne .1
|
||||
|
||||
phx
|
||||
ply
|
||||
ldx #3
|
||||
|
||||
.2 pla
|
||||
sta (pData),y
|
||||
iny
|
||||
@ -589,18 +655,22 @@ DIR.SavePC phy
|
||||
rts
|
||||
*---------------------------------------
|
||||
DIR.RestorePC ldx #3
|
||||
|
||||
.1 lda (pData),y
|
||||
pha
|
||||
iny
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
ldy #ASM.PC+3
|
||||
ldx #3
|
||||
|
||||
.2 pla
|
||||
sta (pData),y
|
||||
dey
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAN
|
||||
|
@ -144,21 +144,26 @@ EXP.Eval.Next stz SRC.ACC.F
|
||||
cmp #','
|
||||
bne EXP.EvalExitSYN
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.45 jsr SRC.GetNextChar
|
||||
bra EXP.EvalOperator
|
||||
bra EXP.EvalOperator
|
||||
|
||||
.42 jsr SRC.IsLetter Symbol ?
|
||||
bcs EXP.EvalExitSYN
|
||||
|
||||
jsr EXP.GetGlobal
|
||||
bcs EXP.EvalExitUND
|
||||
bra EXP.EvalOperator
|
||||
|
||||
EXP.EvalExitOK >LDA.G EXP.Modifier
|
||||
beq .8
|
||||
asl
|
||||
tax
|
||||
jmp (J.EXP.MOD-2,x)
|
||||
|
||||
.8 clc
|
||||
EXP.EvalExitRTS rts
|
||||
|
||||
EXP.EvalExitSYN lda #E.SYNTAX.ERROR
|
||||
sec
|
||||
rts
|
||||
|
@ -49,12 +49,12 @@ FIO.LOAD.CPU >STYA ZPPtr2
|
||||
|
||||
.3 stz ASM.CPU.FILE,x
|
||||
|
||||
>LDA.G ASM.T.hMem
|
||||
>LDA.G ASM.hCPUFILE
|
||||
beq .4
|
||||
|
||||
>SYSCALL FreeMem
|
||||
|
||||
>STZ.G ASM.T.hMem
|
||||
>STZ.G ASM.hCPUFILE
|
||||
|
||||
.4 >PUSHW L.MSG.T.FILE
|
||||
>PUSHW L.ASM.CPU.FILE
|
||||
@ -69,7 +69,7 @@ FIO.LOAD.CPU >STYA ZPPtr2
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
>STA.G ASM.T.hMem
|
||||
>STA.G ASM.hCPUFILE
|
||||
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPtr1
|
||||
@ -118,11 +118,12 @@ FIO.OpenFile >STYA ZPPtr1
|
||||
rts
|
||||
|
||||
.1 >PUSHW ZPPtr1
|
||||
>PUSHW L.FIO.Stat
|
||||
>PUSHW ZPTmpBuf
|
||||
>SYSCALL Stat
|
||||
bcs .99
|
||||
|
||||
lda FIO.Stat+S.STAT.P.TYPE
|
||||
ldy #S.STAT.P.TYPE
|
||||
lda (ZPTmpBuf),y
|
||||
cmp #S.FI.T.TXT
|
||||
bne .2
|
||||
|
||||
@ -137,7 +138,9 @@ FIO.OpenFile >STYA ZPPtr1
|
||||
.3 >PUSHW ZPPtr1
|
||||
txa
|
||||
>PUSHA
|
||||
>PUSHB FIO.Stat+S.STAT.P.TYPE
|
||||
ldy #S.STAT.P.TYPE
|
||||
lda (ZPTmpBuf),y
|
||||
>PUSHA
|
||||
>PUSHWZ
|
||||
>SYSCALL FOpen
|
||||
bcs .99
|
||||
@ -154,7 +157,10 @@ FIO.OpenFile >STYA ZPPtr1
|
||||
adc #SRC.hFILETYPES
|
||||
tay
|
||||
|
||||
lda FIO.Stat+S.STAT.P.TYPE
|
||||
phy
|
||||
ldy #S.STAT.P.TYPE
|
||||
lda (ZPTmpBuf),y
|
||||
ply
|
||||
sta (pData),y
|
||||
|
||||
>INC.G SRC.Depth
|
||||
|
@ -95,7 +95,7 @@ OUT.PrintLineErr
|
||||
inc
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
jsr OUT.Print
|
||||
jsr OUT.Print
|
||||
|
||||
jmp OUT.PrintCR
|
||||
|
||||
@ -231,6 +231,9 @@ OUT.EmitByte phy
|
||||
>LDA.G ASM.PASS
|
||||
beq .10
|
||||
|
||||
>LDA.G ASM.DU.ON
|
||||
bmi .10
|
||||
|
||||
pla
|
||||
pha
|
||||
>PUSHA
|
||||
@ -254,8 +257,10 @@ OUT.EmitByte phy
|
||||
jsr OUT.PrintCR
|
||||
|
||||
.1 jsr OUT.Reset
|
||||
|
||||
lda #0
|
||||
ldy #OUT.Buf
|
||||
|
||||
.2 inc
|
||||
sta (pData),y
|
||||
clc
|
||||
|
@ -941,14 +941,6 @@ SRC.DoCheck sec
|
||||
|
||||
.8 rts CS if TRUE
|
||||
*---------------------------------------
|
||||
*DEBUG.PSTR pha
|
||||
* >PUSHW L.MSG.PSTR
|
||||
* pla
|
||||
* >PUSHYA
|
||||
* >PUSHBI 2
|
||||
* >SYSCALL printf
|
||||
* rts
|
||||
*---------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/BIN/ASM.S.SRC
|
||||
LOAD USR/SRC/BIN/ASM.S
|
||||
|
@ -27,9 +27,6 @@ SYM.Init >SYSCALL SListNew
|
||||
>STA.G SYM.hGlobalBuf
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
SYM.Reset >STZ.G SYM.bInGlobal
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.Quit >LDA.G SYM.hGlobalBuf
|
||||
beq .1
|
||||
|
||||
|
@ -33,6 +33,9 @@ ZPMacroBuf .BS 2
|
||||
ZPMacroArgBuf .BS 2
|
||||
ZPMacroArgCnt .BS 1
|
||||
|
||||
DIR.Byte .BS 1
|
||||
|
||||
DIR.Word .BS 2
|
||||
ZPPtr1 .BS 2
|
||||
ZPPtr2 .BS 2
|
||||
|
||||
@ -127,7 +130,6 @@ L.MSG.LSYMBOL .DA MSG.LSYMBOL
|
||||
L.MSG.PSYMBOL .DA MSG.PSYMBOL
|
||||
L.MSG.SUMMARY .DA MSG.SUMMARY
|
||||
L.MSG.END .DA MSG.END
|
||||
L.MSG.PSTR .DA MSG.PSTR
|
||||
L.MSG.CRLF .DA MSG.CRLF
|
||||
L.MSG.WORD .DA MSG.WORD
|
||||
L.MSG.ACC .DA MSG.ACC
|
||||
@ -137,7 +139,6 @@ L.MSG.T.FILE .DA MSG.T.FILE
|
||||
L.SRC.AM.StrBuf .DA SRC.AM.StrBuf
|
||||
L.ASM.6502 .DA ASM.6502
|
||||
L.ASM.CPU.FILE .DA ASM.CPU.FILE
|
||||
L.FIO.Stat .DA FIO.Stat
|
||||
L.SRC.ACC.F .DA SRC.ACC.F
|
||||
L.SRC.ACC .DA SRC.ACC
|
||||
L.SRC.ARG .DA SRC.ARG
|
||||
@ -337,9 +338,10 @@ CS.RUN ldy #S.PS.hStdIn
|
||||
bcs .99
|
||||
|
||||
jsr DIR.Reset
|
||||
jsr SYM.Reset
|
||||
jsr MAC.Reset
|
||||
|
||||
>STZ.G SYM.bInGlobal
|
||||
|
||||
.10 >LDYA ZPLineBuf
|
||||
>STYA ZPLinePtr
|
||||
|
||||
@ -415,7 +417,7 @@ CS.QUIT jsr FIO.FileClose
|
||||
|
||||
jsr SYM.Quit
|
||||
|
||||
ldy #ASM.T.hMem
|
||||
ldy #ASM.hCPUFILE
|
||||
jsr .7
|
||||
|
||||
ldy #SRC.hFILENAME
|
||||
@ -501,6 +503,8 @@ SRC.MOD.RESERVED >PSTR "#/^<>"
|
||||
SRC.EXP.RESERVED >PSTR "^!|&<=>+-*/"
|
||||
SRC.AM.RESERVED >PSTR "[](),"
|
||||
*---------------------------------------
|
||||
DIR.SYS .AZ "SYS"
|
||||
*---------------------------------------
|
||||
ASM.6502 .AZ "6502"
|
||||
MSG.HELP .AS "A2osX-Macro Assembler (S-C MASM 3.0 Based)\r\n"
|
||||
.AS "Usage : ASM <src file> [type TXT ($04) or S-C/BAS ($FA)]\r\n"
|
||||
@ -526,15 +530,12 @@ MSG.LSYMBOL .AZ " .%d=%h%h%h%h"
|
||||
MSG.PSYMBOL .AZ " :%d(%d)=%h%h%h%h"
|
||||
MSG.SUMMARY .AZ "\r\nSymbol Table Size : %5D Bytes.\r\n"
|
||||
MSG.END .AZ "**** End Of Assembly."
|
||||
MSG.PSTR .AS "{%S}"
|
||||
MSG.CRLF .AZ "\r\n"
|
||||
MSG.WORD .AZ ">$%H"
|
||||
MSG.ACC .AZ "%b,%d,%h%h%h%h\r\n"
|
||||
*---------------------------------------
|
||||
ASM.CPU.FILE .BS 65
|
||||
|
||||
FIO.Stat .BS S.STAT
|
||||
|
||||
SRC.ACC.F .BS 1
|
||||
SRC.ACC.SIZE .BS 1
|
||||
SRC.ACC .BS 4
|
||||
@ -563,19 +564,16 @@ SRC.hFILETYPES .BS IN.MAXDEPTH
|
||||
SRC.LINENUM .BS 2
|
||||
SRC.AMID .BS 1
|
||||
|
||||
ASM.hCPUFILE .BS 1
|
||||
|
||||
DST.hFILENAME .BS 1
|
||||
DST.hREFNUM .BS 1
|
||||
DST.hFILETYPE .BS 1
|
||||
|
||||
DIR.Word .BS 2
|
||||
DIR.Byte .BS 1
|
||||
DST.AUXTYPE .BS 2
|
||||
|
||||
EXP.Modifier .BS 1
|
||||
EXP.Prefix .BS 1
|
||||
EXP.Operator .BS 1
|
||||
|
||||
ASM.T.hMem .BS 1
|
||||
|
||||
ASM.PASS .BS 1
|
||||
|
||||
ASM.DO.StackPtr .BS 1
|
||||
|
@ -203,10 +203,10 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.OPEN >PUSHWZ Aux type
|
||||
>PUSHBI 0 Type
|
||||
CS.RUN.OPEN >PUSHW ZPPtr1
|
||||
>PUSHBI O.RDONLY
|
||||
>LDYA ZPPtr1
|
||||
>PUSHBI 0 Type
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -48,7 +48,7 @@ CS.RUN >LDYA L.MemStat
|
||||
>SYSCALL GetMemStat
|
||||
|
||||
>LDYA L.MSG.Main
|
||||
>SYSCALL puts
|
||||
>SYSCALL PutS
|
||||
|
||||
lda MemStat+S.MSTAT.MF
|
||||
sec
|
||||
@ -61,7 +61,7 @@ CS.RUN >LDYA L.MemStat
|
||||
>SLEEP
|
||||
|
||||
>LDYA L.MSG.Aux
|
||||
>SYSCALL puts
|
||||
>SYSCALL PutS
|
||||
|
||||
lda MemStat+S.MSTAT.XF
|
||||
sec
|
||||
@ -74,7 +74,7 @@ CS.RUN >LDYA L.MemStat
|
||||
>SLEEP
|
||||
|
||||
>LDYA L.MSG.Kernel
|
||||
>SYSCALL puts
|
||||
>SYSCALL PutS
|
||||
|
||||
lda MemStat+S.MSTAT.DH
|
||||
sec
|
||||
@ -84,8 +84,8 @@ CS.RUN >LDYA L.MemStat
|
||||
sbc MemStat+S.MSTAT.DF+1
|
||||
ldx #S.MSTAT.DL
|
||||
jsr CS.RUN.PRINT
|
||||
>LDYA L.MSG.END
|
||||
>SYSCALL puts
|
||||
>LDYA L.MSG.End
|
||||
>SYSCALL PutS
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
@ -107,7 +107,7 @@ CS.RUN.PRINT pha
|
||||
pla
|
||||
>PUSHYA
|
||||
>PUSHBI 14
|
||||
>SYSCALL printf
|
||||
>SYSCALL PrintF
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
|
@ -132,8 +132,6 @@ CS.RUN.ETCINIT >LDYAI 256
|
||||
cmp #'#'
|
||||
beq .1
|
||||
|
||||
>LDYA BufPtr
|
||||
>SYSCALL puts
|
||||
>LDYA BufPtr
|
||||
jsr CS.RUN.EXEC.YA
|
||||
bra .1
|
||||
|
@ -1,8 +1,6 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
INITD .EQ 1
|
||||
*--------------------------------------
|
||||
Kernel.Init2 sei
|
||||
ldx #$FF
|
||||
txs
|
||||
@ -153,30 +151,12 @@ Kernel.Init3C >PUSHWI MSG.Init3
|
||||
|
||||
jsr PwdMgrInit
|
||||
|
||||
.DO INITD=0
|
||||
lda KBD
|
||||
bpl .7
|
||||
sta KBDSTROBE
|
||||
cmp #146 CTRL-R for ROOT mode
|
||||
bne .7
|
||||
|
||||
>PUSHWI MSG.CTRLR
|
||||
>PUSHBI 0
|
||||
>SYSCALL2 printf
|
||||
>PUSHWI BINSH
|
||||
bra .8
|
||||
|
||||
.7 >PUSHWI MSG.EtcInit
|
||||
>PUSHWI ETCINIT
|
||||
>PUSHBI 2
|
||||
>SYSCALL2 printf
|
||||
|
||||
>PUSHWI ETCINIT
|
||||
|
||||
.8 .ELSE
|
||||
>PUSHWI MSG.EXEC
|
||||
>PUSHWI SBININITD
|
||||
>PUSHBI 2
|
||||
>SYSCALL printf
|
||||
|
||||
>PUSHWI SBININITD
|
||||
|
||||
.FIN
|
||||
>PUSHBI 0 PS Flags
|
||||
>SYSCALL2 ExecL
|
||||
bcs Kernel.Init3.Err
|
||||
@ -1166,7 +1146,7 @@ MSG.TSK .AZ "Task Manager..."
|
||||
MSG.PWD .AZ "Password Manager..."
|
||||
MSG.CTRLR .AZ "Ctrl-R Pressed, entering ROOT mode..."
|
||||
MSG.PWDINIT .AZ "Loading ETC/PASSWD file..."
|
||||
MSG.ETCINIT .AZ "Executing %s..."
|
||||
MSG.EXEC .AZ "Executing %s..."
|
||||
MSG.StartupErr .AZ "Failed : [$%h]\r\n"
|
||||
MSG.Init3.OK .AZ "OK\r\nA2osX[Stage3]:Complete.\r\n"
|
||||
*--------------------------------------
|
||||
@ -1194,12 +1174,7 @@ I.ENV.ROOT .AZ "ROOT"
|
||||
I.ENV.PATH .AZ "PATH=${BOOT}sbin/:${BOOT}bin/"
|
||||
I.ENV.LIB .AZ "LIB=${BOOT}lib/"
|
||||
I.ENV.DRV .AZ "DRV=${BOOT}drv/"
|
||||
.DO INITD=0
|
||||
BINSH .AZ "${BOOT}bin/sh"
|
||||
ETCINIT .AZ "${ROOT}etc/init"
|
||||
.ELSE
|
||||
SBININITD .AZ "${ROOT}sbin/initd"
|
||||
.FIN
|
||||
ETCPASSWD .AZ "${ROOT}etc/passwd"
|
||||
*--------------------------------------
|
||||
PwdMgr.ROOT .DA #S.SESSION.P.ROOT
|
||||
|
Loading…
x
Reference in New Issue
Block a user