diff --git a/evm/src/cpu/kernel/asm/sha2_constants.asm b/evm/src/cpu/kernel/asm/sha2_constants.asm new file mode 100644 index 00000000..76f5aba6 --- /dev/null +++ b/evm/src/cpu/kernel/asm/sha2_constants.asm @@ -0,0 +1,647 @@ +global sha2_const_0: + JUMPDEST + push 1116352408 + +global sha2_const_1: + JUMPDEST + push 1899447441 + +global sha2_const_2: + JUMPDEST + push 3049323471 + +global sha2_const_3: + JUMPDEST + push 3921009573 + +global sha2_const_4: + JUMPDEST + push 961987163 + +global sha2_const_5: + JUMPDEST + push 1508970993 + +global sha2_const_6: + JUMPDEST + push 2453635748 + +global sha2_const_7: + JUMPDEST + push 2870763221 + +global sha2_const_8: + JUMPDEST + push 3624381080 + +global sha2_const_9: + JUMPDEST + push 310598401 + +global sha2_const_10: + JUMPDEST + push 607225278 + +global sha2_const_11: + JUMPDEST + push 1426881987 + +global sha2_const_12: + JUMPDEST + push 1925078388 + +global sha2_const_13: + JUMPDEST + push 2162078206 + +global sha2_const_14: + JUMPDEST + push 2614888103 + +global sha2_const_15: + JUMPDEST + push 3248222580 + +global sha2_const_16: + JUMPDEST + push 3835390401 + +global sha2_const_17: + JUMPDEST + push 4022224774 + +global sha2_const_18: + JUMPDEST + push 264347078 + +global sha2_const_19: + JUMPDEST + push 604807628 + +global sha2_const_20: + JUMPDEST + push 770255983 + +global sha2_const_21: + JUMPDEST + push 1249150122 + +global sha2_const_22: + JUMPDEST + push 1555081692 + +global sha2_const_23: + JUMPDEST + push 1996064986 + +global sha2_const_24: + JUMPDEST + push 2554220882 + +global sha2_const_25: + JUMPDEST + push 2821834349 + +global sha2_const_26: + JUMPDEST + push 2952996808 + +global sha2_const_27: + JUMPDEST + push 3210313671 + +global sha2_const_28: + JUMPDEST + push 3336571891 + +global sha2_const_29: + JUMPDEST + push 3584528711 + +global sha2_const_30: + JUMPDEST + push 113926993 + +global sha2_const_31: + JUMPDEST + push 338241895 + +global sha2_const_32: + JUMPDEST + push 666307205 + +global sha2_const_33: + JUMPDEST + push 773529912 + +global sha2_const_34: + JUMPDEST + push 1294757372 + +global sha2_const_35: + JUMPDEST + push 1396182291 + +global sha2_const_36: + JUMPDEST + push 1695183700 + +global sha2_const_37: + JUMPDEST + push 1986661051 + +global sha2_const_38: + JUMPDEST + push 2177026350 + +global sha2_const_39: + JUMPDEST + push 2456956037 + +global sha2_const_40: + JUMPDEST + push 2730485921 + +global sha2_const_41: + JUMPDEST + push 2820302411 + +global sha2_const_42: + JUMPDEST + push 3259730800 + +global sha2_const_43: + JUMPDEST + push 3345764771 + +global sha2_const_44: + JUMPDEST + push 3516065817 + +global sha2_const_45: + JUMPDEST + push 3600352804 + +global sha2_const_46: + JUMPDEST + push 4094571909 + +global sha2_const_47: + JUMPDEST + push 275423344 + +global sha2_const_48: + JUMPDEST + push 430227734 + +global sha2_const_49: + JUMPDEST + push 506948616 + +global sha2_const_50: + JUMPDEST + push 659060556 + +global sha2_const_51: + JUMPDEST + push 883997877 + +global sha2_const_52: + JUMPDEST + push 958139571 + +global sha2_const_53: + JUMPDEST + push 1322822218 + +global sha2_const_54: + JUMPDEST + push 1537002063 + +global sha2_const_55: + JUMPDEST + push 1747873779 + +global sha2_const_56: + JUMPDEST + push 1955562222 + +global sha2_const_57: + JUMPDEST + push 2024104815 + +global sha2_const_58: + JUMPDEST + push 2227730452 + +global sha2_const_59: + JUMPDEST + push 2361852424 + +global sha2_const_60: + JUMPDEST + push 2428436474 + +global sha2_const_61: + JUMPDEST + push 2756734187 + +global sha2_const_62: + JUMPDEST + push 3204031479 + +global sha2_const_63: + JUMPDEST + push 3329325298 + +global sha2_const: + JUMPDEST + // stack: i + + // case: 0 + dup1 + %eq(0) + %jumpi(sha2_const_0) + swap1 + + // case: 1 + dup1 + %eq(1) + %jumpi(sha2_const_1) + swap1 + + // case: 2 + dup1 + %eq(2) + %jumpi(sha2_const_2) + swap1 + + // case: 3 + dup1 + %eq(3) + %jumpi(sha2_const_3) + swap1 + + // case: 4 + dup1 + %eq(4) + %jumpi(sha2_const_4) + swap1 + + // case: 5 + dup1 + %eq(5) + %jumpi(sha2_const_5) + swap1 + + // case: 6 + dup1 + %eq(6) + %jumpi(sha2_const_6) + swap1 + + // case: 7 + dup1 + %eq(7) + %jumpi(sha2_const_7) + swap1 + + // case: 8 + dup1 + %eq(8) + %jumpi(sha2_const_8) + swap1 + + // case: 9 + dup1 + %eq(9) + %jumpi(sha2_const_9) + swap1 + + // case: 10 + dup1 + %eq(10) + %jumpi(sha2_const_10) + swap1 + + // case: 11 + dup1 + %eq(11) + %jumpi(sha2_const_11) + swap1 + + // case: 12 + dup1 + %eq(12) + %jumpi(sha2_const_12) + swap1 + + // case: 13 + dup1 + %eq(13) + %jumpi(sha2_const_13) + swap1 + + // case: 14 + dup1 + %eq(14) + %jumpi(sha2_const_14) + swap1 + + // case: 15 + dup1 + %eq(15) + %jumpi(sha2_const_15) + swap1 + + // case: 16 + dup1 + %eq(16) + %jumpi(sha2_const_16) + swap1 + + // case: 17 + dup1 + %eq(17) + %jumpi(sha2_const_17) + swap1 + + // case: 18 + dup1 + %eq(18) + %jumpi(sha2_const_18) + swap1 + + // case: 19 + dup1 + %eq(19) + %jumpi(sha2_const_19) + swap1 + + // case: 20 + dup1 + %eq(20) + %jumpi(sha2_const_20) + swap1 + + // case: 21 + dup1 + %eq(21) + %jumpi(sha2_const_21) + swap1 + + // case: 22 + dup1 + %eq(22) + %jumpi(sha2_const_22) + swap1 + + // case: 23 + dup1 + %eq(23) + %jumpi(sha2_const_23) + swap1 + + // case: 24 + dup1 + %eq(24) + %jumpi(sha2_const_24) + swap1 + + // case: 25 + dup1 + %eq(25) + %jumpi(sha2_const_25) + swap1 + + // case: 26 + dup1 + %eq(26) + %jumpi(sha2_const_26) + swap1 + + // case: 27 + dup1 + %eq(27) + %jumpi(sha2_const_27) + swap1 + + // case: 28 + dup1 + %eq(28) + %jumpi(sha2_const_28) + swap1 + + // case: 29 + dup1 + %eq(29) + %jumpi(sha2_const_29) + swap1 + + // case: 30 + dup1 + %eq(30) + %jumpi(sha2_const_30) + swap1 + + // case: 31 + dup1 + %eq(31) + %jumpi(sha2_const_31) + swap1 + + // case: 32 + dup1 + %eq(32) + %jumpi(sha2_const_32) + swap1 + + // case: 33 + dup1 + %eq(33) + %jumpi(sha2_const_33) + swap1 + + // case: 34 + dup1 + %eq(34) + %jumpi(sha2_const_34) + swap1 + + // case: 35 + dup1 + %eq(35) + %jumpi(sha2_const_35) + swap1 + + // case: 36 + dup1 + %eq(36) + %jumpi(sha2_const_36) + swap1 + + // case: 37 + dup1 + %eq(37) + %jumpi(sha2_const_37) + swap1 + + // case: 38 + dup1 + %eq(38) + %jumpi(sha2_const_38) + swap1 + + // case: 39 + dup1 + %eq(39) + %jumpi(sha2_const_39) + swap1 + + // case: 40 + dup1 + %eq(40) + %jumpi(sha2_const_40) + swap1 + + // case: 41 + dup1 + %eq(41) + %jumpi(sha2_const_41) + swap1 + + // case: 42 + dup1 + %eq(42) + %jumpi(sha2_const_42) + swap1 + + // case: 43 + dup1 + %eq(43) + %jumpi(sha2_const_43) + swap1 + + // case: 44 + dup1 + %eq(44) + %jumpi(sha2_const_44) + swap1 + + // case: 45 + dup1 + %eq(45) + %jumpi(sha2_const_45) + swap1 + + // case: 46 + dup1 + %eq(46) + %jumpi(sha2_const_46) + swap1 + + // case: 47 + dup1 + %eq(47) + %jumpi(sha2_const_47) + swap1 + + // case: 48 + dup1 + %eq(48) + %jumpi(sha2_const_48) + swap1 + + // case: 49 + dup1 + %eq(49) + %jumpi(sha2_const_49) + swap1 + + // case: 50 + dup1 + %eq(50) + %jumpi(sha2_const_50) + swap1 + + // case: 51 + dup1 + %eq(51) + %jumpi(sha2_const_51) + swap1 + + // case: 52 + dup1 + %eq(52) + %jumpi(sha2_const_52) + swap1 + + // case: 53 + dup1 + %eq(53) + %jumpi(sha2_const_53) + swap1 + + // case: 54 + dup1 + %eq(54) + %jumpi(sha2_const_54) + swap1 + + // case: 55 + dup1 + %eq(55) + %jumpi(sha2_const_55) + swap1 + + // case: 56 + dup1 + %eq(56) + %jumpi(sha2_const_56) + swap1 + + // case: 57 + dup1 + %eq(57) + %jumpi(sha2_const_57) + swap1 + + // case: 58 + dup1 + %eq(58) + %jumpi(sha2_const_58) + swap1 + + // case: 59 + dup1 + %eq(59) + %jumpi(sha2_const_59) + swap1 + + // case: 60 + dup1 + %eq(60) + %jumpi(sha2_const_60) + swap1 + + // case: 61 + dup1 + %eq(61) + %jumpi(sha2_const_61) + swap1 + + // case: 62 + dup1 + %eq(62) + %jumpi(sha2_const_62) + swap1 + + // case: 63 + dup1 + %eq(63) + %jumpi(sha2_const_63) + swap1 + + // stack: i, k[i] + pop + // stack: k[i] \ No newline at end of file