Sharp X68000 Disassemblies
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

cache.s 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. ;=============================================
  2. ; Filename cache.x
  3. ;
  4. ;
  5. ; Base address 000000
  6. ; Exec address 000000
  7. ; Text size 00032a byte(s)
  8. ; Data size 000000 byte(s)
  9. ; Bss size 000400 byte(s)
  10. ; 31 Labels
  11. ;
  12. ; Commandline dis -b2 -h -m68000 --sp -q1 -B -M -o120 -gcache.lab --overwrite cache.x cache.s
  13. ; DIS version 3.16
  14. ;=============================================
  15. .include inc/doscall.mac
  16. .include inc/iocscall.mac
  17. .include inc/fefunc.mac
  18. .cpu 68000
  19. .text
  20. L000000:
  21. lea.l (L00072a,pc),sp
  22. clr.l -(sp)
  23. DOS _SUPER
  24. addq.l #4,sp
  25. cmpi.b #$01,($00000cbc).l
  26. bls.s L000022
  27. addq.l #1,a2
  28. bsr.w L000162
  29. bne.s L00002c
  30. bsr.w L000124
  31. bra.s L00002a
  32. L000022:
  33. pea.l (L000288,pc)
  34. L000026:
  35. DOS _PRINT
  36. addq.l #4,sp
  37. L00002a:
  38. DOS _EXIT
  39. L00002c:
  40. lea.l (L000170,pc),a1
  41. move.w #$ffff,($0004,a1)
  42. clr.w ($0006,a1)
  43. lsl.w #8,d0
  44. move.b (a2)+,d0
  45. ori.w #$2020,d0
  46. cmp.w #$6f6e,d0 ;'on'
  47. seq.b ($0000.w,a1)
  48. beq.s L00006a
  49. cmp.w #$6f66,d0 ;'of'
  50. seq.b ($0001,a1)
  51. beq.s L00006a
  52. cmp.w #$6465,d0 ;'de'
  53. seq.b ($0002,a1)
  54. bne.s L0000ae
  55. move.b ($00ed0090),d2
  56. bra.w L0000f8
  57. L00006a:
  58. tst.b (a2)
  59. beq.s L0000cc
  60. cmpi.b #$20,(a2)+ ;' '
  61. bne.s L00006a
  62. moveq.l #$01,d1
  63. moveq.l #$ac,d0
  64. trap #15
  65. move.l d0,d2
  66. clr.w ($0004,a1)
  67. L000080:
  68. bsr.w L000162
  69. beq.s L0000cc
  70. ori.b #$20,d0
  71. cmp.b #$69,d0 ;'i'
  72. bne.s L000096
  73. st.b ($0004,a1)
  74. bra.s L000080
  75. L000096:
  76. cmp.b #$64,d0 ;'d'
  77. bne.s L0000a2
  78. st.b ($0005,a1)
  79. bra.s L000080
  80. L0000a2:
  81. cmp.b #$73,d0 ;'s'
  82. bne.s L0000ae
  83. st.b ($0006,a1)
  84. bra.s L000080
  85. L0000ae:
  86. pea.l (L000178,pc)
  87. bra.w L000026
  88. L0000b6:
  89. move.b ($0004,a1),d0
  90. beq.s L0000c0
  91. bset.l #$00,d2
  92. L0000c0:
  93. move.b ($0005,a1),d0
  94. beq.s L0000f8
  95. bset.l #$01,d2
  96. bra.s L0000f8
  97. L0000cc:
  98. move.b ($0006,a1),d0
  99. beq.s L0000de
  100. tst.w ($0004,a1)
  101. bne.s L0000de
  102. move.w #$ffff,($0004,a1)
  103. L0000de:
  104. move.b ($0000.w,a1),d0
  105. bne.s L0000b6
  106. move.b ($0004,a1),d0
  107. beq.s L0000ee
  108. bclr.l #$00,d2
  109. L0000ee:
  110. move.b ($0005,a1),d0
  111. beq.s L0000f8
  112. bclr.l #$01,d2
  113. L0000f8:
  114. moveq.l #$04,d1
  115. moveq.l #$ac,d0
  116. trap #15
  117. bsr.s L000124
  118. move.b ($0006,a1),d0
  119. beq.w L00002a
  120. move.b #$31,($00e8e00d) ;'1'
  121. move.b d2,($00ed0090)
  122. clr.b ($00e8e00d)
  123. pea.l (L0002b6,pc)
  124. bra.w L000026
  125. L000124:
  126. moveq.l #$01,d1
  127. moveq.l #$ac,d0
  128. trap #15
  129. move.l d0,d1
  130. pea.l (L0002f6,pc)
  131. DOS _PRINT
  132. addq.l #4,sp
  133. btst.l #$00,d1
  134. sne.b d0
  135. bsr.s L00014e
  136. pea.l (L000310,pc)
  137. DOS _PRINT
  138. addq.l #4,sp
  139. btst.l #$01,d1
  140. sne.b d0
  141. bsr.s L00014e
  142. rts
  143. L00014e:
  144. lea.l (L0002e6,pc),a0
  145. tst.b d0
  146. bne.s L00015a
  147. lea.l (L0002ed,pc),a0
  148. L00015a:
  149. move.l a0,-(sp)
  150. DOS _PRINT
  151. addq.l #4,sp
  152. rts
  153. L000162:
  154. cmpi.b #$20,(a2) ;' '
  155. bne.s L00016c
  156. addq.l #1,a2
  157. bra.s L000162
  158. L00016c:
  159. move.b (a2)+,d0
  160. rts
  161. L000170:
  162. .dc.b $00,$00,$00,$00,$00,$00,$00,$00
  163. L000178:
  164. .dc.b 'On-Chip Cache control for MC68030 Copyright 1993 SHARP',$0d,$0a
  165. .dc.b '使用法:cache on|off|def [ids]',$0d,$0a
  166. .dc.b $09,'on.....キャッシュオン',$0d,$0a
  167. .dc.b $09,'off....キャッシュオフ',$0d,$0a
  168. .dc.b $09,'def....S-RAM に設定された状態に戻す',$0d,$0a
  169. .dc.b $09,'i......命令キャッシュの指定',$0d,$0a
  170. .dc.b $09,'d......データキャッシュの指定',$0d,$0a
  171. .dc.b $09,'s......S-RAM に指定した状態を設定',$0d,$0a,$00
  172. L000288:
  173. .dc.b 'MC68000/10 にはキャッシュメモリがありません',$0d,$0a,$00
  174. L0002b6:
  175. .dc.b '現在のキャッシュの状態を S-RAM に設定しました',$0d,$0a,$00
  176. L0002e6:
  177. .dc.b 'ON',$0d,$0a,$00
  178. L0002ed:
  179. .dc.b 'OFF',$0d,$0a,$00
  180. L0002f6:
  181. .dc.b '命令キャッシュ...........',$00
  182. L000310:
  183. .dc.b 'データキャッシュ.........',$00
  184. .bss
  185. L00032a:
  186. .ds.b 1024
  187. L00072a:
  188. .end L000000