mirror of
https://github.com/sheumann/65816-crypto.git
synced 2025-02-16 13:30:25 +00:00
Cut out a few instructions by reusing subexpressions in registers.
This commit is contained in:
parent
3df0080371
commit
301021e75e
32
aes.macros
32
aes.macros
@ -31,45 +31,39 @@
|
||||
macro
|
||||
MixColumn &i,&A,&B,&C,&D,&state,&out
|
||||
|
||||
ldy &state+&A
|
||||
lda Xtime2Sbox,Y
|
||||
ldx &state+&A
|
||||
lda Xtime2Sbox,X
|
||||
ldy &state+&B
|
||||
eor Xtime3Sbox,Y
|
||||
ldy &state+&C
|
||||
eor Sbox,Y
|
||||
ldy &state+&D
|
||||
eor Sbox,Y
|
||||
ldy &state+&C
|
||||
eor Sbox,Y
|
||||
eor rk+&round*16+&i
|
||||
sta &out+&i
|
||||
|
||||
ldy &state+&A
|
||||
lda Sbox,Y
|
||||
|
||||
lda Xtime3Sbox,Y
|
||||
eor Sbox,X
|
||||
ldy &state+&B
|
||||
eor Xtime2Sbox,Y
|
||||
ldy &state+&C
|
||||
eor Xtime3Sbox,Y
|
||||
ldy &state+&D
|
||||
eor Sbox,Y
|
||||
eor rk+&round*16+&i+1
|
||||
sta &out+&i+1
|
||||
|
||||
ldy &state+&A
|
||||
lda Sbox,Y
|
||||
|
||||
lda Xtime3Sbox,Y
|
||||
eor Sbox,X
|
||||
ldy &state+&B
|
||||
eor Sbox,Y
|
||||
ldy &state+&C
|
||||
eor Xtime2Sbox,Y
|
||||
ldy &state+&D
|
||||
eor Xtime3Sbox,Y
|
||||
eor rk+&round*16+&i+2
|
||||
sta &out+&i+2
|
||||
|
||||
ldy &state+&A
|
||||
lda Xtime3Sbox,Y
|
||||
|
||||
lda Sbox,Y
|
||||
eor Xtime3Sbox,X
|
||||
ldy &state+&B
|
||||
eor Sbox,Y
|
||||
ldy &state+&C
|
||||
eor Sbox,Y
|
||||
ldy &state+&D
|
||||
eor Xtime2Sbox,Y
|
||||
eor rk+&round*16+&i+3
|
||||
|
Loading…
x
Reference in New Issue
Block a user