An emulator, assembler, and disassembler for the Sega Game Gear
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 

87 lignes
2.2 KiB

  1. ;; Copyright (C) 2014-2015 Ben Kurtovic <ben.kurtovic@gmail.com>
  2. ;; Released under the terms of the MIT License. See LICENSE for details.
  3. ; ----- CRATER UNIT TESTING SUITE ---------------------------------------------
  4. ; This file contains test cases for basic arithmetic operations on registers,
  5. ; without involving memory or control flow.
  6. .include "_header.asm"
  7. test:
  8. ld a, 0
  9. ld b, 0
  10. ld c, 0
  11. ld d, 0
  12. ld e, 0
  13. ld h, 0
  14. ld l, 0
  15. emu rassert(a=$00, b=$00, c=$00, d=$00, e=$00, h=$00, l=$00)
  16. inc a
  17. emu rassert(a=$01, b=$00, c=$00, d=$00, e=$00, h=$00, l=$00)
  18. emu fassert(s=0, z=0, f5=0, h=0, f3=0, pv=0, n=0)
  19. inc b
  20. emu rassert(a=$01, b=$01, c=$00, d=$00, e=$00, h=$00, l=$00)
  21. emu fassert(s=0, z=0, f5=0, h=0, f3=0, pv=0, n=0)
  22. inc c
  23. emu rassert(a=$01, b=$01, c=$01, d=$00, e=$00, h=$00, l=$00)
  24. emu fassert(s=0, z=0, f5=0, h=0, f3=0, pv=0, n=0)
  25. inc d
  26. emu rassert(a=$01, b=$01, c=$01, d=$01, e=$00, h=$00, l=$00)
  27. emu fassert(s=0, z=0, f5=0, h=0, f3=0, pv=0, n=0)
  28. inc e
  29. emu rassert(a=$01, b=$01, c=$01, d=$01, e=$01, h=$00, l=$00)
  30. emu fassert(s=0, z=0, f5=0, h=0, f3=0, pv=0, n=0)
  31. inc h
  32. emu rassert(a=$01, b=$01, c=$01, d=$01, e=$01, h=$01, l=$00)
  33. emu fassert(s=0, z=0, f5=0, h=0, f3=0, pv=0, n=0)
  34. inc l
  35. emu rassert(a=$01, b=$01, c=$01, d=$01, e=$01, h=$01, l=$01)
  36. emu fassert(s=0, z=0, f5=0, h=0, f3=0, pv=0, n=0)
  37. inc a
  38. inc a
  39. inc a
  40. emu rassert(a=$04, b=$01, c=$01, d=$01, e=$01, h=$01, l=$01)
  41. ld a, $0F
  42. emu rassert(a=$0F, b=$01, c=$01, d=$01, e=$01, h=$01, l=$01)
  43. inc a
  44. emu rassert(a=$10, b=$01, c=$01, d=$01, e=$01, h=$01, l=$01)
  45. emu fassert(s=0, z=0, f5=0, h=1, f3=0, pv=0, n=0)
  46. ld a, $FE
  47. inc a
  48. emu rassert(a=$FF, b=$01, c=$01, d=$01, e=$01, h=$01, l=$01)
  49. emu fassert(s=1, z=0, f5=1, h=1, f3=1, pv=0, n=0)
  50. inc a
  51. emu rassert(a=$00, b=$01, c=$01, d=$01, e=$01, h=$01, l=$01)
  52. emu fassert(s=0, z=1, f5=0, h=1, f3=0, pv=1, n=0)
  53. inc bc
  54. inc de
  55. inc hl
  56. emu rassert(a=$00, b=$01, c=$02, d=$01, e=$02, h=$01, l=$02)
  57. emu fassert(s=0, z=1, f5=0, h=1, f3=0, pv=1, n=0)
  58. ld c, $FF
  59. inc bc
  60. emu rassert(a=$00, b=$02, c=$00, d=$01, e=$02, h=$01, l=$02)
  61. ld b, $FF
  62. ld c, $FE
  63. inc bc
  64. emu rassert(a=$00, b=$FF, c=$FF, d=$01, e=$02, h=$01, l=$02)
  65. inc bc
  66. emu rassert(a=$00, b=$00, c=$00, d=$01, e=$02, h=$01, l=$02)