home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / new_file / programm / a56 / a56.lzh / examples / memtest.lis < prev    next >
Encoding:
File List  |  1994-09-02  |  7.7 KB  |  290 lines

  1.               ; simple memory test - runs test patterns through off-chip RAM
  2.               ;
  3.               ; written by Quinn Jensen (jensenq@qcj.icon.com)
  4.               ;
  5.               
  6.               include "ioequ.inc"
  7.               
  8.               
  9.               
  10. 000000        start   equ     $0000
  11. 00FF00        length  equ     $ff00
  12.               
  13. P:0000                org     p:$0000
  14. P:0000 0AF080         jmp     begin
  15. P:0001 000040
  16.               
  17. P:0040                org     p:$40
  18. P:0040        begin
  19. P:0040 08F4BE         movep   #$0f0f,x:m_bcr  ;wait states
  20. P:0041 000F0F
  21. P:0042 08F4A0         movep   #0,x:m_pbc      ;port B: parallel I/O
  22. P:0043 000000
  23. P:0044 08F4A2         movep   #-1,x:m_pbddr   ;port B: all output
  24. P:0045 FFFFFF
  25. P:0046 08F4A4          movep  #($1)<<7,x:m_pbd
  26. P:0047 000080
  27. P:0048 08F4A4          movep  #($1|3<<4)<<7,x:m_pbd           ;clear strobes
  28. P:0049 001880
  29.               
  30. P:004A        loop
  31. P:004A 44F400         move    #>$000000,x0    ;pattern
  32. P:004B 000000
  33. P:004C 0D007C         jsr     <dopat
  34. P:004D 44F400         move    #>$AAAAAA,x0    ;pattern
  35. P:004E AAAAAA
  36. P:004F 0D007C         jsr     <dopat
  37. P:0050 0D0064         jsr     <iatest
  38. P:0051 44F400         move    #>$555555,x0    ;pattern
  39. P:0052 555555
  40. P:0053 0D007C         jsr     <dopat
  41. P:0054 0D0064         jsr     <iatest
  42. P:0055 44F400         move    #>$FFFFFF,x0    ;pattern
  43. P:0056 FFFFFF
  44. P:0057 0D007C         jsr     <dopat
  45. P:0058 44F400         move    #>$DEADEE,x0    ;pattern
  46. P:0059 DEADEE
  47. P:005A 0D007C         jsr     <dopat
  48. P:005B 0D0064         jsr     <iatest
  49. P:005C 44F400         move    #>$123456,x0    ;pattern
  50. P:005D 123456
  51. P:005E 0D007C         jsr     <dopat
  52. P:005F 44F400         move    #>$876543,x0    ;pattern
  53. P:0060 876543
  54. P:0061 0D007C         jsr     <dopat
  55. P:0062 0D0064         jsr     <iatest
  56. P:0063 0C004A         jmp     <loop
  57.               
  58. P:0064        iatest
  59. P:0064 2E1A00         move    #$1a,a
  60. P:0065 0D00A6         jsr     <disp           ;show which test
  61. P:0066 60F400         move    #start,r0
  62. P:0067 000000
  63. P:0068 45F400         move    #length,x1
  64. P:0069 00FF00
  65. P:006A 06C500         do      x1,iafill
  66. P:006B 00006E
  67. P:006C 220E00         move    r0,a
  68. P:006D 200017         not     a
  69. P:006E 565800         move    a,x:(r0)+
  70. P:006F        iafill
  71. P:006F 60F400         move    #start,r0
  72. P:0070 000000
  73. P:0071 45F400         move    #length,x1
  74. P:0072 00FF00
  75. P:0073 06C500         do      x1,iacheck
  76. P:0074 00007A
  77. P:0075 54D800         move    x:(r0)+,a1
  78. P:0076 220F00         move    r0,b
  79. P:0077 20001F         not     b
  80. P:0078 21E400         move    b,x0
  81. P:0079 200043         eor     x0,a
  82. P:007A 0E2093         jne     <error
  83. P:007B        iacheck
  84.               
  85. P:007B 00000C         rts
  86.               
  87. P:007C        dopat
  88. P:007C 209F00         move    x0,n7
  89. P:007D 208E00         move    x0,a
  90. P:007E 0D00A6         jsr     <disp           ;show which pattern
  91. P:007F 23E400         move    n7,x0
  92. P:0080 45F400         move    #length,x1
  93. P:0081 00FF00
  94. P:0082 0D0085         jsr     <patfill
  95. P:0083 0D008B         jsr     <patcheck
  96. P:0084 00000C         rts
  97.               
  98. P:0085        patfill
  99. P:0085 60F400         move    #start,r0
  100. P:0086 000000
  101. P:0087 06C500         do      x1,lfill
  102. P:0088 000089
  103. P:0089 445800         move    x0,x:(r0)+
  104. P:008A        lfill
  105. P:008A 00000C         rts
  106.               
  107. P:008B        patcheck
  108. P:008B 60F400         move    #start,r0
  109. P:008C 000000
  110. P:008D 06C500         do      x1,lcheck
  111. P:008E 000091
  112. P:008F 54D800         move    x:(r0)+,a1
  113. P:0090 200043         eor     x0,a
  114. P:0091 0E2093         jne     <error
  115. P:0092        lcheck
  116. P:0092 00000C         rts
  117.               
  118. 00012C        blink1  equ     300
  119. 000FA0        blink2  equ     4000
  120.               
  121. P:0093        error
  122. P:0093 208C00         move    x0,a1
  123. P:0094 0D00A6         jsr     <disp           ;display error code
  124. P:0095        eloop
  125. P:0095 0A700D         bclr    #13,x:m_pbd
  126. P:0096 00FFE4
  127. P:0097 0A700E         bclr    #14,x:m_pbd
  128. P:0098 00FFE4
  129. P:0099 062C81         do      #blink1,el1
  130. P:009A 00009C
  131. P:009B 06A0AF         rep     #blink2
  132. P:009C 000000         nop
  133. P:009D        el1
  134. P:009D 0A702D         bset    #13,x:m_pbd
  135. P:009E 00FFE4
  136. P:009F 0A702E         bset    #14,x:m_pbd
  137. P:00A0 00FFE4
  138. P:00A1 062C81         do      #blink1,el2
  139. P:00A2 0000A4
  140. P:00A3 06A0AF         rep     #blink2
  141. P:00A4 000000         nop
  142. P:00A5        el2
  143. P:00A5 0C0095         jmp     <eloop
  144.               
  145.               include "disp.a56"
  146.  
  147. Summary of psect usage
  148.  
  149.                  section seg base last top      used       avail    total
  150. -------------------------------------------------------------------------
  151.  
  152.  
  153. Symbol Table
  154. -------------------------------------
  155.             loop 00004A
  156.            begin 000040
  157.            start 000000
  158.          iacheck 00007B
  159.           iafill 00006F
  160.           iatest 000064
  161.              el2 0000A5
  162.              el1 00009D
  163.            eloop 000095
  164.           length 00FF00
  165.            lfill 00008A
  166.            dopat 00007C
  167.             disp 0000A6
  168.           blink2 000FA0
  169.           blink1 00012C
  170.           lcheck 000092
  171.         patcheck 00008B
  172.          patfill 000085
  173.            error 000093
  174.           m_scl1 00000F
  175.           m_scl0 00000E
  176.            m_scl 00C000
  177.           m_ssl1 00000D
  178.           m_ssl0 00000C
  179.            m_ssl 003000
  180.           m_hpl1 00000B
  181.           m_hpl0 00000A
  182.            m_hpl 000C00
  183.           m_ibl2 000005
  184.           m_ibl1 000004
  185.           m_ibl0 000003
  186.            m_ibl 000038
  187.           m_ial2 000002
  188.           m_ial1 000001
  189.           m_ial0 000000
  190.            m_ial 000007
  191.            m_ipr 00FFFF
  192.            m_rdf 000007
  193.            m_tde 000006
  194.            m_roe 000005
  195.            m_tue 000004
  196.            m_rfs 000003
  197.            m_tfs 000002
  198.            m_if1 000001
  199.            m_if0 000000
  200.             m_if 000002
  201.           m_srie 00000F
  202.           m_stie 00000E
  203.            m_sre 00000D
  204.            m_ste 00000C
  205.            m_mod 00000B
  206.            m_gck 00000A
  207.            m_syn 000009
  208.            m_fsl 000008
  209.           m_sckd 000005
  210.           m_scd2 000004
  211.           m_scd1 000003
  212.           m_scd0 000002
  213.            m_scd 00001C
  214.            m_of1 000001
  215.            m_of0 000000
  216.             m_of 000003
  217.            m_psr 00000F
  218.            m_wl1 00000E
  219.            m_wl0 00000D
  220.             m_wl 006000
  221.             m_dc 001F00
  222.             m_pm 0000FF
  223.            m_tsr 00FFEE
  224.             m_sr 00FFEE
  225.            m_crb 00FFED
  226.            m_cra 00FFEC
  227.             m_tx 00FFEF
  228.             m_rx 00FFEF
  229.            m_tcm 00000F
  230.            m_rcm 00000E
  231.            m_scp 00000D
  232.            m_cod 00000C
  233.             m_cd 000FFF
  234.             m_r8 000007
  235.             m_fe 000006
  236.             m_pe 000005
  237.             m_or 000004
  238.           m_idle 000003
  239.           m_rdrf 000002
  240.           m_tdre 000001
  241.           m_trne 000000
  242.           m_tmie 00000D
  243.            m_tie 00000C
  244.            m_rie 00000B
  245.           m_ilie 00000A
  246.             m_te 000009
  247.             m_re 000008
  248.           m_woms 000007
  249.            m_rwi 000006
  250.           m_wake 000005
  251.            m_sbk 000004
  252.           m_wds2 000002
  253.           m_wds1 000001
  254.           m_wds0 000000
  255.            m_wds 000003
  256.           m_sccr 00FFF2
  257.            m_ssr 00FFF1
  258.            m_scr 00FFF0
  259.           m_stxa 00FFF3
  260.           m_stxh 00FFF6
  261.           m_stxm 00FFF5
  262.           m_stxl 00FFF4
  263.           m_srxh 00FFF6
  264.           m_srxm 00FFF5
  265.           m_srxl 00FFF4
  266.            m_dma 000007
  267.            m_hf1 000004
  268.            m_hf0 000003
  269.             m_hf 000018
  270.            m_hcp 000002
  271.           m_htde 000001
  272.           m_hrdf 000000
  273.            m_hf3 000004
  274.            m_hf2 000003
  275.           m_hcie 000002
  276.           m_htie 000001
  277.           m_hrie 000000
  278.            m_htx 00FFEB
  279.            m_hrx 00FFEB
  280.            m_hsr 00FFE9
  281.            m_hcr 00FFE8
  282.            m_pcd 00FFE5
  283.          m_pcddr 00FFE3
  284.            m_pcc 00FFE1
  285.            m_pbd 00FFE4
  286.          m_pbddr 00FFE2
  287.            m_pbc 00FFE0
  288.            m_bcr 00FFFE
  289. errors=0
  290.