Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. link l1:ct
  2. link l2:rdm
  3. link ra:0,1,2,z
  4. link rb:8,9,10,z
  5.  
  6. equ ax:r0
  7. equ cx:r1
  8. equ dx:r2
  9. equ bx:r3
  10. equ sp:r4
  11. equ bp:r5
  12. equ si:r6
  13. equ ddi:r7
  14. equ cs:r8
  15. equ ss:r9
  16. equ ds:r10
  17. equ as:r11
  18. equ ip:r12
  19.  
  20. equ pom1: r13
  21. equ pom2: r14
  22. equ rr:r15
  23.  
  24. accept cs:5678h
  25. accept ip:FFFDh
  26.  
  27. accept ss:0002h
  28. accept sp:0001h
  29.  
  30. accept ax:2237h
  31. accept dx:FF00h
  32.  
  33. dw 6677Dh:6D01h, 7D03h, 8D04h, 5200h, 4200h, 9200h, 4A00h
  34.  
  35. dw 00020h:FFFFh, AAAAh, 0001h
  36.  
  37. dw 6678Fh:FFFFh, AAAAh, 0001h
  38.  
  39.  
  40. macro fl:{load rm, flags;}
  41. macro dec reg:{sub reg, reg, z, z; fl;}
  42. macro inc reg:{add reg, reg, 1, z; fl;}
  43. macro mov reg1, reg2:{or reg1, reg2, z;}
  44.  
  45. odczyt_rozkazu
  46. {mov pom1, cs;}
  47. {mov rq, ip;}
  48. {cjs nz, obadrfiz;}
  49. {mov nil, pom1; oey; ewl;}
  50. {mov nil, pom2; oey; ewh;}
  51. {R; mov rr, bus_d; cjp rdm, cp;}
  52.  
  53. \dekodowanie
  54. {mov pom1, cs;}
  55. {and rq, rr, FF00h;}
  56.  
  57. {xor nil, rq, 6D00h;fl;}
  58. {cjp RM_Z, roz_nop__dek2_wyk;}
  59.  
  60. {xor nil, rq, 7D00h;fl;}
  61. {cjp RM_Z, roz_nop2__dek2_wyk;}
  62.  
  63. {xor nil, rq, 8D00h;fl;}
  64. {cjp RM_Z, roz_nop3__dek2_wyk;}
  65.  
  66. {xor nil, rq, 5200h;fl;}
  67. {cjp RM_Z, pushreg;}
  68.  
  69. {xor nil, rq, 4200h;fl;}
  70. {cjp RM_Z, increg;}
  71.  
  72. {xor nil, rq, 9200h;fl;}
  73. {cjp RM_Z, xchgregax;}
  74.  
  75. {xor nil, rq, 4A00h;fl;}
  76. {cjp RM_Z, decreg;}
  77.  
  78. wroc
  79. {end;}
  80.  
  81. roz_nop__dek2_wyk
  82. {jmap zapis_powrotny;}
  83.  
  84. roz_nop2__dek2_wyk
  85. {jmap zapis_powrotny;}
  86.  
  87. roz_nop3__dek2_wyk
  88. {jmap zapis_powrotny;}
  89.  
  90. pushreg
  91. {cjs nz, exposeram;}
  92. {sub sp, sp, 1, nz; fl;}
  93.  
  94. {ADD rq,SP,0h;}
  95. {ADD pom1,SS,0h;}
  96. {cjs nz, obadrfiz;}
  97. {mov nil, pom1; oey; ewl;}
  98. {mov nil, pom2; oey; ewh;}
  99. {W; mov nil, rb; oey; cjp rdm, cp;}
  100. {jmap zapis_powrotny;}
  101.  
  102. increg
  103. {cjs nz, exposeram;}
  104. {add rb, rb, z, nz; load RN, flags;}
  105. {jmap zapis_powrotny;}
  106.  
  107. decreg
  108. {cjs nz, exposeram;}
  109. {or rq,rb,z;}
  110. {sub rq, rq, 1, nz; fl;}
  111. {or rb, rq, z;}
  112. {jmap zapis_powrotny;}
  113.  
  114. xchgregax
  115. {cjs nz, exposeram;}
  116.  
  117. {or rq,rb,z;}
  118. {XOR ax, ax, rq;fl;}
  119. {XOR rq, ax, rq;fl;}
  120. {XOR ax, ax, rq;fl;}
  121. {or rb, rq, z;}
  122. {jmap zapis_powrotny;}
  123.  
  124. exposeram
  125. {mov nil, rq; ewb; oey;}
  126. {crtn nz;}
  127.  
  128. zapis_powrotny
  129. {add ip, ip, 1, z; fl;}
  130. {cjp rm_z, modyf_cs;}
  131. {jmap odczyt_rozkazu;}
  132.  
  133. modyf_cs
  134. {add cs, cs, 1000h, z;}
  135. {jmap odczyt_rozkazu;}
  136.  
  137. obadrstos
  138. {mov pom1, ss;}
  139. {mov rq, sp;}
  140. {cjs nz, obadrfiz;}
  141. {crtn nz;}
  142.  
  143. obadrfiz{load rm,z;}
  144. {xor pom2, pom2, pom2;}
  145. {push nz, 3;}
  146. {sll pom1;}
  147. {sl.25 pom2;}
  148. {rfct;}
  149. {add pom1, pom1, rq, z; load RM, flags;}
  150. {add pom2, pom2, 0, rm_c;}
  151. {crtn nz;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement