Cut out a few instructions by reusing subexpressions in registers.

This commit is contained in:
Stephen Heumann 2017-06-26 20:53:17 -05:00
parent 3df0080371
commit 301021e75e
1 changed files with 13 additions and 19 deletions

View File

@ -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