From ee3e9e3f87133e77cb95d6f03eebfb3f856d7d47 Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Fri, 19 Jul 2019 11:22:33 +0100 Subject: happy --- sha1/emul.script | 2 +- sha1/msauth.asm | 159 +++++++++++++++++++++++++------------------------------ 2 files changed, 73 insertions(+), 88 deletions(-) diff --git a/sha1/emul.script b/sha1/emul.script index cd3324d..4efd419 100644 --- a/sha1/emul.script +++ b/sha1/emul.script @@ -1,4 +1,4 @@ b END g TEST -md T1 4 +md T2 4 quit diff --git a/sha1/msauth.asm b/sha1/msauth.asm index 51147e0..ce3e043 100644 --- a/sha1/msauth.asm +++ b/sha1/msauth.asm @@ -133,9 +133,6 @@ test_l2: inc lidx jsr sha1_block - lda #(T1-DATA_START) - sta dest - lda H+16 and #$F @@ -148,7 +145,7 @@ test_l2: txa add #(H-DATA_START) - jsr copy4 + jsr copy4_to_t2 @@ -157,34 +154,24 @@ end: bra end get_w32_015_to_t2: - lda #(T2-DATA_START) - sta dest - lda #(ZERO-DATA_START) - sta src1 - lda lidx cmp #0 bne get_w32_015_to_t2_l1 + lda #(ZERO-DATA_START) + sta T2eVxorKEYOR_src + lda j cmp #3 bhs get_w32_015_to_t2_z1 lsla lsla add #(KEY-DATA_START) - sta src1 + sta T2eVxorKEYOR_src get_w32_015_to_t2_z1: - - lda #(ZERO-DATA_START) - jsr add4 - lda #(T2-DATA_START) - sta src1 - lda #(KEYOR-DATA_START) - jsr xor4 - - - + ldx #(T2eVxorKEYOR-OPLIST_START) + jsr op4_list rts get_w32_015_to_t2_l1: @@ -203,7 +190,7 @@ get_w32_015_to_t2_l2: get_w32_015_to_t2_l3: lda #(ZERO-DATA_START) get_w32_015_to_t2_e: - jsr add4 + jsr copy4_to_t2 rts get_w32_to_t2: @@ -226,11 +213,7 @@ get_w32_to_t2_l1: lsla lsla add #(WBUF-DATA_START) - sta dest - lda #(T2-DATA_START) - sta src1 - lda #(ZERO-DATA_START) - jsr add4 + jsr copy4_from_t2 inc j lda j @@ -239,21 +222,8 @@ get_w32_to_t2_l1: get_w32_to_t2_l2: - lda #(T2-DATA_START) - sta dest - lda #(WBUF13 - DATA_START) - sta src1 - lda #(WBUF8 - DATA_START) - jsr xor4 ; T2 =W13 ^ W8 - lda #(T2-DATA_START) - sta src1 - lda #(WBUF2 - DATA_START) - jsr xor4 ; T2 = T2 ^ W2 - lda #(WBUF0 - DATA_START) - jsr xor4 ; T2= T2 ^ W0 - lda #1 - jsr rot_left ; T2= ROTLEFT(T2,1) - + ldx #(T2eROT1ofW13xorW8xorW2xortW0-OPLIST_START) + jsr op4_list ; for (x=0;x<14;++x) wbuf[x]=wbuf[x+1] ldx #((WBUF0 + $FF - 3 ) - WBUF14) @@ -262,10 +232,10 @@ get_w32_to_t2_l3: sta (WBUF14 + 3 - $FF),x incx bne get_w32_to_t2_l3 - lda #(WBUF15-DATA_START) - sta dest - lda #(ZERO-DATA_START) - jsr add4 ; WBUF15=T2 + + lda #(WBUF15 - DATA_START) + jsr copy4_from_t2 + dec i bne get_w32_to_t2_l2 @@ -404,26 +374,14 @@ op4_list_l2: bra op4_list -copy4: - sta src1 - lda #(ZERO-DATA_START) - sta src2 - lda #$d9 ; adc $ffff,a - sta op4_src2 - bra op4_binary - -add4: - sta src2 - lda #$d9 ; adc $ffff,a - sta op4_src2 - bra op4_binary - -xor4: - sta src2 - lda #$d8 ; eor $ffff,a - sta op4_src2 - bra op4_binary - +copy4_to_t2: + sta T2eV_src + ldx #(T2eV-OPLIST_START) + bra op4_list +copy4_from_t2: + sta VeT2_dest + ldx #(VeT2-OPLIST_START) + bra op4_list op4_binary: ldx #0 lda #DATA_START & $ff @@ -461,30 +419,57 @@ op4_dst: bne op4_1 rts -rot_left: - ldx dest - sta j -rot_loop: - lda DATA_START,x - rola - lda DATA_START+1,x - rola - sta DATA_START+1,x - lda DATA_START+2,x - rola - sta DATA_START+2,x - lda DATA_START+3,x - rola - sta DATA_START+3,x - lda DATA_START,x - rola - sta DATA_START,x - dec j - bne rot_loop - rts - OPLIST_START: +T2eV: + db $d9 ;add +T2eV_src: + db 0 ;src1 + db (ZERO-DATA_START) ;src2 + db (T2-DATA_START) ;dst + db 0 ;stop + +VeT2: + db $d9 ;add + db (T2-DATA_START) ;src1 + db (ZERO-DATA_START) ;src2 +VeT2_dest: + db 0 ;dest + db 0 ;stop + + + +T2eVxorKEYOR: + DB $d8 ;eor +T2eVxorKEYOR_src: + DB 0 ;src1 + DB (KEYOR-DATA_START) ;src2 + DB (T2-DATA_START) ;dest + DB 0 ;stop + +T2eROT1ofW13xorW8xorW2xortW0: + DB $d8 ;eor + DB (WBUF0-DATA_START) ;src1 + DB (WBUF2-DATA_START) ;src2 + DB (T2-DATA_START) ;dest + + DB $d8 ;eor + DB (T2-DATA_START) ;src1 + DB (WBUF8-DATA_START) ;src2 + DB (T2-DATA_START) ;dest + + DB $d8 ;eor + DB (T2-DATA_START) ;src1 + DB (WBUF13-DATA_START) ;src2 + DB (T2-DATA_START) ;dest + + DB $1 ;rot left + DB 1 ;1 time + DB 0 ; N/A + DB (T2-DATA_START) ;dest + + DB 0 ;stop + T2eNotBandD: DB $d8 ;eor -- cgit v1.2.3