?login_element?

Subversion Repositories NedoOS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

  1.     ; all of these should fail on LR35902
  2.     ; (some will emit damaged machine code of legit LR35902 instruction, like LD bc,ix)
  3.  
  4.     ORG 0x8000
  5.     ; VALID LR35902 instructions (not fake!)
  6. ldi_#hl#_a          ldi (hl),a      ; #22
  7. ldi_a_#hl#          ldi a,(hl)      ; #2A
  8. ldd_#hl#_a          ldd (hl),a      ; #32
  9. ldd_a_#hl#          ldd a,(hl)      ; #3A
  10.  
  11.     ; Z80 fake instructions
  12. rl_bc               rl bc
  13. rl_de               rl de
  14. rl_hl               rl hl
  15. rr_bc               rr bc
  16. rr_de               rr de
  17. rr_hl               rr hl
  18. sla_bc              sla bc
  19. sla_de              sla de
  20. sla_hl              sla hl
  21. sll_bc              sll bc
  22. sll_de              sll de
  23. sll_hl              sll hl
  24. sli_bc              sli bc
  25. sli_de              sli de
  26. sli_hl              sli hl
  27. sra_bc              sra bc
  28. sra_de              sra de
  29. sra_hl              sra hl
  30. srl_bc              srl bc
  31. srl_de              srl de
  32. srl_hl              srl hl
  33.  
  34. ld_bc_bc            ld bc,bc
  35. ld_bc_de            ld bc,de
  36. ld_bc_hl            ld bc,hl
  37. ld_bc_ix            ld bc,ix
  38. ld_bc_iy            ld bc,iy
  39. ld_bc_#hl#          ld bc,(hl)
  40. ld_bc_#ix_nn#       ld bc,(ix+$77)
  41. ld_bc_#iy_nn#       ld bc,(iy+$77)
  42.  
  43. ld_de_bc            ld de,bc
  44. ld_de_de            ld de,de
  45. ld_de_hl            ld de,hl
  46. ld_de_ix            ld de,ix
  47. ld_de_iy            ld de,iy
  48. ld_de_#hl#          ld de,(hl)
  49. ld_de_#ix_nn#       ld de,(ix+$77)
  50. ld_de_#iy_nn#       ld de,(iy+$77)
  51.  
  52. ld_hl_bc            ld hl,bc
  53. ld_hl_de            ld hl,de
  54. ld_hl_hl            ld hl,hl
  55. ld_hl_ix            ld hl,ix
  56. ld_hl_iy            ld hl,iy
  57. ld_hl_#ix_nn#       ld hl,(ix+$77)
  58. ld_hl_#iy_nn#       ld hl,(iy+$77)
  59.  
  60. ld_ix_bc            ld ix,bc
  61. ld_ix_de            ld ix,de
  62. ld_ix_hl            ld ix,hl
  63. ld_ix_ix            ld ix,ix
  64. ld_ix_iy            ld ix,iy
  65.  
  66. ld_iy_bc            ld iy,bc
  67. ld_iy_de            ld iy,de
  68. ld_iy_hl            ld iy,hl
  69. ld_iy_ix            ld iy,ix
  70. ld_iy_iy            ld iy,iy
  71.  
  72. ld_#hl#_bc          ld (hl),bc
  73. ld_#hl#_de          ld (hl),de
  74.  
  75. ld_#ix_nn#_bc       ld (ix+$77),bc
  76. ld_#ix_nn#_de       ld (ix+$77),de
  77. ld_#ix_nn#_hl       ld (ix+$77),hl
  78.  
  79. ld_#iy_nn#_bc       ld (iy+$77),bc
  80. ld_#iy_nn#_de       ld (iy+$77),de
  81. ld_#iy_nn#_hl       ld (iy+$77),hl
  82.  
  83. ldi_bc_#hl#         ldi bc,(hl)
  84. ldi_bc_#ix_nn#      ldi bc,(ix+$77)
  85. ldi_bc_#iy_nn#      ldi bc,(iy+$77)
  86.  
  87. ldi_de_#hl#         ldi de,(hl)
  88. ldi_de_#ix_nn#      ldi de,(ix+$77)
  89. ldi_de_#iy_nn#      ldi de,(iy+$77)
  90.  
  91. ldi_hl_#ix_nn#      ldi hl,(ix+$77)
  92. ldi_hl_#iy_nn#      ldi hl,(iy+$77)
  93.  
  94. ldi_#hl#_bc         ldi (hl),bc
  95. ldi_#hl#_de         ldi (hl),de
  96.  
  97. ldi_#ix_nn#_bc      ldi (ix+$77),bc
  98. ldi_#ix_nn#_de      ldi (ix+$77),de
  99. ldi_#ix_nn#_hl      ldi (ix+$77),hl
  100.  
  101. ldi_#iy_nn#_bc      ldi (iy+$77),bc
  102. ldi_#iy_nn#_de      ldi (iy+$77),de
  103. ldi_#iy_nn#_hl      ldi (iy+$77),hl
  104.  
  105. ldi_a_#bc#          ldi a,(bc)
  106. ldi_a_#de#          ldi a,(de)
  107. ldi_b_#hl#          ldi b,(hl)
  108. ldi_c_#hl#          ldi c,(hl)
  109. ldi_d_#hl#          ldi d,(hl)
  110. ldi_e_#hl#          ldi e,(hl)
  111. ldi_h_#hl#          ldi h,(hl)
  112. ldi_l_#hl#          ldi l,(hl)
  113. ldi_a_#ix_nn#       ldi a,(ix+$77)
  114. ldi_b_#ix_nn#       ldi b,(ix+$77)
  115. ldi_c_#ix_nn#       ldi c,(ix+$77)
  116. ldi_d_#ix_nn#       ldi d,(ix+$77)
  117. ldi_e_#ix_nn#       ldi e,(ix+$77)
  118. ldi_h_#ix_nn#       ldi h,(ix+$77)
  119. ldi_l_#ix_nn#       ldi l,(ix+$77)
  120. ldi_a_#iy_nn#       ldi a,(iy+$77)
  121. ldi_b_#iy_nn#       ldi b,(iy+$77)
  122. ldi_c_#iy_nn#       ldi c,(iy+$77)
  123. ldi_d_#iy_nn#       ldi d,(iy+$77)
  124. ldi_e_#iy_nn#       ldi e,(iy+$77)
  125. ldi_h_#iy_nn#       ldi h,(iy+$77)
  126. ldi_l_#iy_nn#       ldi l,(iy+$77)
  127.  
  128. ldd_a_#bc#          ldd a,(bc)
  129. ldd_a_#de#          ldd a,(de)
  130. ldd_b_#hl#          ldd b,(hl)
  131. ldd_c_#hl#          ldd c,(hl)
  132. ldd_d_#hl#          ldd d,(hl)
  133. ldd_e_#hl#          ldd e,(hl)
  134. ldd_h_#hl#          ldd h,(hl)
  135. ldd_l_#hl#          ldd l,(hl)
  136. ldd_a_#ix_nn#       ldd a,(ix+$77)
  137. ldd_b_#ix_nn#       ldd b,(ix+$77)
  138. ldd_c_#ix_nn#       ldd c,(ix+$77)
  139. ldd_d_#ix_nn#       ldd d,(ix+$77)
  140. ldd_e_#ix_nn#       ldd e,(ix+$77)
  141. ldd_h_#ix_nn#       ldd h,(ix+$77)
  142. ldd_l_#ix_nn#       ldd l,(ix+$77)
  143. ldd_a_#iy_nn#       ldd a,(iy+$77)
  144. ldd_b_#iy_nn#       ldd b,(iy+$77)
  145. ldd_c_#iy_nn#       ldd c,(iy+$77)
  146. ldd_d_#iy_nn#       ldd d,(iy+$77)
  147. ldd_e_#iy_nn#       ldd e,(iy+$77)
  148. ldd_h_#iy_nn#       ldd h,(iy+$77)
  149. ldd_l_#iy_nn#       ldd l,(iy+$77)
  150.  
  151. ldi_#bc#_a          ldi (bc),a
  152. ldi_#de#_a          ldi (de),a
  153. ldi_#hl#_b          ldi (hl),b
  154. ldi_#hl#_c          ldi (hl),c
  155. ldi_#hl#_d          ldi (hl),d
  156. ldi_#hl#_e          ldi (hl),e
  157. ldi_#hl#_h          ldi (hl),h
  158. ldi_#hl#_l          ldi (hl),l
  159. ldi_#ix_nn#_a       ldi (ix+$77),a
  160. ldi_#ix_nn#_b       ldi (ix+$77),b
  161. ldi_#ix_nn#_c       ldi (ix+$77),c
  162. ldi_#ix_nn#_d       ldi (ix+$77),d
  163. ldi_#ix_nn#_e       ldi (ix+$77),e
  164. ldi_#ix_nn#_h       ldi (ix+$77),h
  165. ldi_#ix_nn#_l       ldi (ix+$77),l
  166. ldi_#iy_nn#_a       ldi (iy+$77),a
  167. ldi_#iy_nn#_b       ldi (iy+$77),b
  168. ldi_#iy_nn#_c       ldi (iy+$77),c
  169. ldi_#iy_nn#_d       ldi (iy+$77),d
  170. ldi_#iy_nn#_e       ldi (iy+$77),e
  171. ldi_#iy_nn#_h       ldi (iy+$77),h
  172. ldi_#iy_nn#_l       ldi (iy+$77),l
  173.  
  174. ldd_#bc#_a          ldd (bc),a
  175. ldd_#de#_a          ldd (de),a
  176. ldd_#hl#_b          ldd (hl),b
  177. ldd_#hl#_c          ldd (hl),c
  178. ldd_#hl#_d          ldd (hl),d
  179. ldd_#hl#_e          ldd (hl),e
  180. ldd_#hl#_h          ldd (hl),h
  181. ldd_#hl#_l          ldd (hl),l
  182. ldd_#ix_nn#_a       ldd (ix+$77),a
  183. ldd_#ix_nn#_b       ldd (ix+$77),b
  184. ldd_#ix_nn#_c       ldd (ix+$77),c
  185. ldd_#ix_nn#_d       ldd (ix+$77),d
  186. ldd_#ix_nn#_e       ldd (ix+$77),e
  187. ldd_#ix_nn#_h       ldd (ix+$77),h
  188. ldd_#ix_nn#_l       ldd (ix+$77),l
  189. ldd_#iy_nn#_a       ldd (iy+$77),a
  190. ldd_#iy_nn#_b       ldd (iy+$77),b
  191. ldd_#iy_nn#_c       ldd (iy+$77),c
  192. ldd_#iy_nn#_d       ldd (iy+$77),d
  193. ldd_#iy_nn#_e       ldd (iy+$77),e
  194. ldd_#iy_nn#_h       ldd (iy+$77),h
  195. ldd_#iy_nn#_l       ldd (iy+$77),l
  196.  
  197. ldi_#hl#_nn         ldi (hl),$44
  198. ldi_#ix_nn#_nn      ldi (ix+$77),$44
  199. ldi_#iy_nn#_nn      ldi (iy+$77),$44
  200.  
  201. ldd_#hl#_nn         ldd (hl),$44
  202. ldd_#ix_nn#_nn      ldd (ix+$77),$44
  203. ldd_#iy_nn#_nn      ldd (iy+$77),$44
  204.  
  205. sub_hl_bc           sub hl,bc
  206. sub_hl_de           sub hl,de
  207. sub_hl_hl           sub hl,hl
  208. sub_hl_sp           sub hl,sp
  209.  
  210.     ; ZXNext section - there are no true regular fakes yet, but some specials
  211. zxn_mul             mul         ; no warning "correct" syntax: "mul d,e" and "mul de"
  212.     ; these definitely should not work in LR35902 mode (trying to switch --zxnext is fatal error)
  213. zxn_csp_break       break       ; CSpect emulator only: breakpoint instruction
  214. zxn_csp_exit        exit        ; CSpect emulator only: exit instruction
  215.