mirror of
https://github.com/sheumann/65816-crypto.git
synced 2024-06-14 05:29:34 +00:00
Save a couple values on the stack rather than looking them up again.
This is cycle-neutral (assuming a page-aligned DP), but it reduces instruction bytes and therefore may give a speedup on accelerators with caches.
This commit is contained in:
parent
301021e75e
commit
75aac0daa9
26
aes.macros
26
aes.macros
|
@ -30,40 +30,40 @@
|
||||||
|
|
||||||
macro
|
macro
|
||||||
MixColumn &i,&A,&B,&C,&D,&state,&out
|
MixColumn &i,&A,&B,&C,&D,&state,&out
|
||||||
|
|
||||||
|
ldy &state+&D
|
||||||
|
lda Sbox,Y
|
||||||
|
pha
|
||||||
ldx &state+&A
|
ldx &state+&A
|
||||||
lda Xtime2Sbox,X
|
eor Xtime2Sbox,X
|
||||||
ldy &state+&B
|
ldy &state+&B
|
||||||
eor Xtime3Sbox,Y
|
eor Xtime3Sbox,Y
|
||||||
ldy &state+&D
|
|
||||||
eor Sbox,Y
|
|
||||||
ldy &state+&C
|
ldy &state+&C
|
||||||
eor Sbox,Y
|
eor Sbox,Y
|
||||||
eor rk+&round*16+&i
|
eor rk+&round*16+&i
|
||||||
sta &out+&i
|
sta &out+&i
|
||||||
|
|
||||||
lda Xtime3Sbox,Y
|
pla
|
||||||
|
eor Xtime3Sbox,Y
|
||||||
eor Sbox,X
|
eor Sbox,X
|
||||||
ldy &state+&B
|
ldy &state+&B
|
||||||
eor Xtime2Sbox,Y
|
eor Xtime2Sbox,Y
|
||||||
ldy &state+&D
|
|
||||||
eor Sbox,Y
|
|
||||||
eor rk+&round*16+&i+1
|
eor rk+&round*16+&i+1
|
||||||
sta &out+&i+1
|
sta &out+&i+1
|
||||||
|
|
||||||
lda Xtime3Sbox,Y
|
lda Sbox,Y
|
||||||
|
pha
|
||||||
|
ldy &state+&D
|
||||||
|
eor Xtime3Sbox,Y
|
||||||
eor Sbox,X
|
eor Sbox,X
|
||||||
ldy &state+&B
|
|
||||||
eor Sbox,Y
|
|
||||||
ldy &state+&C
|
ldy &state+&C
|
||||||
eor Xtime2Sbox,Y
|
eor Xtime2Sbox,Y
|
||||||
eor rk+&round*16+&i+2
|
eor rk+&round*16+&i+2
|
||||||
sta &out+&i+2
|
sta &out+&i+2
|
||||||
|
|
||||||
lda Sbox,Y
|
pla
|
||||||
eor Xtime3Sbox,X
|
|
||||||
ldy &state+&B
|
|
||||||
eor Sbox,Y
|
eor Sbox,Y
|
||||||
|
eor Xtime3Sbox,X
|
||||||
ldy &state+&D
|
ldy &state+&D
|
||||||
eor Xtime2Sbox,Y
|
eor Xtime2Sbox,Y
|
||||||
eor rk+&round*16+&i+3
|
eor rk+&round*16+&i+3
|
||||||
|
|
Loading…
Reference in New Issue
Block a user