home *** CD-ROM | disk | FTP | other *** search
/ messroms.de / 2007-01-13_www.messroms.de.zip / CPU / 8085A < prev    next >
Text File  |  2007-01-13  |  16KB  |  241 lines

  1. ----------------------------------------------------------------
  2. |                                                              |
  3. |                                                              |
  4. |                            Intel                             |
  5. |                                                              |
  6. |         88888      000      88888    5555555      A          |
  7. |        8     8    0   0    8     8   5           A A         |
  8. |        8     8   0   0 0   8     8   5          A   A        |
  9. |         88888    0  0  0    88888    555555    AAAAAAA       |
  10. |        8     8   0 0   0   8     8         5   A     A       |
  11. |        8     8    0   0    8     8         5   A     A       |
  12. |         88888      000      88888    555555    A     A       |
  13. |                                                              |
  14. |         8085A MICROPROCESSOR Instruction Set Summary         |
  15. |                                                              |
  16. |                                                              |
  17. |                                                              |
  18. |                                                              |
  19. |                                                              |
  20. |                    _________    _________                    |
  21. |                  _|         \__/         |_                  |
  22. |          --> X1 |_|1                   40|_| Vcc (+5V)       |
  23. |                  _|                      |_                  |
  24. |          --> X2 |_|2                   39|_| HOLD <--        |
  25. |                  _|                      |_                  |
  26. |   <-- RESET OUT |_|3                   38|_| HLDA -->        |
  27. |                  _|                      |_                  |
  28. |         <-- SOD |_|4                   37|_| CLK (OUT) -->   |
  29. |                  _|                      |_  ________        |
  30. |         --> SID |_|5                   36|_| RESET IN <--    |
  31. |                  _|                      |_                  |
  32. |        --> TRAP |_|6                   35|_| READY <--       |
  33. |                  _|                      |_     _            |
  34. |     --> RST 7.5 |_|7                   34|_| IO/M -->        |
  35. |                  _|                      |_                  |
  36. |     --> RST 6.5 |_|8                   33|_| S1 -->          |
  37. |                  _|                      |_  __              |
  38. |     --> RST 5.5 |_|9                   32|_| RD -->          |
  39. |                  _|                      |_  __              |
  40. |        --> INTR |_|10      8085A       31|_| WR -->          |
  41. |            ____  _|                      |_                  |
  42. |        <-- INTA |_|11                  30|_| ALE -->         |
  43. |                  _|                      |_                  |
  44. |        <--> AD0 |_|12                  29|_| S0 -->          |
  45. |                  _|                      |_                  |
  46. |        <--> AD1 |_|13                  28|_| A15 -->         |
  47. |                  _|                      |_                  |
  48. |        <--> AD2 |_|14                  27|_| A14 -->         |
  49. |                  _|                      |_                  |
  50. |        <--> AD3 |_|15                  26|_| A13 -->         |
  51. |                  _|                      |_                  |
  52. |        <--> AD4 |_|16                  25|_| A12 -->         |
  53. |                  _|                      |_                  |
  54. |        <--> AD5 |_|17                  24|_| A11 -->         |
  55. |                  _|                      |_                  |
  56. |        <--> AD6 |_|18                  23|_| A10 -->         |
  57. |                  _|                      |_                  |
  58. |        <--> AD7 |_|19                  22|_| A9 -->          |
  59. |                  _|                      |_                  |
  60. |             Vss |_|20                  21|_| A8 -->          |
  61. |                   |______________________|                   |
  62. |                                                              |
  63. |                                                              |
  64. |                                                              |
  65. |                                                              |
  66. |                                                              |
  67. |                                                              |
  68. |Written by     Jonathan Bowen                                 |
  69. |               Programming Research Group                     |
  70. |               Oxford University Computing Laboratory         |
  71. |               8-11 Keble Road                                |
  72. |               Oxford OX1 3QD                                 |
  73. |               England                                        |
  74. |                                                              |
  75. |               Tel +44-865-273840                             |
  76. |                                                              |
  77. |Created        May 1983                                       |
  78. |Updated        April 1985                                     |
  79. |Issue          1.1                Copyright (C) J.P.Bowen 1985|
  80. ----------------------------------------------------------------
  81. ----------------------------------------------------------------
  82. |Mnemonic |Op|SZAPC|~s|Description               |Notes        |
  83. |---------+--+-----+--+--------------------------+-------------|
  84. |ACI n    |CE|*****| 7|Add with Carry Immediate  |A=A+n+CY     |
  85. |ADC r    |8F|*****| 4|Add with Carry            |A=A+r+CY(21X)|
  86. |ADC M    |8E|*****| 7|Add with Carry to Memory  |A=A+[HL]+CY  |
  87. |ADD r    |87|*****| 4|Add                       |A=A+r   (20X)|
  88. |ADD M    |86|*****| 7|Add to Memory             |A=A+[HL]     |
  89. |ADI n    |C6|*****| 7|Add Immediate             |A=A+n        |
  90. |ANA r    |A7|****0| 4|AND Accumulator           |A=A&r   (24X)|
  91. |ANA M    |A6|****0| 7|AND Accumulator and Memory|A=A&[HL]     |
  92. |ANI n    |E6|**0*0| 7|AND Immediate             |A=A&n        |
  93. |CALL a   |CD|-----|18|Call unconditional        |-[SP]=PC,PC=a|
  94. |CC a     |DC|-----| 9|Call on Carry             |If CY=1(18~s)|
  95. |CM a     |FC|-----| 9|Call on Minus             |If S=1 (18~s)|
  96. |CMA      |2F|-----| 4|Complement Accumulator    |A=~A         |
  97. |CMC      |3F|----*| 4|Complement Carry          |CY=~CY       |
  98. |CMP r    |BF|*****| 4|Compare                   |A-r     (27X)|
  99. |CMP M    |BF|*****| 7|Compare with Memory       |A-[HL]       |
  100. |CNC a    |D4|-----| 9|Call on No Carry          |If CY=0(18~s)|
  101. |CNZ a    |C4|-----| 9|Call on No Zero           |If Z=0 (18~s)|
  102. |CP a     |F4|-----| 9|Call on Plus              |If S=0 (18~s)|
  103. |CPE a    |EC|-----| 9|Call on Parity Even       |If P=1 (18~s)|
  104. |CPI n    |FE|*****| 7|Compare Immediate         |A-n          |
  105. |CPO a    |E4|-----| 9|Call on Parity Odd        |If P=0 (18~s)|
  106. |CZ a     |CC|-----| 9|Call on Zero              |If Z=1 (18~s)|
  107. |DAA      |27|*****| 4|Decimal Adjust Accumulator|A=BCD format |
  108. |DAD B    |09|----*|10|Double Add BC to HL       |HL=HL+BC     |
  109. |DAD D    |19|----*|10|Double Add DE to HL       |HL=HL+DE     |
  110. |DAD H    |29|----*|10|Double Add HL to HL       |HL=HL+HL     |
  111. |DAD SP   |39|----*|10|Double Add SP to HL       |HL=HL+SP     |
  112. |DCR r    |3D|****-| 4|Decrement                 |r=r-1   (0X5)|
  113. |DCR M    |35|****-|10|Decrement Memory          |[HL]=[HL]-1  |
  114. |DCX B    |0B|-----| 6|Decrement BC              |BC=BC-1      |
  115. |DCX D    |1B|-----| 6|Decrement DE              |DE=DE-1      |
  116. |DCX H    |2B|-----| 6|Decrement HL              |HL=HL-1      |
  117. |DCX SP   |3B|-----| 6|Decrement Stack Pointer   |SP=SP-1      |
  118. |DI       |F3|-----| 4|Disable Interrupts        |             |
  119. |EI       |FB|-----| 4|Enable Interrupts         |             |
  120. |HLT      |76|-----| 5|Halt                      |             |
  121. |IN p     |DB|-----|10|Input                     |A=[p]        |
  122. |INR r    |3C|****-| 4|Increment                 |r=r+1   (0X4)|
  123. |INR M    |3C|****-|10|Increment Memory          |[HL]=[HL]+1  |
  124. |INX B    |03|-----| 6|Increment BC              |BC=BC+1      |
  125. |INX D    |13|-----| 6|Increment DE              |DE=DE+1      |
  126. |INX H    |23|-----| 6|Increment HL              |HL=HL+1      |
  127. |INX SP   |33|-----| 6|Increment Stack Pointer   |SP=SP+1      |
  128. |JMP a    |C3|-----| 7|Jump unconditional        |PC=a         |
  129. |JC a     |DA|-----| 7|Jump on Carry             |If CY=1(10~s)|
  130. |JM a     |FA|-----| 7|Jump on Minus             |If S=1 (10~s)|
  131. |JNC a    |D2|-----| 7|Jump on No Carry          |If CY=0(10~s)|
  132. |JNZ a    |C2|-----| 7|Jump on No Zero           |If Z=0 (10~s)|
  133. |JP a     |F2|-----| 7|Jump on Plus              |If S=0 (10~s)|
  134. |JPE a    |EA|-----| 7|Jump on Parity Even       |If P=1 (10~s)|
  135. |JPO a    |E2|-----| 7|Jump on Parity Odd        |If P=0 (10~s)|
  136. |JZ a     |CA|-----| 7|Jump on Zero              |If Z=1 (10~s)|
  137. |LDA a    |3A|-----|13|Load Accumulator direct   |A=[a]        |
  138. |LDAX B   |0A|-----| 7|Load Accumulator indirect |A=[BC]       |
  139. |LDAX D   |1A|-----| 7|Load Accumulator indirect |A=[DE]       |
  140. |LHLD a   |2A|-----|16|Load HL Direct            |HL=[a]       |
  141. |LXI B,nn |01|-----|10|Load Immediate BC         |BC=nn        |
  142. |LXI D,nn |11|-----|10|Load Immediate DE         |DE=nn        |
  143. |LXI H,nn |21|-----|10|Load Immediate HL         |HL=nn        |
  144. |LXI SP,nn|31|-----|10|Load Immediate Stack Ptr  |SP=nn        |
  145. |MOV r1,r2|7F|-----| 4|Move register to register |r1=r2   (1XX)|
  146. |MOV M,r  |77|-----| 7|Move register to Memory   |[HL]=r  (16X)|
  147. |MOV r,M  |7E|-----| 7|Move Memory to register   |r=[HL]  (1X6)|
  148. |MVI r,n  |3E|-----| 7|Move Immediate            |r=n     (0X6)|
  149. |MVI M,n  |36|-----|10|Move Immediate to Memory  |[HL]=n       |
  150. |NOP      |00|-----| 4|No Operation              |             |
  151. |ORA r    |B7|**0*0| 4|Inclusive OR Accumulator  |A=Avr   (26X)|
  152. |ORA M    |B6|**0*0| 7|Inclusive OR Accumulator  |A=Av[HL]     |
  153. |ORI n    |F6|**0*0| 7|Inclusive OR Immediate    |A=Avn        |
  154. |OUT p    |D3|-----|10|Output                    |[p]=A        |
  155. |PCHL     |E9|-----| 6|Jump HL indirect          |PC=[HL]      |
  156. |POP B    |C1|-----|10|Pop BC                    |BC=[SP]+     |
  157. |POP D    |D1|-----|10|Pop DE                    |DE=[SP]+     |
  158. |POP H    |E1|-----|10|Pop HL                    |HL=[SP]+     |
  159. |POP PSW  |F1|-----|10|Pop Processor Status Word |{PSW,A}=[SP]+|
  160. ----------------------------------------------------------------
  161. ----------------------------------------------------------------
  162. |Mnemonic |Op|SZAPC|~s|Description               |Notes        |
  163. |---------+--+-----+--+--------------------------+-------------|
  164. |PUSH B   |C5|-----|12|Push BC                   |-[SP]=BC     |
  165. |PUSH D   |D5|-----|12|Push DE                   |-[SP]=DE     |
  166. |PUSH H   |E5|-----|12|Push HL                   |-[SP]=HL     |
  167. |PUSH PSW |F5|-----|12|Push Processor Status Word|-[SP]={PSW,A}|
  168. |RAL      |17|----*| 4|Rotate Accumulator Left   |A={CY,A}<-   |
  169. |RAR      |1F|----*| 4|Rotate Accumulator Righ   |A=->{CY,A}   |
  170. |RET      |C9|-----|10|Return                    |PC=[SP]+     |
  171. |RC       |D8|-----| 6|Return on Carry           |If CY=1(12~s)|
  172. |RIM      |20|-----| 4|Read Interrupt Mask       |A=mask       |
  173. |RM       |F8|-----| 6|Return on Minus           |If S=1 (12~s)|
  174. |RNC      |D0|-----| 6|Return on No Carry        |If CY=0(12~s)|
  175. |RNZ      |C0|-----| 6|Return on No Zero         |If Z=0 (12~s)|
  176. |RP       |F0|-----| 6|Return on Plus            |If S=0 (12~s)|
  177. |RPE      |E8|-----| 6|Return on Parity Even     |If P=1 (12~s)|
  178. |RPO      |E0|-----| 6|Return on Parity Odd      |If P=0 (12~s)|
  179. |RZ       |C8|-----| 6|Return on Zero            |If Z=1 (12~s)|
  180. |RLC      |07|----*| 4|Rotate Left Circular      |A=A<-        |
  181. |RRC      |0F|----*| 4|Rotate Right Circular     |A=->A        |
  182. |RST z    |C7|-----|12|Restart              (3X7)|-[SP]=PC,PC=z|
  183. |SBB r    |9F|*****| 4|Subtract with Borrow      |A=A-r-CY     |
  184. |SBB M    |9E|*****| 7|Subtract with Borrow      |A=A-[HL]-CY  |
  185. |SBI n    |DE|*****| 7|Subtract with Borrow Immed|A=A-n-CY     |
  186. |SHLD a   |22|-----|16|Store HL Direct           |[a]=HL       |
  187. |SIM      |30|-----| 4|Set Interrupt Mask        |mask=A       |
  188. |SPHL     |F9|-----| 6|Move HL to SP             |SP=HL        |
  189. |STA a    |32|-----|13|Store Accumulator         |[a]=A        |
  190. |STAX B   |02|-----| 7|Store Accumulator indirect|[BC]=A       |
  191. |STAX D   |12|-----| 7|Store Accumulator indirect|[DE]=A       |
  192. |STC      |37|----1| 4|Set Carry                 |CY=1         |
  193. |SUB r    |97|*****| 4|Subtract                  |A=A-r   (22X)|
  194. |SUB M    |96|*****| 7|Subtract Memory           |A=A-[HL]     |
  195. |SUI n    |D6|*****| 7|Subtract Immediate        |A=A-n        |
  196. |XCHG     |EB|-----| 4|Exchange HL with DE       |HL<->DE      |
  197. |XRA r    |AF|**0*0| 4|Exclusive OR Accumulator  |A=Axr   (25X)|
  198. |XRA M    |AE|**0*0| 7|Exclusive OR Accumulator  |A=Ax[HL]     |
  199. |XRI n    |EE|**0*0| 7|Exclusive OR Immediate    |A=Axn        |
  200. |XTHL     |E3|-----|16|Exchange stack Top with HL|[SP]<->HL    |
  201. |------------+-----+--+----------------------------------------|
  202. | PSW        |-*01 |  |Flag unaffected/affected/reset/set      |
  203. | S          |S    |  |Sign (Bit 7)                            |
  204. | Z          | Z   |  |Zero (Bit 6)                            |
  205. | AC         |  A  |  |Auxilary Carry (Bit 4)                  |
  206. | P          |   P |  |Parity (Bit 2)                          |
  207. | CY         |    C|  |Carry (Bit 0)                           |
  208. |---------------------+----------------------------------------|
  209. | a p                 |Direct addressing                       |
  210. | M z                 |Register indirect addressing            |
  211. | n nn                |Immediate addressing                    |
  212. | r                   |Register addressing                     |
  213. |---------------------+----------------------------------------|
  214. |DB n(,n)             |Define Byte(s)                          |
  215. |DB 'string'          |Define Byte ASCII character string      |
  216. |DS nn                |Define Storage Block                    |
  217. |DW nn(,nn)           |Define Word(s)                          |
  218. |---------------------+----------------------------------------|
  219. | A  B  C  D  E  H  L |Registers (8-bit)                       |
  220. | BC  DE  HL          |Register pairs (16-bit)                 |
  221. | PC                  |Program Counter register (16-bit)       |
  222. | PSW                 |Processor Status Word (8-bit)           |
  223. | SP                  |Stack Pointer register (16-bit)         |
  224. |---------------------+----------------------------------------|
  225. | a  nn               |16-bit address/data (0 to 65535)        |
  226. | n  p                |8-bit data/port (0 to 255)              |
  227. | r                   |Register (X=B,C,D,E,H,L,M,A)            |
  228. | z                   |Vector (X=0H,8H,10H,18H,20H,28H,30H,38H)|
  229. |---------------------+----------------------------------------|
  230. | +  -                |Arithmetic addition/subtraction         |
  231. | &  ~                |Logical AND/NOT                         |
  232. | v  x                |Logical inclusive/exclusive OR          |
  233. | <-  ->              |Rotate left/right                       |
  234. | <->                 |Exchange                                |
  235. | [ ]                 |Indirect addressing                     |
  236. | [ ]+  -[ ]          |Indirect address auto-inc/decrement     |
  237. | { }                 |Combination operands                    |
  238. | ( X )               |Octal op code where X is a 3-bit code   |
  239. | If ( ~s)            |Number of cycles if condition true      |
  240. ----------------------------------------------------------------
  241.