Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1.  
  2. BufferSizeI     =       1*1024
  3. BufferSizeO     =       1*1024
  4.  
  5.         use32
  6.  
  7. rax     equ     eax
  8. rbx     equ     ebx
  9. rcx     equ     ecx
  10. rdx     equ     edx
  11. rsi     equ     esi
  12. rdi     equ     edi
  13. rbp     equ     ebp
  14. rsp     equ     esp
  15.  
  16. dq      equ     dd
  17.  
  18. macro   dv A,B
  19. {
  20.         db A
  21.         dw B
  22. }
  23.  
  24. macro   dy A,B,C
  25. {
  26.         db A,B
  27.         dw C
  28. }
  29.  
  30. macro   cmova   Dst,Src
  31. {
  32. local ..L
  33.         jna     ..L
  34.         mov     Dst,Src
  35. ..L:
  36. }
  37.  
  38. macro   cmovae  Dst,Src
  39. {
  40. local ..L
  41.         jnae    ..L
  42.         mov     Dst,Src
  43. ..L:
  44. }
  45.  
  46. macro   cmovb   Dst,Src
  47. {
  48. local ..L
  49.         jnb     ..L
  50.         mov     Dst,Src
  51. ..L:
  52. }
  53.  
  54. macro   cmovbe  Dst,Src
  55. {
  56. local ..L
  57.         jnbe    ..L
  58.         mov     Dst,Src
  59. ..L:
  60. }
  61.  
  62. macro   cmovg   Dst,Src
  63. {
  64. local ..L
  65.         jng     ..L
  66.         mov     Dst,Src
  67. ..L:
  68. }
  69.  
  70. macro   cmovge  Dst,Src
  71. {
  72. local ..L
  73.         jnge    ..L
  74.         mov     Dst,Src
  75. ..L:
  76. }
  77.  
  78. macro   cmovl   Dst,Src
  79. {
  80. local ..L
  81.         jnl     ..L
  82.         mov     Dst,Src
  83. ..L:
  84. }
  85.  
  86. macro   cmovle  Dst,Src
  87. {
  88. local ..L
  89.         jnle    ..L
  90.         mov     Dst,Src
  91. ..L:
  92. }
  93.  
  94. macro   cmovno  Dst,Src
  95. {
  96. local ..L
  97.         jo      ..L
  98.         mov     Dst,Src
  99. ..L:
  100. }
  101.  
  102. macro   cmovnp  Dst,Src
  103. {
  104. local ..L
  105.         jp      ..L
  106.         mov     Dst,Src
  107. ..L:
  108. }
  109.  
  110. macro   cmovns  Dst,Src
  111. {
  112. local ..L
  113.         js      ..L
  114.         mov     Dst,Src
  115. ..L:
  116. }
  117.  
  118. macro   cmovnz  Dst,Src
  119. {
  120. local ..L
  121.         jz      ..L
  122.         mov     Dst,Src
  123. ..L:
  124. }
  125.  
  126. macro   cmovo   Dst,Src
  127. {
  128. local ..L
  129.         jno     ..L
  130.         mov     Dst,Src
  131. ..L:
  132. }
  133.  
  134. macro   cmovp   Dst,Src
  135. {
  136. local ..L
  137.         jnp     ..L
  138.         mov     Dst,Src
  139. ..L:
  140. }
  141.  
  142. macro   cmovs   Dst,Src
  143. {
  144. local ..L
  145.         jns     ..L
  146.         mov     Dst,Src
  147. ..L:
  148. }
  149.  
  150. macro   cmovz   Dst,Src
  151. {
  152. local ..L
  153.         jnz     ..L
  154.         mov     Dst,Src
  155. ..L:
  156. }
  157.  
  158. macro   jrcxz   Dst
  159. {
  160.         jecxz   Dst
  161. }
  162.  
  163. use32
  164. InitDefault:
  165.         mov     [DefInst.Arch],CPUX32
  166.         mov     [DefInst.Size],15
  167.         mov     [DefInst.Negate],True
  168.  
  169.         mov     [DefInst.Base],-1
  170.         mov     [DefInst.Indx],-1
  171.         mov     [DefInst.Scale],-1
  172.         ret
  173.  
  174. include "disasm.asm"
  175.  
  176. CrLf            db 0
  177. TheL            db 0
  178. LastByte        db 0
  179. IgnoreInvalid   db 0 ;Ignore invalid VEX/XOP
  180. SpaceSize       dd 8
  181. Origin          dd 0
  182. TheBufferO      dd 0
  183.  
  184. _r8_    dd      ?
  185. _r9_    dd      ?
  186. _r10_   dq      ?
  187. _r15_   dq      ?
  188.