Skip to content

Instantly share code, notes, and snippets.

@tizee
Created June 15, 2018 06:58
Show Gist options
  • Save tizee/7506501f6c9921e744bf62ceba57ee52 to your computer and use it in GitHub Desktop.
Save tizee/7506501f6c9921e744bf62ceba57ee52 to your computer and use it in GitHub Desktop.
CO_Exp6
nor $1, $0, $0; #$1 = ~ ($0 | $0) = FFFF_FFFF
sltu $2, $0, $1; #$2 = $0 < $1 ? 1 : 0 = 0000_0001
add $3, $2, $2; #$3 = $2 + $2 = 0000_0002
add $4, $3, $2; #$4 = $3 + $2 = 0000_0003
add $5, $4, $3; #$5 = $4 + $3 = 0000_0005
add $6, $5, $3; #$6 = $5 + $3 = 0000_0007
sllv $7, $6, $2; #$7 = $6 << $2 = 0000_000E
add $9, $5, $6; #$9 = $5 + $6 = 0000_000C
sllv $8, $6, $9; #$8 = $6 << $9 = 0000_7000
xor $9, $1, $8; #$9 = $1 ^ $8 = FFFF_8FFF
add $10,$9, $1; #$10= $9 + $1 = FFFF_8FFE
sub $11,$8, $7; #$11= $8 - $7 = 0000_6FF2
sub $12,$7,$8; #$12= $7 - $8 = FFFF_900E
and $13,$9,$12; #$13= &9 & $12 = FFFF_800E
or $14,$9,$12; #$14= $9 | $12 = FFFF_9FFF
or $15,$6,$7; #$15= $6 | $7 = 0000_000F
nor $16,$6,$7; #$16= ~($6 | $7) = FFFF_FFF0
add $17,$7,$3; #$17= $7 + $3 = 0000_0010
sllv $18,$8,$17; #$18= $8 << $17 = 7000_0000
sllv $19,$3,$17; #$19= $3 << $17 = 0002_0000
sllv $20,$19,$7; #$20= $19 << $7 = 8000_0000
sub $21,$20,$1; #$21= $20 - $1 = 8000_0001, 相减结果为负,保留数值位
or $22,$18,$21; #$22= $18 | $21 = f000_0001
add $23,$20,$22; #$23= $20 + $22 = ERROR, 相加溢出
sub $24,$20,$22; #$24= $20 - $22
sub $25,$22,$20; #$25= $22 - $20
xor $26,$18,$1; #$26= 8FFF_FFFF
sltu $27,$22,$20; #$27= 0000_0001
sltu $28,$26,$20; #$28= 0000_0000
add $29,$22,$2; #$29= 8000_0000
sub $30,$20,$2; #$30= 7FFF_FFFF
add $31,$11,$26; #$30= 9000_6FF1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment