From d3b2a8018cd73180cf8260bb9e24e33590fb518e Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 16 Jul 2019 17:40:49 +0100 Subject: fish --- sha1/msauth.asm | 187 ++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 133 insertions(+), 54 deletions(-) (limited to 'sha1/msauth.asm') diff --git a/sha1/msauth.asm b/sha1/msauth.asm index 20523ae..e4d0929 100644 --- a/sha1/msauth.asm +++ b/sha1/msauth.asm @@ -108,27 +108,27 @@ sha1_loop: sta idx cmp #20 bhs sha1_k2 - lda #(K1-base) + lda #(K1-BASE_START) sta k ; T1 = (B & C) | ((~B) & D) - lda #(T2-base) + lda #(T2-BASE_START) sta dest - lda #(VB-base) + lda #(VB-BASE_START) sta src1 - lda #(FFFFFFFF-base) + lda #(FFFFFFFF-BASE_START) jsr xor4 ;T2=~B - lda #(T2-base) + lda #(T2-BASE_START) sta src1 - lda #(VD-base) + lda #(VD-BASE_START) jsr and4 ;T2=T2&D bra sha1_t2_or_bandc ; T1=T2 | (B&C) sha1_k2: cmp #40 bhs sha1_k3 - lda #(K2-base) + lda #(K2-BASE_START) sta k bra sha1_k24 ; T1 = B ^ C ^ D @@ -136,88 +136,88 @@ sha1_k3: cmp #60 bhs sha1_k4 ; T1 = (B & C) | (B & D) | (C & D) - lda #(K3-base) + lda #(K3-BASE_START) sta k - lda #(T1-base) + lda #(T1-BASE_START) sta dest - lda #(VD-base) + lda #(VD-BASE_START) sta src1 - lda #(VB-base) + lda #(VB-BASE_START) jsr and4 ; T1=B&D - lda #(T2-base) + lda #(T2-BASE_START) sta dest - lda #(VC-base) + lda #(VC-BASE_START) jsr and4 ; T2=C&D - lda #(T2-base) + lda #(T2-BASE_START) sta src1 - lda #(T1-base) + lda #(T1-BASE_START) jsr or4 ; T2=T1|T2 sha1_t2_or_bandc: - lda #(T1-base) + lda #(T1-BASE_START) sta dest - lda #(VB-base) + lda #(VB-BASE_START) sta src1 - lda #(VC-base) + lda #(VC-BASE_START) jsr and4 ; T1 = B&C - lda #(T1-base) + lda #(T1-BASE_START) sta src1 - lda #(T2-base) + lda #(T2-BASE_START) jsr or4 ; T1= T1|T2 bra sha1_shuffle sha1_k4: - lda #(K4-base) + lda #(K4-BASE_START) sta k sha1_k24: ; T1 = B ^ C ^ D - lda #(T1-base) + lda #(T1-BASE_START) sta dest - lda #(VB-base) + lda #(VB-BASE_START) sta src1 - lda #(VC-base) + lda #(VC-BASE_START) jsr xor4 - lda #(T1-base) + lda #(T1-BASE_START) sta src1 - lda #(VD-base) + lda #(VD-BASE_START) jsr xor4 sha1_shuffle: ; T1 is src1 and dest here - lda #(VE-base) + lda #(VE-BASE_START) jsr add4 ; T1=T1+E lda k jsr add4 ; T1=T1+k ; get data here - lda #(ZERO-base) + lda #(ZERO-BASE_START) jsr add4 ; T1=T1+data - lda #(VD-base) + lda #(VD-BASE_START) jsr copy_down ; E=D - lda #(VC-base) + lda #(VC-BASE_START) jsr copy_down ; D=C - lda #(VB-base) + lda #(VB-BASE_START) jsr copy_down ; C=B lda #30 jsr rot_left ; C=ROTLEFT(C,30) - lda #(VA-base) + lda #(VA-BASE_START) jsr copy_down ; B=A - lda #(VA-base) + lda #(VA-BASE_START) sta dest sta src1 lda #5 jsr rot_left ; A=ROTLEFT(A,5) - lda #(T1-base) + lda #(T1-BASE_START) jsr add4 ; A=A+T1 @@ -250,7 +250,7 @@ copy_down: sta src1 add #4 sta dest - lda #(ZERO-base) + lda #(ZERO-BASE_START) add4: sta src2 @@ -275,25 +275,25 @@ or4: sta op4_src2 op4_binary: ldx #0 - lda #base & $ff + lda #BASE_START & $ff add src2 sta op4_src2+2 txa - adc #base>>8 + adc #BASE_START>>8 sta op4_src2+1 - lda #base & $ff + lda #BASE_START & $ff add src1 sta op4_src1+2 txa - adc #base>>8 + adc #BASE_START>>8 sta op4_src1+1 - lda #base & $ff + lda #BASE_START & $ff add dest sta op4_dst+2 txa - adc #base>>8 + adc #BASE_START>>8 sta op4_dst+1 clc @@ -314,28 +314,36 @@ rot_left: ldx dest sta rot_cnt rot_loop: - lda base,x + lda BASE_START,x rola - lda base+1,x + lda BASE_START+1,x rola - sta base+1,x - lda base+2,x + sta BASE_START+1,x + lda BASE_START+2,x rola - sta base+2,x - lda base+3,x + sta BASE_START+2,x + lda BASE_START+3,x rola - sta base+3,x - lda base,x + sta BASE_START+3,x + lda BASE_START,x rola - sta base,x + sta BASE_START,x dec rot_cnt bne rot_loop rts -data: - -H: DB $01 +BASE_START: + +KEY: + DW $0e89 + DW $6e38 + DW $3cbb + DW $e9cf + DW $0000 + DW $e44f + +IH: DB $01 DB $23 DB $45 DB $67 @@ -355,7 +363,6 @@ H: DB $01 DB $E1 DB $D2 DB $C3 -base: K1: DB $99 DB $79 @@ -409,4 +416,76 @@ T2: DW 0 ZERO: DW 0 DW 0 + + +WBUF: + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + +KEYOR: + DW 0 + DW 0 + + +H: + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + + +DATA1: + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 + DW 0 +DATA2: + DW 0 + DW 0 + +BASE_END: -- cgit v1.2.3