home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / texts / boxes / dis80xx.lst < prev    next >
File List  |  1993-04-08  |  8KB  |  297 lines

  1. DATA "10011000","ANL   BUS,=",2
  2. DATA "10011001","ANL   P1,=",2
  3. DATA "10011010","ANL   P2,=",2
  4. DATA "100111pp","ANLD  Pp,A",1
  5. DATA "00001001","IN    A,P1",1
  6. DATA "00001010","IN    A,P2",1
  7. DATA "00001000","INS   A,BUS",1
  8. DATA "000011pp","MOVD  A,Pp",1
  9. DATA "001111pp","MOVD  Pp,A",1
  10. DATA "10001000","ORL   BUS,=",2
  11. DATA "100011pp","ORLD  Pp,A",1
  12. DATA "10001001","ORL   P1,=",2
  13. DATA "10001010","ORL   P2,=",2
  14. DATA "00000010","OUTL  BUS,A",1
  15. DATA "00111001","OUTL  P1,A",1
  16. DATA "00111010","OUTL  P2,A",1
  17.  
  18. DATA "11001ppp","DEC   Rp,(Rp)",1
  19. DATA "00011ppp","INC   Rp",1
  20. DATA "0001000p","INC   @Rp",1
  21.  
  22. DATA "ppp10100","CALL  $p",2
  23. DATA "10000011","RET   ",1
  24. DATA "10010011","RETR  ",1
  25.  
  26. DATA "00100101","EN    TCNTI",1
  27. DATA "00110101","DIS   TCNTI",1
  28. DATA "01000010","MOV   A,T",1
  29. DATA "01100010","MOV   T,A",1
  30. DATA "01100101","STOP  TCNTI",1
  31. DATA "01000101","STRT  CNT",1
  32. DATA "01010101","STRT  T",1
  33. DATA "00000000","NOP   ",1
  34.  
  35. DATA "00000011","ADD   A,=",2
  36. DATA "01101ppp","ADD   A,Rp",1
  37. DATA "0110000p","ADD   A,@Rp",1
  38. DATA "00010011","ADDC  A,=",2
  39. DATA "01111ppp","ADDC  A,Rp",1
  40. DATA "0111000p","ADDC  A,@Rp",1
  41. DATA "01010011","ANL   A,=",2
  42. DATA "01011ppp","ANL   A,Rp",1
  43. DATA "0101000p","ANL   A,@Rp",1
  44. DATA "00110111","CPL   A",1
  45. DATA "00100111","CLR   A",1
  46. DATA "01010111","DA    A",1
  47. DATA "00000111","DEC   A",1
  48. DATA "00010111","INC   A",1
  49. DATA "01000011","ORL   A,=",2
  50. DATA "01001ppp","ORL   A,Rp",1
  51. DATA "0100000p","ORL   A,@Rp",1
  52. DATA "11100111","RL    A",1
  53. DATA "11110111","RLC   A",1
  54. DATA "01110111","RR    A",1
  55. DATA "01100111","RRC   A",1
  56. DATA "01000111","SWAP  A",1
  57. DATA "11010011","XRL   A,=",2
  58. DATA "11011ppp","XRL   A,Rp",1
  59. DATA "1101000p","XRL   A,@Rp",1
  60.  
  61. DATA "11101ppp","DJNZ  Rp,$",2
  62. DATA "ppp10010","JBp   $",2
  63. DATA "11110110","JC    $",2
  64. DATA "10110110","JF0   $",2
  65. DATA "01110110","JF1   $",2
  66. DATA "ppp00100","JMP   $p",2
  67. DATA "10110011","JMPP  @",1
  68. DATA "11100110","JNC   $",2
  69. DATA "10000110","JNI   $",2
  70. DATA "00100110","JNT0  $",2
  71. DATA "01000110","JNT1  $",2
  72. DATA "10010110","JNZ   $",2
  73. DATA "00010110","JTF   $",2
  74. DATA "00110110","JT0   $",2
  75. DATA "01010110","JT1   $",2
  76. DATA "11000110","JZ    $",2
  77.  
  78. DATA "00000101","EN    I",1
  79. DATA "00010101","DIS   I",1
  80. DATA "01110101","ENT0  CLK",1
  81. DATA "11100101","SEL   MB0",1
  82. DATA "11110101","SEL   MB1",1
  83. DATA "11000101","SEL   RB0",1
  84. DATA "11010101","SEL   RB1",1
  85.  
  86. DATA "00100011","MOV   A,=",2
  87. DATA "11111ppp","MOV   A,Rp",1
  88. DATA "1111000p","MOV   A,@Rp",1
  89. DATA "11000111","MOV   A,PSW",1
  90. DATA "10111ppp","MOV   Rp,=",2
  91. DATA "10101ppp","MOV   Rp,A",1
  92. DATA "1010000p","MOV   @Rp,A",1
  93. DATA "1011000p","MOV   @Rp,=",2
  94. DATA "11010111","MOV   PSW,A",1
  95. DATA "10100011","MOVP  A,@A",1
  96. DATA "11100011","MOVP3 A,@A",1 
  97. DATA "1000000p","MOVX  A,@Rp",1
  98. DATA "1001000p","MOVX  @Rp,A",1
  99. DATA "00101ppp","XCH   A,Rp",1
  100. DATA "0010000p","XCH   A,Rp",1
  101. DATA "0011000p","XCHD  A,@Rp",1
  102.  
  103. DATA "10100111","CPL   C",1
  104. DATA "10010101","CPL   F0",1
  105. DATA "10110101","CPL   F1",1
  106. DATA "10010111","CLR   C",1
  107. DATA "10000101","CLR   F0",1
  108. DATA "10100101","CLR   F1",1
  109. DATA " "," ",0
  110.  
  111. 'make disassembler list
  112.  
  113. DIM op(255),op$(255)
  114. a=0:PRINT "a second..."
  115.  
  116. reader:
  117. READ opb$,op$,opn
  118. IF opb$=" " THEN main
  119. IF "ppp"=RIGHT$(opb$,3) THEN r3
  120. IF "pp"=RIGHT$(opb$,2) THEN r2
  121. IF "p"=RIGHT$(opb$,1) THEN r1
  122. IF "ppp"=LEFT$(opb$,3) THEN l3
  123. IF "pp"=LEFT$(opb$,2) THEN l2
  124. IF "p"=LEFT$(opb$,2) THEN l1
  125.  
  126. opc$=opb$
  127. p=-1:GOSUB insert
  128. GOTO reader
  129.  
  130. insert:
  131. op1$=op$
  132. IF p=-1 THEN oppp
  133. op1$=LEFT$(op$,INSTR(op$,"p")-1)+RIGHT$(STR$(p),1)+RIGHT$(op$,LEN(op$)-INSTR(op$,"p"))
  134. oppp:   
  135. op=0-(MID$(opc$,8,1)="1")
  136. op=op-(MID$(opc$,7,1)="1")*2
  137. op=op-(MID$(opc$,6,1)="1")*4
  138. op=op-(MID$(opc$,5,1)="1")*8
  139. op=op-(MID$(opc$,4,1)="1")*16
  140. op=op-(MID$(opc$,3,1)="1")*32
  141. op=op-(MID$(opc$,2,1)="1")*64
  142. op=op-(MID$(opc$,1,1)="1")*128
  143. PRINT ".";
  144. IF ((a+1)/64)=INT((a+1)/64) THEN PRINT 
  145. IF op(op) THEN PRINT "double error"
  146. op(op)=opn
  147. op$(op)=op1$
  148. a=a+1
  149. RETURN
  150.  
  151.  
  152.  
  153. l1:
  154. p=0:opc$="0"+RIGHT$(opb$,7):GOSUB insert
  155. p=1:opc$="1"+RIGHT$(opb$,7):GOSUB insert
  156. GOTO reader
  157.  
  158. l2:
  159. p=0:opc$="00"+RIGHT$(opb$,6):GOSUB insert
  160. p=1:opc$="01"+RIGHT$(opb$,6):GOSUB insert
  161. p=2:opc$="10"+RIGHT$(opb$,6):GOSUB insert
  162. p=3:opc$="11"+RIGHT$(opb$,6):GOSUB insert
  163. GOTO reader
  164.  
  165. l3:
  166. p=0:opc$="000"+RIGHT$(opb$,5):GOSUB insert
  167. p=1:opc$="001"+RIGHT$(opb$,5):GOSUB insert
  168. p=2:opc$="010"+RIGHT$(opb$,5):GOSUB insert
  169. p=3:opc$="011"+RIGHT$(opb$,5):GOSUB insert
  170. p=4:opc$="100"+RIGHT$(opb$,5):GOSUB insert
  171. p=5:opc$="101"+RIGHT$(opb$,5):GOSUB insert
  172. p=6:opc$="110"+RIGHT$(opb$,5):GOSUB insert
  173. p=7:opc$="111"+RIGHT$(opb$,5):GOSUB insert
  174. GOTO reader
  175.  
  176. r1:
  177. p=0:opc$=LEFT$(opb$,7)+"0":GOSUB insert
  178. p=1:opc$=LEFT$(opb$,7)+"1":GOSUB insert
  179. GOTO reader
  180.  
  181. r2:
  182. p=0:opc$=LEFT$(opb$,6)+"00":GOSUB insert
  183. p=1:opc$=LEFT$(opb$,6)+"01":GOSUB insert
  184. p=2:opc$=LEFT$(opb$,6)+"10":GOSUB insert
  185. p=3:opc$=LEFT$(opb$,6)+"11":GOSUB insert
  186. GOTO reader
  187.  
  188. r3:
  189. p=0:opc$=LEFT$(opb$,5)+"000":GOSUB insert
  190. p=1:opc$=LEFT$(opb$,5)+"001":GOSUB insert
  191. p=2:opc$=LEFT$(opb$,5)+"010":GOSUB insert
  192. p=3:opc$=LEFT$(opb$,5)+"011":GOSUB insert
  193. p=4:opc$=LEFT$(opb$,5)+"100":GOSUB insert
  194. p=5:opc$=LEFT$(opb$,5)+"101":GOSUB insert
  195. p=6:opc$=LEFT$(opb$,5)+"110":GOSUB insert
  196. p=7:opc$=LEFT$(opb$,5)+"111":GOSUB insert
  197. GOTO reader
  198.  
  199. main:
  200. CLS
  201. PRINT "************************************"
  202. PRINT "*             Dis 80xx             *"
  203. PRINT "*----------------------------------*"
  204. PRINT "*    By Andreas Eversberg          *"
  205. PRINT "*       Herzogin-Augusta-Str.21    *"
  206. PRINT "*       2250 Husum (Germany)       *"
  207. PRINT "*   Tel:49-4841-73025              *"
  208. PRINT "*----------------------------------*"
  209. PRINT "*Use to check, if your 8049-listing*"
  210. PRINT "*is correct assebled.              *"
  211. PRINT "*This Program is Giftware, if you  *"
  212. PRINT "*use it, let me know.              *"
  213. PRINT "************************************"
  214.  
  215. news:
  216. PRINT
  217. PRINT "Select Mode:"
  218. PRINT "(B) Dissassemble binary information from a file"
  219. PRINT "(A) Dissassemble ASCII code"
  220. PRINT "(C) Convert ASCII to binary"
  221. PRINT "(I) Info about ASCII"
  222. PRINT "(Q) Quit Dis"
  223. INPUT "What ?",a$
  224. IF a$="a" OR a$="b" THEN brei$=a$:GOTO disss
  225. IF a$="q" THEN SYSTEM
  226. IF a$="c" THEN conv
  227. IF a$="i" THEN info
  228. GOTO news:
  229.  
  230. disss:
  231. 'OPEN "ram:dis" FOR OUTPUT AS #2
  232. INPUT "filename";n$
  233. OPEN n$ FOR INPUT AS #1
  234. pc=0
  235. loop:
  236. IF INKEY$="" THEN loop:
  237. GOSUB in:a=op
  238. IF op(a)=2 THEN GOSUB in:b=op
  239. PRINT "$"RIGHT$("000"+HEX$(pc),3)+CHR$(9);
  240. IF op(a)=0 THEN PRINT "???":pc=pc+1:GOTO prol
  241. PRINT op$(a);
  242. IF op(a)=2 THEN pc=pc+1:PRINT RIGHT$("00"+HEX$(b),2);
  243. pc=pc+1
  244. PRINT
  245. IF EOF(1) THEN CLOSE 1:GOTO news
  246. GOTO loop
  247.  
  248. in:
  249. IF brei$="a" THEN opppp
  250. op=ASC(INPUT$(1,1)):RETURN
  251. opppp:
  252. IF EOF(1) THEN RETURN
  253. IF INPUT(1,1)<>";" THEN opppp
  254. IF INPUT(1,1)<>"#" THEN opppp
  255. IF INPUT(1,1)<>"$" THEN opppp
  256. a$=INPUT$(1,1)
  257. a$=INPUT$(1,1)
  258. a$=INPUT$(1,1)
  259. IF INPUT(1,1)<>" " THEN opppp
  260. INPUT#1,opc$
  261. op=0-(MID$(opc$,8,1)="1")
  262. op=op-(MID$(opc$,7,1)="1")*2
  263. op=op-(MID$(opc$,6,1)="1")*4
  264. op=op-(MID$(opc$,5,1)="1")*8
  265. op=op-(MID$(opc$,4,1)="1")*16
  266. op=op-(MID$(opc$,3,1)="1")*32
  267. op=op-(MID$(opc$,2,1)="1")*64
  268. op=op-(MID$(opc$,1,1)="1")*128
  269. RETURN
  270.  
  271.  
  272. conv:
  273. INPUT"source";s$
  274. INPUT"dest'n";d$
  275. OPEN s$ FOR INPUT AS #1
  276. OPEN d$ FOR OUTPUT AS #2
  277. convloop:
  278. IF EOF(1) THEN CLOSE 1:CLOSE 2:GOTO news
  279. INPUT#1,opc$
  280. GOSUB opppp
  281. PRINT#2,CHR$(op);
  282. GOTO convloop
  283.  
  284. info:
  285.  
  286. PRINT
  287. PRINT "The ASCII File has to be:"
  288. PRINT
  289. PRINT "00100101 Text Comment...."
  290. PRINT "01010011"
  291. PRINT
  292. PRINT "Impotaint is, that the first 8 characters of a line"
  293. PRINT "are a byte consitst of 0 and 1. All lines, even the"
  294. PRINT "last has to be so. The last line has to end with `CR'."
  295. GOTO news
  296.  
  297.