mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +00:00
Kernel 0.93++
This commit is contained in:
parent
7262db1455
commit
c2f7f82d67
@ -125,7 +125,7 @@ Create a hDEV
|
||||
|
||||
## ASM
|
||||
**In:**
|
||||
`>PUSHW string`
|
||||
`>PUSHW str`
|
||||
`>PUSHW expanded`
|
||||
`>SYSCALL expand`
|
||||
|
||||
@ -305,6 +305,58 @@ Return float rounded into a long
|
||||
## RETURN VALUE
|
||||
Y,A = ...
|
||||
|
||||
## MD5
|
||||
Return MD5 Hash for input String
|
||||
|
||||
# C
|
||||
`void md5 (const char* str, char* digest);`
|
||||
|
||||
# ASM
|
||||
`>PUSHW str`
|
||||
`>PUSHW digest`
|
||||
`>SYSCALL md5`
|
||||
|
||||
## RETURN VALUE
|
||||
CC
|
||||
|
||||
## MD5Init
|
||||
Initialize a MD5 computation
|
||||
|
||||
# C
|
||||
`hMD5 md5init ();`
|
||||
|
||||
# ASM
|
||||
`>SYSCALL MD5Init`
|
||||
|
||||
## RETURN VALUE
|
||||
A = hMem To S.MD5
|
||||
|
||||
## MD5Update
|
||||
Add Data to MD5 computation
|
||||
|
||||
# C
|
||||
`void md5update (hMD5 md5, char* data, int len);`
|
||||
|
||||
# ASM
|
||||
`>PUSHB md5`
|
||||
`>PUSHW data`
|
||||
`>PUSHW len`
|
||||
`>SYSCALL MD5Update`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
## MD5Finalize
|
||||
|
||||
# C
|
||||
`void md5finalize (hMD5 md5, char* digest);`
|
||||
|
||||
# ASM
|
||||
`>PUSHB md5`
|
||||
`>PUSHW digest`
|
||||
`>SYSCALL MD5Finalize`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# GetMem0
|
||||
Y,A = Size Requested
|
||||
|
||||
@ -1310,7 +1362,6 @@ Convert S.TIME struct to CSTR
|
||||
## ASM
|
||||
`>PUSHW ptr`
|
||||
`>PUSHW format`
|
||||
`>PUSHW timeptr`
|
||||
+ %a : Abbreviated weekday name : Thu
|
||||
+ %A : Full weekday name : Thursday
|
||||
+ %b : Abbreviated month name : Aug
|
||||
@ -1326,6 +1377,7 @@ Convert S.TIME struct to CSTR
|
||||
+ %y : Year, last two digits (00-99)
|
||||
+ %Y : Year four digits 2001
|
||||
|
||||
`>PUSHW timeptr`
|
||||
`>SYSCALL strftime`
|
||||
|
||||
## RETURN VALUE
|
||||
|
Binary file not shown.
@ -283,10 +283,10 @@ SYS.UnsetEnv .EQ $BE
|
||||
* .EQ $C4
|
||||
* .EQ $C6
|
||||
|
||||
* .EQ $C8
|
||||
* .EQ $CA
|
||||
* .EQ $CC
|
||||
* .EQ $CE
|
||||
SYS.MD5 .EQ $C8
|
||||
SYS.MD5Init .EQ $CA
|
||||
SYS.MD5Update .EQ $CC
|
||||
SYS.MD5Finalize .EQ $CE
|
||||
|
||||
SYS.GetPWUID .EQ $D0
|
||||
SYS.GetPWName .EQ $D2
|
||||
|
@ -188,6 +188,17 @@ S.DCB.TTY.OUTBUFFER.MAX .EQ 64
|
||||
*
|
||||
S.DCB.TTY .EQ 64
|
||||
*--------------------------------------
|
||||
S.MD5.ABCD0 .EQ 0
|
||||
S.MD5.A0 .EQ 0
|
||||
S.MD5.B0 .EQ 4
|
||||
S.MD5.C0 .EQ 8
|
||||
S.MD5.D0 .EQ 12
|
||||
S.MD5.BITCOUNT .EQ 16
|
||||
S.MD5.EXTRABIT .EQ 24
|
||||
S.MD5.FINALIZED .EQ 25
|
||||
*
|
||||
S.MD5 .EQ 26
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.DEF
|
||||
LOAD USR/SRC/SYS/KERNEL.S
|
||||
|
@ -6,7 +6,7 @@ NEW
|
||||
* `char *expand(const char *str, char *expanded);`
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* `>PUSHW string`
|
||||
* `>PUSHW str`
|
||||
* `>PUSHW expanded`
|
||||
* `>SYSCALL expand`
|
||||
* ## RETURN VALUE
|
||||
|
@ -119,10 +119,10 @@ K.SYSCALL .DA 0 $00
|
||||
.DA 0
|
||||
.DA 0
|
||||
.DA 0
|
||||
.DA 0
|
||||
.DA 0
|
||||
.DA 0
|
||||
.DA 0
|
||||
.DA K.MD5
|
||||
.DA K.MD5Init
|
||||
.DA K.MD5Update
|
||||
.DA K.MD5Finalize
|
||||
|
||||
.DA K.GetPWUID $D0
|
||||
.DA K.GetPWName
|
||||
@ -369,13 +369,13 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$C0 $C8 : MD5X
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$C0
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$C0
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$C0
|
||||
.DA #$80
|
||||
|
||||
.DA #$C0 $D0 : PWDX
|
||||
|
530
SYS/KERNEL.S.MD5X.txt
Normal file
530
SYS/KERNEL.S.MD5X.txt
Normal file
@ -0,0 +1,530 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPLIB
|
||||
ZS.START
|
||||
ZPCtxPtr .BS 2
|
||||
ZPDataPtr .BS 2
|
||||
ZPHashPtr .BS 2
|
||||
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* DWORD Macros : Do NOT disturb carry with cpx, cpy...
|
||||
*--------------------------------------
|
||||
.MA ADC32
|
||||
ldx #3
|
||||
ldy #0
|
||||
clc
|
||||
:1 lda ]1,y
|
||||
adc ]2,y
|
||||
sta ]3,y
|
||||
iny
|
||||
dex
|
||||
bpl :1
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA AND32
|
||||
ldx #3
|
||||
:1 lda ]1,x
|
||||
and ]2,x
|
||||
sta ]3,x
|
||||
dex
|
||||
bpl :1
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA ORA32
|
||||
ldx #3
|
||||
:1 lda ]1,x
|
||||
ora ]2,x
|
||||
sta ]3,x
|
||||
dex
|
||||
bpl :1
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA EOR32
|
||||
ldx #3
|
||||
:1 lda ]1,x
|
||||
eor ]2,x
|
||||
sta ]3,x
|
||||
dex
|
||||
bpl :1
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA NOT32
|
||||
ldx #3
|
||||
:1 lda ]1,x
|
||||
eor #$FF
|
||||
sta ]2,x
|
||||
dex
|
||||
bpl :1
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA MOV32
|
||||
ldx #3
|
||||
:1 lda ]1,x
|
||||
sta ]2,x
|
||||
dex
|
||||
bpl :1
|
||||
.EM
|
||||
*--------------------------------------
|
||||
.MA ROL32x
|
||||
:2 lda ]1+3
|
||||
rol
|
||||
rol ]1
|
||||
rol ]1+1
|
||||
rol ]1+2
|
||||
rol ]1+3
|
||||
dex
|
||||
bne :2
|
||||
.EM
|
||||
*/--------------------------------------
|
||||
* ## MD5
|
||||
* Return MD5 Hash for input String
|
||||
* # C
|
||||
* `void md5 (const char* str, char* digest);`
|
||||
* # ASM
|
||||
* `>PUSHW str`
|
||||
* `>PUSHW digest`
|
||||
* `>SYSCALL md5`
|
||||
* ## RETURN VALUE
|
||||
* CC
|
||||
*\--------------------------------------
|
||||
K.MD5 >PULLW ZPHashPtr
|
||||
>PULLW ZPDataPtr
|
||||
|
||||
>LDYA ZPDataPtr
|
||||
>SYSCALL2 strlen
|
||||
>STYA ZPDataLen
|
||||
.1 jsr K.MD5Init
|
||||
bcs .9
|
||||
pha save MD5 Context hMem
|
||||
|
||||
jsr MD5Update.I
|
||||
jsr MD5Finalize.I
|
||||
pla
|
||||
>SYSCALL2 FreeMem Free MD5 Context
|
||||
clc
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* ## MD5Init
|
||||
* Initialize a MD5 computation
|
||||
* # C
|
||||
* `hMD5 md5init ();`
|
||||
* # ASM
|
||||
* `>SYSCALL MD5Init`
|
||||
* ## RETURN VALUE
|
||||
* A = hMem To S.MD5
|
||||
*\--------------------------------------
|
||||
K.MD5Init >LDYAI S.MD5
|
||||
>SYSCALL2 getmem
|
||||
bcs .9
|
||||
|
||||
>STYA ZPCtxPtr
|
||||
ldy #0
|
||||
|
||||
.1 lda MD5.ABCDINIT,y
|
||||
sta (ZPCtxPtr),y
|
||||
iny
|
||||
cpy #S.MD5.BITCOUNT
|
||||
bne .1
|
||||
|
||||
lda #0
|
||||
|
||||
.2 sta (ZPCtxPtr),y
|
||||
iny
|
||||
cpy #S.MD5 Includes S.MD5.FINALIZED Flag
|
||||
bne .2
|
||||
|
||||
txa
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* ## MD5Update
|
||||
* Add Data to MD5 computation
|
||||
* # C
|
||||
* `void md5update (hMD5 md5, char* data, int len);`
|
||||
* # ASM
|
||||
* `>PUSHB md5`
|
||||
* `>PUSHW data`
|
||||
* `>PUSHW len`
|
||||
* `>SYSCALL MD5Update`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.MD5Update >PULLW ZPDataLen get LEN
|
||||
>PULLW ZPDataPtr get DATA
|
||||
>PULLA
|
||||
>SYSCALL2 GetMemPtr get MD5 Context
|
||||
>STYA ZPCtxPtr
|
||||
|
||||
MD5Update.I ldy #S.MD5.FINALIZED
|
||||
lda (ZPCtxPtr),y
|
||||
beq .1
|
||||
sec
|
||||
rts
|
||||
.1 lda ZPDataLen+1 More than 256 Bytes remaining to hash ?
|
||||
bne .3 yes
|
||||
lda ZPDataLen
|
||||
bne .2 Len = O ?
|
||||
clc All data processed
|
||||
rts
|
||||
.2 cmp #64 More than 64 Bytes remaining to hash ?
|
||||
bcc .50 yes
|
||||
.3 lda #64
|
||||
.50 sta ZPChunkLen Save Chunk Len
|
||||
jsr MD5UpdateBitCount
|
||||
ldy #0
|
||||
.51 lda (ZPDataPtr),y Load Buffer with data
|
||||
sta MD5.BUFFER64,y
|
||||
iny
|
||||
cpy ZPChunkLen
|
||||
bne .51
|
||||
cpy #64 Full 64 Bytes DATA ?
|
||||
beq .58
|
||||
* Append "$80" & Padding & original size
|
||||
|
||||
lda #$80 no, Append $80
|
||||
sta MD5.BUFFER64,y
|
||||
lda #0
|
||||
.52 iny Pad with 0 to 64
|
||||
cpy #64
|
||||
beq .53
|
||||
sta MD5.BUFFER64,y
|
||||
bra .52
|
||||
.53 ldy #S.MD5.EXTRABIT Mark MD5 Context as Appended
|
||||
lda #$80
|
||||
sta (ZPCtxPtr),y
|
||||
lda ZPChunkLen
|
||||
cmp #56 Enough room for BITCOUNT ?
|
||||
bcs .58 no
|
||||
jsr MD5AppendBitCount
|
||||
.58 jsr MD5Transform
|
||||
jsr MD5UpdateABCD0
|
||||
.8 lda ZPDataLen Substract Bytes processed from LEN
|
||||
sec
|
||||
sbc ZPChunkLen get back chunk Len
|
||||
sta ZPDataLen
|
||||
bcs .81
|
||||
dec ZPDataLen+1
|
||||
.81 lda ZPDataPtr Add Bytes processed to DATA
|
||||
clc
|
||||
adc ZPChunkLen
|
||||
sta ZPDataPtr
|
||||
bcc .1
|
||||
inc ZPDataPtr+1
|
||||
bra .1
|
||||
*/--------------------------------------
|
||||
* ## MD5Finalize
|
||||
* # C
|
||||
* `void md5finalize (hMD5 md5, char* digest);`
|
||||
* # ASM
|
||||
* `>PUSHB md5`
|
||||
* `>PUSHW digest`
|
||||
* `>SYSCALL MD5Finalize`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.MD5Finalize pha
|
||||
>PULLW ZPHashPtr
|
||||
pla
|
||||
pha
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPCtxPtr get MD5 Context
|
||||
jsr MD5Finalize.I
|
||||
|
||||
pla
|
||||
>SYSCALL2 FreeMem
|
||||
rts
|
||||
|
||||
MD5Finalize.I ldy #S.MD5.FINALIZED
|
||||
|
||||
lda (ZPCtxPtr),y
|
||||
bne .11
|
||||
jsr MD5ExtraChunk
|
||||
.11 ldy #S.MD5.ABCD0
|
||||
|
||||
.1 lda (ZPCtxPtr),y
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
tax
|
||||
lda MD5.DIGITS,x
|
||||
sta (ZPHashPtr)
|
||||
inc ZPHashPtr
|
||||
bne .2
|
||||
inc ZPHashPtr+1
|
||||
.2 lda (ZPCtxPtr),y
|
||||
and #$0F
|
||||
tax
|
||||
lda MD5.DIGITS,x
|
||||
sta (ZPHashPtr)
|
||||
inc ZPHashPtr
|
||||
bne .3
|
||||
inc ZPHashPtr+1
|
||||
.3 iny
|
||||
cpy #S.MD5.ABCD0+16
|
||||
bne .1
|
||||
lda #0
|
||||
sta (ZPHashPtr)
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
* PRIVATE
|
||||
*--------------------------------------
|
||||
* MD5AppendBitCount
|
||||
* In :
|
||||
* ZPCtxPtr = MD5 Context
|
||||
*--------------------------------------
|
||||
MD5AppendBitCount
|
||||
ldx #56
|
||||
ldy #S.MD5.BITCOUNT Append 8 Bytes of BITCOUNT
|
||||
|
||||
.1 lda (ZPCtxPtr),y
|
||||
sta MD5.BUFFER64,x
|
||||
inx
|
||||
iny
|
||||
cpy #S.MD5.BITCOUNT+8
|
||||
bne .1
|
||||
|
||||
ldy #S.MD5.FINALIZED Mark MD5 Context as Finalized
|
||||
lda #$80
|
||||
sta (ZPCtxPtr),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
* MD5UpdateBitCount
|
||||
* In :
|
||||
* CL = Size (in bytes) to add to MD5 context
|
||||
* ZPCtxPtr = MD5 Context
|
||||
*--------------------------------------
|
||||
MD5UpdateBitCount
|
||||
stz ZPChunkLen+1
|
||||
lda ZPChunkLen
|
||||
asl
|
||||
rol ZPChunkLen+1
|
||||
asl times 8 to get bit count
|
||||
rol ZPChunkLen+1
|
||||
asl
|
||||
rol ZPChunkLen+1
|
||||
clc
|
||||
ldy #S.MD5.BITCOUNT
|
||||
adc (ZPCtxPtr),y
|
||||
sta (ZPCtxPtr),y
|
||||
iny
|
||||
lda ZPChunkLen+1
|
||||
adc (ZPCtxPtr),y
|
||||
sta (ZPCtxPtr),y
|
||||
bcc .8
|
||||
|
||||
.1 iny
|
||||
lda (ZPCtxPtr),y
|
||||
inc
|
||||
sta (ZPCtxPtr),y
|
||||
bne .8
|
||||
|
||||
cpy #7
|
||||
bne .1
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
* MD5ExtraChunk
|
||||
* In :
|
||||
* ZPCtxPtr = MD5 Context
|
||||
*--------------------------------------
|
||||
MD5ExtraChunk ldy #S.MD5.FINALIZED
|
||||
lda #$80
|
||||
sta (ZPCtxPtr),y Mark MD5 Context as "finalized"
|
||||
ldx #0
|
||||
ldy #S.MD5.EXTRABIT Extra Bit already appended ?
|
||||
lda (ZPCtxPtr),y
|
||||
bne .1
|
||||
|
||||
lda #$80
|
||||
sta MD5.BUFFER64 Add extra bit to buffer
|
||||
sta (ZPCtxPtr),y Mark Extrabit added
|
||||
inx
|
||||
|
||||
.1 stz MD5.BUFFER64,x pad with "0"...
|
||||
inx
|
||||
cpx #56
|
||||
bne .1 ...until room for bitcount
|
||||
|
||||
jsr MD5AppendBitCount
|
||||
jsr MD5Transform
|
||||
*--------------------------------------
|
||||
* MD5UpdateABCD0
|
||||
* In:
|
||||
* ZPCtxPtr = MD5 Context
|
||||
*--------------------------------------
|
||||
MD5UpdateABCD0 ldy #0
|
||||
|
||||
.1 clc ADC32 A+A0->A0, B, C, D....
|
||||
|
||||
.2 lda MD5.ABCD,y
|
||||
adc (ZPCtxPtr),y
|
||||
sta (ZPCtxPtr),y
|
||||
iny
|
||||
tya
|
||||
and #3
|
||||
bne .2
|
||||
|
||||
cpy #16
|
||||
bne .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
* MD5Transform
|
||||
* In:
|
||||
* ZPCtxPtr = MD5 Context
|
||||
* 512 Bits Padded chunk in MD5.BUFFER64
|
||||
* Out:
|
||||
* Updated MD5.ABCD
|
||||
*--------------------------------------
|
||||
MD5Transform ldy #15 init ABCD Chunk with Context ABCD0
|
||||
|
||||
.1 lda (ZPCtxPtr),y
|
||||
sta MD5.ABCD,y
|
||||
dey
|
||||
bpl .1
|
||||
|
||||
stz MD5.i Start Proceed 0 to 63 bytes
|
||||
lda #0 lda MD5.i
|
||||
|
||||
.2 lsr
|
||||
lsr
|
||||
lsr
|
||||
and #6
|
||||
tax
|
||||
|
||||
jsr MD5.XXXX
|
||||
|
||||
inc MD5.i
|
||||
lda MD5.i
|
||||
cmp #64
|
||||
bne .2
|
||||
rts
|
||||
*--------------------------------------
|
||||
MD5.XXXX jmp (.1,x)
|
||||
|
||||
.1 .DA MD5.0015
|
||||
.DA MD5.1631
|
||||
.DA MD5.3247
|
||||
.DA MD5.4863
|
||||
*--------------------------------------
|
||||
MD5.0015 >AND32 MD5.B,MD5.C,MD5.F1
|
||||
>NOT32 MD5.B,MD5.F2
|
||||
>AND32 MD5.F2,MD5.D,MD5.F2
|
||||
>ORA32 MD5.F1,MD5.F2,MD5.F
|
||||
jmp MD5.XXXX.END
|
||||
*--------------------------------------
|
||||
MD5.1631 >AND32 MD5.D,MD5.B,MD5.F1
|
||||
>NOT32 MD5.D,MD5.F2
|
||||
>AND32 MD5.F2,MD5.C,MD5.F2
|
||||
>ORA32 MD5.F1,MD5.F2,MD5.F
|
||||
bra MD5.XXXX.END
|
||||
*--------------------------------------
|
||||
MD5.3247 >EOR32 MD5.B,MD5.C,MD5.F
|
||||
>EOR32 MD5.F,MD5.D,MD5.F
|
||||
bra MD5.XXXX.END
|
||||
*--------------------------------------
|
||||
MD5.4863 >NOT32 MD5.D,MD5.F1
|
||||
>ORA32 MD5.F1,MD5.B,MD5.F2
|
||||
>EOR32 MD5.F2,MD5.C,MD5.F
|
||||
*--------------------------------------
|
||||
MD5.XXXX.END >MOV32 MD5.D,MD5.DTemp
|
||||
>MOV32 MD5.C,MD5.D
|
||||
>MOV32 MD5.B,MD5.C
|
||||
>ADC32 MD5.A,MD5.F,MD5.F
|
||||
lda MD5.i
|
||||
asl
|
||||
asl
|
||||
tay
|
||||
ldx #0
|
||||
clc
|
||||
|
||||
.1 lda MD5.K,y ADC32 MD5.K[i],MD5.F,MD5.F
|
||||
adc MD5.F,x
|
||||
sta MD5.F,x
|
||||
iny
|
||||
inx
|
||||
txa
|
||||
eor #4 DO NOT DISTURB carry with cpx !!!
|
||||
bne .1
|
||||
|
||||
ldy MD5.i
|
||||
lda MD5.g,y
|
||||
asl
|
||||
asl
|
||||
tay
|
||||
ldx #0
|
||||
clc
|
||||
.2 lda MD5.BUFFER64,y ADC32 M[g],MD5.F,MD5.F
|
||||
adc MD5.F,x
|
||||
sta MD5.F,x
|
||||
iny
|
||||
inx
|
||||
txa
|
||||
eor #4 DO NOT DISTURB carry with cpx !!!
|
||||
bne .2
|
||||
|
||||
ldy MD5.i
|
||||
ldx MD5.s,y get s[i] in x
|
||||
|
||||
>ROL32x MD5.F
|
||||
>ADC32 MD5.B,MD5.F,MD5.B
|
||||
>MOV32 MD5.DTemp,MD5.A
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MD5.ABCDINIT .HS 01234567.89ABCDEF.FEDCBA98.76543210
|
||||
*--------------------------------------
|
||||
MD5.s .DA #7,#12,#17,#22,#7,#12,#17,#22,#7,#12,#17,#22,#7,#12,#17,#22
|
||||
.DA #5,#9,#14,#20,#5,#9,#14,#20,#5,#9,#14,#20,#5,#9,#14,#20
|
||||
.DA #4,#11,#16,#23,#4,#11,#16,#23,#4,#11,#16,#23,#4,#11,#16,#23
|
||||
.DA #6,#10,#15,#21,#6,#10,#15,#21,#6,#10,#15,#21,#6,#10,#15,#21
|
||||
*--------------------------------------
|
||||
MD5.g .DA #0,#1,#2,#3,#4,#5,#6,#7,#8,#9,#10,#11,#12,#13,#14,#15
|
||||
.DA #1,#6,#11,#0,#5,#10,#15,#4,#9,#14,#3,#8,#13,#2,#7,#12
|
||||
.DA #5,#8,#11,#14,#1,#4,#7,#10,#13,#0,#3,#6,#9,#12,#15,#2
|
||||
.DA #0,#7,#14,#5,#12,#3,#10,#1,#8,#15,#6,#13,#4,#11,#2,#9
|
||||
*--------------------------------------
|
||||
MD5.K .HS 78A46AD7.56B7C7E8.DB702024.EECEBDC1
|
||||
.HS AF0F7CF5.2AC68747.134630A8.019546FD
|
||||
.HS D8988069.AFF7448B.B15BFFFF.BED75C89
|
||||
.HS 2211906B.937198FD.8E4379A6.2108B449
|
||||
.HS 62251EF6.40B340C0.515A5E26.AAC7B6E9
|
||||
.HS 5D102FD6.53144402.81E6A1D8.C8FBD3E7
|
||||
.HS E6CDE121.D60737C3.870DD5F4.ED145A45
|
||||
.HS 05E9E3A9.F8A3EFFC.D9026F67.8A4C2A8D
|
||||
.HS 4239FAFF.81F67187.22619D6D.0C38E5FD
|
||||
.HS 44EABEA4.A9CFDE4B.604BBBF6.70BCBFBE
|
||||
.HS C67E9B28.FA27A1EA.8530EFD4.051D8804
|
||||
.HS 39D0D4D9.E599DBE6.F87CA21F.6556ACC4
|
||||
.HS 442229F4.97FF2A43.A72394AB.39A093FC
|
||||
.HS C3595B65.92CC0C8F.7DF4EFFF.D15D8485
|
||||
.HS 4F7EA86F.E0E62CFE.144301A3.A111084E
|
||||
.HS 827E53F7.35F23ABD.BBD2D72A.91D386EB
|
||||
*--------------------------------------
|
||||
MD5.DIGITS .AS "0123456789ABCDEF"
|
||||
*--------------------------------------
|
||||
ZPChunkLen .BS 2
|
||||
ZPDataLen .BS 2
|
||||
|
||||
MD5.ABCD
|
||||
MD5.A .BS 4 Chunk Level,A,B,C,D
|
||||
MD5.B .BS 4
|
||||
MD5.C .BS 4
|
||||
MD5.D .BS 4
|
||||
|
||||
MD5.F1 .BS 4
|
||||
MD5.F2 .BS 4
|
||||
|
||||
MD5.DTemp .BS 4
|
||||
MD5.F .BS 4
|
||||
MD5.i .BS 1
|
||||
MD5.BUFFER64 .BS 64
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.MD5X
|
||||
LOAD USR/SRC/SYS/KERNEL.S
|
||||
ASM
|
@ -304,7 +304,6 @@ K.StrFTime.MDAY .DA #3,#0,#3,#2,#3,#2,#3,#3,#2,#3,#2,#3
|
||||
* ## ASM
|
||||
* `>PUSHW ptr`
|
||||
* `>PUSHW format`
|
||||
* `>PUSHW timeptr`
|
||||
* + %a : Abbreviated weekday name : Thu
|
||||
* + %A : Full weekday name : Thursday
|
||||
* + %b : Abbreviated month name : Aug
|
||||
@ -319,6 +318,7 @@ K.StrFTime.MDAY .DA #3,#0,#3,#2,#3,#2,#3,#3,#2,#3,#2,#3
|
||||
* + %w : Weekday as a decimal number with Sunday as 0 (0-6)
|
||||
* + %y : Year, last two digits (00-99)
|
||||
* + %Y : Year four digits 2001
|
||||
* `>PUSHW timeptr`
|
||||
* `>SYSCALL strftime`
|
||||
* ## RETURN VALUE
|
||||
* none. always succeed.
|
||||
|
@ -57,6 +57,7 @@ A2osX.AUXH .DA #0
|
||||
|
||||
A2osX.AUXH.B .PH Mem.XHiMem
|
||||
.INB USR/SRC/SYS/KERNEL.S.TERM
|
||||
.INB USR/SRC/SYS/KERNEL.S.MD5X
|
||||
.EP
|
||||
A2osX.AUXH.S .EQ *-A2osX.AUXH.B
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user