mirror of
https://github.com/sheumann/65816-crypto.git
synced 2025-02-19 17:30:33 +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
|
macro
|
||||||
MixColumn &i,&A,&B,&C,&D,&state,&out
|
MixColumn &i,&A,&B,&C,&D,&state,&out
|
||||||
|
|
||||||
ldy &state+&A
|
ldx &state+&A
|
||||||
lda Xtime2Sbox,Y
|
lda Xtime2Sbox,X
|
||||||
ldy &state+&B
|
ldy &state+&B
|
||||||
eor Xtime3Sbox,Y
|
eor Xtime3Sbox,Y
|
||||||
ldy &state+&C
|
|
||||||
eor Sbox,Y
|
|
||||||
ldy &state+&D
|
ldy &state+&D
|
||||||
eor Sbox,Y
|
eor Sbox,Y
|
||||||
|
ldy &state+&C
|
||||||
|
eor Sbox,Y
|
||||||
eor rk+&round*16+&i
|
eor rk+&round*16+&i
|
||||||
sta &out+&i
|
sta &out+&i
|
||||||
|
|
||||||
ldy &state+&A
|
lda Xtime3Sbox,Y
|
||||||
lda Sbox,Y
|
eor Sbox,X
|
||||||
ldy &state+&B
|
ldy &state+&B
|
||||||
eor Xtime2Sbox,Y
|
eor Xtime2Sbox,Y
|
||||||
ldy &state+&C
|
|
||||||
eor Xtime3Sbox,Y
|
|
||||||
ldy &state+&D
|
ldy &state+&D
|
||||||
eor Sbox,Y
|
eor Sbox,Y
|
||||||
eor rk+&round*16+&i+1
|
eor rk+&round*16+&i+1
|
||||||
sta &out+&i+1
|
sta &out+&i+1
|
||||||
|
|
||||||
ldy &state+&A
|
lda Xtime3Sbox,Y
|
||||||
lda Sbox,Y
|
eor Sbox,X
|
||||||
ldy &state+&B
|
ldy &state+&B
|
||||||
eor Sbox,Y
|
eor Sbox,Y
|
||||||
ldy &state+&C
|
ldy &state+&C
|
||||||
eor Xtime2Sbox,Y
|
eor Xtime2Sbox,Y
|
||||||
ldy &state+&D
|
|
||||||
eor Xtime3Sbox,Y
|
|
||||||
eor rk+&round*16+&i+2
|
eor rk+&round*16+&i+2
|
||||||
sta &out+&i+2
|
sta &out+&i+2
|
||||||
|
|
||||||
ldy &state+&A
|
lda Sbox,Y
|
||||||
lda Xtime3Sbox,Y
|
eor Xtime3Sbox,X
|
||||||
ldy &state+&B
|
ldy &state+&B
|
||||||
eor Sbox,Y
|
eor Sbox,Y
|
||||||
ldy &state+&C
|
|
||||||
eor Sbox,Y
|
|
||||||
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…
x
Reference in New Issue
Block a user