- // Move register to register
- mov_rr
- // Move literal into register
- mov_rl
- // Move register pointer into register
- mov_rp
- // Move register into register pointer
- mov_pr
- // Move literal pointer into register
- mov_rlp
- // Move register into literal pointer
- mov_lpr
- // Pop a dword off the stack into a register
- pop
- // Push a register onto the stack
- push_r
- // Push a dword onto the stack
- push_l
- // Jump
- jmp
- // Jump if less
- jl
- // Jump if equal
- je
- // Jump if greater
- jg
- // Jump if less than or equal
- jle
- // Jump if greater than or equal
- jge
- // Add a register to a register
- add_rr
- // Add a literal to a register
- add_rl
- // Subtract a register from a register
- sub_rr
- // Subtract a literal from a register
- sub_rl
- // Compare a register to another register
- cmp_rr
- // Compare a register to a literal
- cmp_rl
- // Halt the application
- halt
- // Sleep execution for a while
- sleep
- // Write the value of a register
- write_r
- // Write a literal 4 byte integer
- write_i
- // Write a literal character
- write_c
- // Write a string (literal address)
- write_ls
- // Write a string (register pointer)
- write_rs
- // Increment a register
- inc
- // Decrement a register
- dec
- // Jump if not equal
- jne
- // Call to literal address
- call
- // Return from call
- ret
- // Modulus (r % r)
- mod_rr
- // Modulus (r % l)
- mod_rl
- // External call to function in call table
- extcall
- // XOR register with another register
- xor_rr
- // XOR register with a literal
- xor_rl
- // OR register with another register
- or_rr
- // OR register with a literal
- or_rl
- // AND register with another register
- and_rr
- // AND register with a literal
- and_rl
- // Bitwise NOT a register
- not
- // Mathematical sign inversion of a register
- neg
- // Push all registers
- pushad
- // Pop all registers
- popad
- // Multiply two registers
- mul_rr
- // Multiply a register by a literal
- mul_rl
- // Divide two registers
- div_rr
- // Divide a register by a literal
- div_rl
- // Divide a literal by a register
- div_lr
- // Bitwise shift left (e.g. shl eax, eax)
- shl_rr
- // Bitwise shift left (e.g. shl eax, 2)
- shl_rl
- // Bitwise shift right (e.g. shl eax, eax)
- shr_rr
- // Bitwise shift right (e.g. shl eax, 2)
- shr_rl
- // Jump if overflow flag is set
- jo
- // Jump if overflow flag is not set
- jno
Instruction Set (v0.7a)
Posted by Anonymous on Fri 29th Apr 2011 02:37
raw | new post
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.