Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #cpudef
- {
- #bits 8
- #labelalign 2
- #tokendef reg
- {
- r0 = 0
- r1 = 1
- r2 = 2
- r3 = 3
- r4 = 4
- r5 = 5
- r6 = 6
- r7 = 7
- r8 = 8
- r9 = 9
- r10 = 10
- r11 = 11
- r12 = 12
- r13 = 13
- sp = 15
- h = 14
- }
- nop -> 16'0x0000
- mov.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x1 @ 4'0x0
- mov.w {dest: reg}, {src: reg} + {value} -> src[3:0] @ dest[3:0] @ 4'0xe @ 4'0x0 @ value[31:16] @ value[15:0]
- mov.w {dest: reg}, {src: reg} - {value} -> src[3:0] @ dest[3:0] @ 4'0xe @ 4'0x0 @ -value[31:16] @ -value[15:0]
- mov.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0xd @ 4'0x0 @ 8'0x00 @ value[7:0]
- mov.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x2 @ 4'0x0 @ value[15:0]
- mov.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0xb @ 4'0x0 @ value[31:16] @ value[15:0]
- in {dest: reg}, [{value}] -> 4'0x0 @ dest[3:0] @ 4'0x3 @ 4'0x0 @ value[15:0]
- out [{value}], {src: reg} -> src[3:0] @ 4'0x0 @ 4'0x4 @ 4'0x0 @ value[15:0]
- push {dest: reg} -> 4'0x0 @ dest[3:0] @ 4'0x5 @ 4'0x0
- push {value} -> 4'0x0 @ 4'0x0 @ 4'0x6 @ 4'0x0 @ value[31:16] @ value[15:0]
- pop {dest: reg} -> 4'0x0 @ dest[3:0] @ 4'0x7 @ 4'0x0
- ret -> 8'0x00 @ 4'0x8 @ 4'0x0
- iret -> 8'0x00 @ 4'0x9 @ 4'0x0
- swap {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x0
- irq {val1}, {val2} -> val1[3:0]@ 3'0x0@val2[0:0] @ 4'0xc @ 4'0x0
- halt -> 16'0xfff0
- j {value} -> 8'0x00 @ 4'0x0 @ 4'0x1 @ value[31:16] @ value[15:0]
- jz {value} -> 8'0x00 @ 4'0x1 @ 4'0x1 @ value[31:16] @ value[15:0]
- jnz {value} -> 8'0x00 @ 4'0x2 @ 4'0x1 @ value[31:16] @ value[15:0]
- jc {value} -> 8'0x00 @ 4'0x3 @ 4'0x1 @ value[31:16] @ value[15:0]
- jnc {value} -> 8'0x00 @ 4'0x4 @ 4'0x1 @ value[31:16] @ value[15:0]
- jo {value} -> 8'0x00 @ 4'0x5 @ 4'0x1 @ value[31:16] @ value[15:0]
- jno {value} -> 8'0x00 @ 4'0x6 @ 4'0x1 @ value[31:16] @ value[15:0]
- jp {value} -> 8'0x00 @ 4'0x7 @ 4'0x1 @ value[31:16] @ value[15:0]
- jge {value} -> 8'0x00 @ 4'0x7 @ 4'0x1 @ value[31:16] @ value[15:0]
- jnp {value} -> 8'0x00 @ 4'0x8 @ 4'0x1 @ value[31:16] @ value[15:0]
- js {value} -> 8'0x00 @ 4'0x8 @ 4'0x1 @ value[31:16] @ value[15:0]
- jg {value} -> 8'0x00 @ 4'0x9 @ 4'0x1 @ value[31:16] @ value[15:0]
- jse {value} -> 8'0x00 @ 4'0xa @ 4'0x1 @ value[31:16] @ value[15:0]
- call {value} -> 8'0x00 @ 4'0x0 @ 4'0x2 @ value[31:16] @ value[15:0]
- callz {value} -> 8'0x00 @ 4'0x1 @ 4'0x2 @ value[31:16] @ value[15:0]
- callnz {value} -> 8'0x00 @ 4'0x2 @ 4'0x2 @ value[31:16] @ value[15:0]
- callc {value} -> 8'0x00 @ 4'0x3 @ 4'0x2 @ value[31:16] @ value[15:0]
- callnc {value} -> 8'0x00 @ 4'0x4 @ 4'0x2 @ value[31:16] @ value[15:0]
- callo {value} -> 8'0x00 @ 4'0x5 @ 4'0x2 @ value[31:16] @ value[15:0]
- callno {value} -> 8'0x00 @ 4'0x6 @ 4'0x2 @ value[31:16] @ value[15:0]
- callp {value} -> 8'0x00 @ 4'0x7 @ 4'0x2 @ value[31:16] @ value[15:0]
- callge {value} -> 8'0x00 @ 4'0x7 @ 4'0x2 @ value[31:16] @ value[15:0]
- callnp {value} -> 8'0x00 @ 4'0x8 @ 4'0x2 @ value[31:16] @ value[15:0]
- calls {value} -> 8'0x00 @ 4'0x8 @ 4'0x2 @ value[31:16] @ value[15:0]
- callg {value} -> 8'0x00 @ 4'0x9 @ 4'0x2 @ value[31:16] @ value[15:0]
- callse {value} -> 8'0x00 @ 4'0xa @ 4'0x2 @ value[31:16] @ value[15:0]
- ld.b {dest: reg}, [{src: reg}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x3
- ld.s {dest: reg}, [{src: reg}] -> src[3:0] @ dest[3:0] @ 4'0x0 @ 4'0x3
- ld.w {dest: reg}, [{src: reg}] -> src[3:0] @ dest[3:0] @ 4'0x0 @ 4'0xc
- ld.b {dest: reg}, [{value}] -> 4'0x0 @ dest[3:0] @ 4'0x4 @ 4'0x3 @ value[31:16] @ value[15:0]
- ld.s {dest: reg}, [{value}] -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0x3 @ value[31:16] @ value[15:0]
- ld.w {dest: reg}, [{value}] -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0xc @ value[31:16] @ value[15:0]
- ld.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x3 @ value[31:16] @ value[15:0]
- ld.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x3 @ -value[31:16] @ -value[15:0]
- ld.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0xc @ value[31:16] @ value[15:0]
- ld.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0xc @ -value[31:16] @ -value[15:0]
- ld.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x3 @ value[31:16] @ value[15:0]
- ld.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x3 @ -value[31:16] @ -value[15:0]
- st.b [{dest: reg}], {src: reg} -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x3
- st.s [{dest: reg}], {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x8 @ 4'0x3
- st.w [{dest: reg}], {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x8 @ 4'0xc
- st.b [{value}], {src: reg} -> src[3:0] @ 4'0x0 @ 4'0xc @ 4'0x3 @ value[31:16] @ value[15:0]
- st.s [{value}], {src: reg} -> src[3:0] @ 4'0x0 @ 4'0x9 @ 4'0x3 @ value[31:16] @ value[15:0]
- st.w [{value}], {src: reg} -> src[3:0] @ 4'0x0 @ 4'0x9 @ 4'0xc @ value[31:16] @ value[15:0]
- st.s [{dest: reg} + {value}], {src: reg} -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x3 @ value[31:16] @ value[15:0]
- st.s [{dest: reg} - {value}], {src: reg} -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x3 @ -value[31:16] @ -value[15:0]
- st.w [{dest: reg} + {value}], {src: reg} -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0xc @ value[31:16] @ value[15:0]
- st.w [{dest: reg} - {value}], {src: reg} -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0xc @ -value[31:16] @ -value[15:0]
- st.b [{dest: reg} + {value}], {src: reg} -> src[3:0] @ dest[3:0] @ 4'0xd @ 4'0x3 @ value[31:16] @ value[15:0]
- st.b [{dest: reg} - {value}], {src: reg} -> src[3:0] @ dest[3:0] @ 4'0xd @ 4'0x3 @ -value[31:16] @ -value[15:0]
- add.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x0 @ 4'0x4
- add.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x0 @ 4'0xe @ 8'0x00 @ value[7:0]
- add.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0x4 @ value[15:0]
- add.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x0 @ 4'0xd @ value[31:16] @ value[15:0]
- add.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x4 @ value[31:16] @ value[15:0]
- add.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x4 @ -value[31:16] @ -value[15:0]
- add.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x4 @ value[31:16] @ value[15:0]
- add.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x4 @ -value[31:16] @ -value[15:0]
- add.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x4 @ value[31:16] @ value[15:0]
- add.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x4 @ -value[31:16] @ -value[15:0]
- uadd.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0x4 @ value[31:16] @ value[15:0]
- uadd.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0x4 @ -value[31:16] @ -value[15:0]
- uadd.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x4 @ value[31:16] @ value[15:0]
- uadd.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x4 @ -value[31:16] @ -value[15:0]
- uadd.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0x4 @ value[31:16] @ value[15:0]
- uadd.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0x4 @ -value[31:16] @ -value[15:0]
- sub.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x8 @ 4'0x4
- sub.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0xe @ 8'0x00 @ value[7:0]
- sub.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x9 @ 4'0x4 @ value[15:0]
- sub.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0xd @ value[31:16] @ value[15:0]
- sub.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x4 @ value[31:16] @ value[15:0]
- sub.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x4 @ -value[31:16] @ -value[15:0]
- sub.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x4 @ value[31:16] @ value[15:0]
- sub.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x4 @ -value[31:16] @ -value[15:0]
- sub.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x4 @ value[31:16] @ value[15:0]
- sub.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x4 @ -value[31:16] @ -value[15:0]
- usub.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xe @ 4'0x4 @ value[31:16] @ value[15:0]
- usub.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xe @ 4'0x4 @ -value[31:16] @ -value[15:0]
- usub.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xd @ 4'0x4 @ value[31:16] @ value[15:0]
- usub.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xd @ 4'0x4 @ -value[31:16] @ -value[15:0]
- usub.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xf @ 4'0x4 @ value[31:16] @ value[15:0]
- usub.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xf @ 4'0x4 @ -value[31:16] @ -value[15:0]
- and.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x0 @ 4'0x5
- and.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x2 @ 4'0xe @ 8'0x00 @ value[7:0]
- and.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0x5 @ value[15:0]
- and.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x2 @ 4'0xd @ value[31:16] @ value[15:0]
- and.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x5 @ value[31:16] @ value[15:0]
- and.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x5 @ -value[31:16] @ -value[15:0]
- and.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x5 @ value[31:16] @ value[15:0]
- and.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x5 @ -value[31:16] @ -value[15:0]
- and.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x5 @ value[31:16] @ value[15:0]
- and.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x5 @ -value[31:16] @ -value[15:0]
- uand {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0x5 @ value[31:16] @ value[15:0]
- uand {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0x5 @ -value[31:16] @ -value[15:0]
- uand.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x5 @ value[31:16] @ value[15:0]
- uand.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x5 @ -value[31:16] @ -value[15:0]
- uand.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0x5 @ value[31:16] @ value[15:0]
- uand.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0x5 @ -value[31:16] @ -value[15:0]
- or.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x8 @ 4'0x5
- or.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x3 @ 4'0xe @ 8'0x00 @ value[7:0]
- or.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x9 @ 4'0x5 @ value[15:0]
- or.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x3 @ 4'0xd @ value[31:16] @ value[15:0]
- or.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x5 @ value[31:16] @ value[15:0]
- or.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x5 @ -value[31:16] @ -value[15:0]
- or.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x5 @ value[31:16] @ value[15:0]
- or.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x5 @ -value[31:16] @ -value[15:0]
- or.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x5 @ value[31:16] @ value[15:0]
- or.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x5 @ -value[31:16] @ -value[15:0]
- uor.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xe @ 4'0x5 @ value[31:16] @ value[15:0]
- uor.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xe @ 4'0x5 @ -value[31:16] @ -value[15:0]
- uor.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xd @ 4'0x5 @ value[31:16] @ value[15:0]
- uor.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xd @ 4'0x5 @ -value[31:16] @ -value[15:0]
- uor.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xf @ 4'0x5 @ value[31:16] @ value[15:0]
- uor.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xf @ 4'0x5 @ -value[31:16] @ -value[15:0]
- xor.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x0 @ 4'0x6
- xor.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x4 @ 4'0xe @ 8'0x00 @ value[7:0]
- xor.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0x6 @ value[15:0]
- xor.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x4 @ 4'0xd @ value[31:16] @ value[15:0]
- xor.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x6 @ value[31:16] @ value[15:0]
- xor.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x6 @ -value[31:16] @ -value[15:0]
- xor.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x6 @ value[31:16] @ value[15:0]
- xor.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x6 @ -value[31:16] @ -value[15:0]
- xor.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x6 @ value[31:16] @ value[15:0]
- xor.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x6 @ -value[31:16] @ -value[15:0]
- uxor {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0x6 @ value[31:16] @ value[15:0]
- uxor {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0x6 @ -value[31:16] @ -value[15:0]
- uxor.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x6 @ value[31:16] @ value[15:0]
- uxor.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x6 @ -value[31:16] @ -value[15:0]
- uxor.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0x6 @ value[31:16] @ value[15:0]
- uxor.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0x6 @ -value[31:16] @ -value[15:0]
- neg.w {src: reg} -> src[3:0] @ 4'0x0 @ 4'0x8 @ 4'0x6
- neg.s [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x6 @ value[31:16] @ value[15:0]
- neg.s [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x6 @ -value[31:16] @ -value[15:0]
- neg.w [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x6 @ value[31:16] @ value[15:0]
- neg.w [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x6 @ -value[31:16] @ -value[15:0]
- neg.b [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x6 @ value[31:16] @ value[15:0]
- neg.b [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x6 @ -value[31:16] @ -value[15:0]
- shl.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x0 @ 4'0x7
- shl.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x5 @ 4'0xe @ 8'0x00 @ value[7:0]
- shl.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0x7 @ value[15:0]
- shl.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x5 @ 4'0xd @ value[31:16] @ value[15:0]
- shl.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x7 @ value[31:16] @ value[15:0]
- shl.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x7 @ -value[31:16] @ -value[15:0]
- shl.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x7 @ value[31:16] @ value[15:0]
- shl.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x7 @ -value[31:16] @ -value[15:0]
- shl.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x7 @ value[31:16] @ value[15:0]
- shl.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x7 @ -value[31:16] @ -value[15:0]
- shr.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x8 @ 4'0x7
- shr.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x6 @ 4'0xe @ 8'0x00 @ value[7:0]
- shr.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x9 @ 4'0x7 @ value[15:0]
- shr.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x6 @ 4'0xd @ value[31:16] @ value[15:0]
- shr.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x7 @ value[31:16] @ value[15:0]
- shr.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x7 @ -value[31:16] @ -value[15:0]
- shr.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x7 @ value[31:16] @ value[15:0]
- shr.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x7 @ -value[31:16] @ -value[15:0]
- shr.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x7 @ value[31:16] @ value[15:0]
- shr.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x7 @ -value[31:16] @ -value[15:0]
- mul.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x0 @ 4'0x8
- mul.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x7 @ 4'0xe @ 8'0x00 @ value[7:0]
- mul.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0x8 @ value[15:0]
- mul.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x7 @ 4'0xd @ value[31:16] @ value[15:0]
- mul.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x8 @ value[31:16] @ value[15:0]
- mul.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0x8 @ -value[31:16] @ -value[15:0]
- mul.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x8 @ value[31:16] @ value[15:0]
- mul.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0x8 @ -value[31:16] @ -value[15:0]
- mul.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x8 @ value[31:16] @ value[15:0]
- mul.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0x8 @ -value[31:16] @ -value[15:0]
- umul.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0x8 @ value[31:16] @ value[15:0]
- umul.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0x8 @ -value[31:16] @ -value[15:0]
- umul.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x8 @ value[31:16] @ value[15:0]
- umul.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0x8 @ -value[31:16] @ -value[15:0]
- umul.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0x8 @ value[31:16] @ value[15:0]
- umul.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0x8 @ -value[31:16] @ -value[15:0]
- div.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x8 @ 4'0x8
- div.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x8 @ 4'0xe @ 8'0x00 @ value[7:0]
- div.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x9 @ 4'0x8 @ value[15:0]
- div.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x8 @ 4'0xd @ value[31:16] @ value[15:0]
- div.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x8 @ value[31:16] @ value[15:0]
- div.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0x8 @ -value[31:16] @ -value[15:0]
- div.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x8 @ value[31:16] @ value[15:0]
- div.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0x8 @ -value[31:16] @ -value[15:0]
- div.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x8 @ value[31:16] @ value[15:0]
- div.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0x8 @ -value[31:16] @ -value[15:0]
- udiv.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xe @ 4'0x8 @ value[31:16] @ value[15:0]
- udiv.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xe @ 4'0x8 @ -value[31:16] @ -value[15:0]
- udiv.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xd @ 4'0x8 @ value[31:16] @ value[15:0]
- udiv.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xd @ 4'0x8 @ -value[31:16] @ -value[15:0]
- udiv.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xf @ 4'0x8 @ value[31:16] @ value[15:0]
- udiv.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xf @ 4'0x8 @ -value[31:16] @ -value[15:0]
- inc.w {dest: reg} -> 4'0x0 @ dest[3:0] @ 4'0x0 @ 4'0x9
- inc.s [{dest: reg}] -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0x9
- inc.s [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0x3 @ 4'0x9 @ value[31:16] @ value[15:0]
- inc.s [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0x3 @ 4'0x9 @ -value[31:16] @ -value[15:0]
- inc.w [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0x2 @ 4'0x9 @ value[31:16] @ value[15:0]
- inc.w [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0x2 @ 4'0x9 @ -value[31:16] @ -value[15:0]
- inc.b [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0x4 @ 4'0x9 @ value[31:16] @ value[15:0]
- inc.b [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0x4 @ 4'0x9 @ -value[31:16] @ -value[15:0]
- uinc.s [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0x6 @ 4'0x9 @ value[31:16] @ value[15:0]
- uinc.s [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0x6 @ 4'0x9 @ -value[31:16] @ -value[15:0]
- uinc.w [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0x5 @ 4'0x9 @ value[31:16] @ value[15:0]
- uinc.w [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0x5 @ 4'0x9 @ -value[31:16] @ -value[15:0]
- uinc.b [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0x7 @ 4'0x9 @ value[31:16] @ value[15:0]
- uinc.b [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0x7 @ 4'0x9 @ -value[31:16] @ -value[15:0]
- dec.w {dest: reg} -> 4'0x0 @ dest[3:0] @ 4'0x8 @ 4'0x9
- dec.s [{dest: reg}] -> 4'0x0 @ dest[3:0] @ 4'0x9 @ 4'0x9
- dec.s [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0xb @ 4'0x9 @ value[31:16] @ value[15:0]
- dec.s [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0xb @ 4'0x9 @ -value[31:16] @ -value[15:0]
- dec.w [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0xa @ 4'0x9 @ value[31:16] @ value[15:0]
- dec.w [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0xa @ 4'0x9 @ -value[31:16] @ -value[15:0]
- dec.b [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0xc @ 4'0x9 @ value[31:16] @ value[15:0]
- dec.b [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0xc @ 4'0x9 @ -value[31:16] @ -value[15:0]
- udec.s [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0xe @ 4'0x9 @ value[31:16] @ value[15:0]
- udec.s [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0xe @ 4'0x9 @ -value[31:16] @ -value[15:0]
- udec.w [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0xd @ 4'0x9 @ value[31:16] @ value[15:0]
- udec.w [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0xd @ 4'0x9 @ -value[31:16] @ -value[15:0]
- udec.b [{dest: reg} + {value}] -> 4'0x0 @ dest[3:0] @ 4'0xf @ 4'0x9 @ value[31:16] @ value[15:0]
- udec.b [{dest: reg} - {value}] -> 4'0x0 @ dest[3:0] @ 4'0xf @ 4'0x9 @ -value[31:16] @ -value[15:0]
- cmp.w {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x0 @ 4'0xa
- cmp.b {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x9 @ 4'0xe @ 8'0x00 @ value[7:0]
- cmp.s {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x1 @ 4'0xa @ value[15:0]
- cmp.w {dest: reg}, {value} -> 4'0x0 @ dest[3:0] @ 4'0x9 @ 4'0xd @ value[31:16] @ value[15:0]
- cmp.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0xa @ value[31:16] @ value[15:0]
- cmp.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0xa @ -value[31:16] @ -value[15:0]
- cmp.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0xa @ value[31:16] @ value[15:0]
- cmp.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0xa @ -value[31:16] @ -value[15:0]
- cmp.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0xa @ value[31:16] @ value[15:0]
- cmp.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0xa @ -value[31:16] @ -value[15:0]
- ucmp.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0xa @ value[31:16] @ value[15:0]
- ucmp.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x6 @ 4'0xa @ -value[31:16] @ -value[15:0]
- ucmp.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0xa @ value[31:16] @ value[15:0]
- ucmp.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0xa @ -value[31:16] @ -value[15:0]
- ucmp.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0xa @ value[31:16] @ value[15:0]
- ucmp.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0x7 @ 4'0xa @ -value[31:16] @ -value[15:0]
- inv.w {dest: reg} -> 4'0x0 @ dest[3:0] @ 4'0x8 @ 4'0xa
- inv.s {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0xa @ value[31:16] @ value[15:0]
- inv.s {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xb @ 4'0xa @ -value[31:16] @ -value[15:0]
- inv.w {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0xa @ value[31:16] @ value[15:0]
- inv.w {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xa @ 4'0xa @ -value[31:16] @ -value[15:0]
- inv.b {dest: reg}, [{src: reg} + {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0xa @ value[31:16] @ value[15:0]
- inv.b {dest: reg}, [{src: reg} - {value}] -> src[3:0] @ dest[3:0] @ 4'0xc @ 4'0xa @ -value[31:16] @ -value[15:0]
- fadd {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x2 @ 4'0xb
- fsub {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x3 @ 4'0xb
- fmul {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x4 @ 4'0xb
- fdiv {dest: reg}, {src: reg} -> src[3:0] @ dest[3:0] @ 4'0x5 @ 4'0xb
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement