pastebin - collaborative debugging tool
polynomial.kpaste.net RSS


Instruction Set (v0.7a)
Posted by Anonymous on Fri 29th Apr 2011 02:37
raw | new post

  1. // Move register to register
  2. mov_rr
  3. // Move literal into register
  4. mov_rl
  5. // Move register pointer into register
  6. mov_rp
  7. // Move register into register pointer
  8. mov_pr
  9. // Move literal pointer into register
  10. mov_rlp
  11. // Move register into literal pointer
  12. mov_lpr
  13. // Pop a dword off the stack into a register
  14. pop
  15. // Push a register onto the stack
  16. push_r
  17. // Push a dword onto the stack
  18. push_l
  19. // Jump
  20. jmp
  21. // Jump if less
  22. jl
  23. // Jump if equal
  24. je
  25. // Jump if greater
  26. jg
  27. // Jump if less than or equal
  28. jle
  29. // Jump if greater than or equal
  30. jge
  31. // Add a register to a register
  32. add_rr
  33. // Add a literal to a register
  34. add_rl
  35. // Subtract a register from a register
  36. sub_rr
  37. // Subtract a literal from a register
  38. sub_rl
  39. // Compare a register to another register
  40. cmp_rr
  41. // Compare a register to a literal
  42. cmp_rl
  43. // Halt the application
  44. halt
  45. // Sleep execution for a while
  46. sleep
  47. // Write the value of a register
  48. write_r
  49. // Write a literal 4 byte integer
  50. write_i
  51. // Write a literal character
  52. write_c
  53. // Write a string (literal address)
  54. write_ls
  55. // Write a string (register pointer)
  56. write_rs
  57. // Increment a register
  58. inc
  59. // Decrement a register
  60. dec
  61. // Jump if not equal
  62. jne
  63. // Call to literal address
  64. call
  65. // Return from call
  66. ret
  67. // Modulus (r % r)
  68. mod_rr
  69. // Modulus (r % l)
  70. mod_rl
  71. // External call to function in call table
  72. extcall
  73. // XOR register with another register
  74. xor_rr
  75. // XOR register with a literal
  76. xor_rl
  77. // OR register with another register
  78. or_rr
  79. // OR register with a literal
  80. or_rl
  81. // AND register with another register
  82. and_rr
  83. // AND register with a literal
  84. and_rl
  85. // Bitwise NOT a register
  86. not
  87. // Mathematical sign inversion of a register
  88. neg
  89. // Push all registers
  90. pushad
  91. // Pop all registers
  92. popad
  93. // Multiply two registers
  94. mul_rr
  95. // Multiply a register by a literal
  96. mul_rl
  97. // Divide two registers
  98. div_rr
  99. // Divide a register by a literal
  100. div_rl
  101. // Divide a literal by a register
  102. div_lr
  103. // Bitwise shift left (e.g. shl eax, eax)
  104. shl_rr
  105. // Bitwise shift left (e.g. shl eax, 2)
  106. shl_rl
  107. // Bitwise shift right (e.g. shl eax, eax)
  108. shr_rr
  109. // Bitwise shift right (e.g. shl eax, 2)
  110. shr_rl
  111. // Jump if overflow flag is set
  112. jo
  113. // Jump if overflow flag is not set
  114. jno

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.

Syntax highlighting:

To highlight particular lines, prefix each line with {%HIGHLIGHT}





All content is user-submitted.
The administrators of this site (kpaste.net) are not responsible for their content.
Abuse reports should be emailed to us at