Merge pull request #156 from davidgiven/dtrg-arraysizes

i80: add 8085 instruction support
This commit is contained in:
David Given 2019-02-11 21:35:16 +01:00 committed by GitHub
commit ee716754d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 0 deletions

View file

@ -97,3 +97,25 @@
0, NOOPOP, 0000, "nop",
0, NOOPOP, 0040, "rim", /* 8085 */
0, NOOPOP, 0060, "sim", /* 8085 */
/*
* The Intel 8085 has a set of instructions for high level language
* support that were not originally documented.
*
* V = signed overflow (carry out ^ carry in)
* K = signed compare (v ^ sign)
*
* K is mostly useful for oveflowing INX and DEX to avoid the usual
* check via A. RSTV is useful for runtimes where signed overflow is a
* fault.
*/
0, NOOPOP, 0010, "dsub", /* 8085 undoc HL = HL - BC */
0, NOOPOP, 0020, "arhl", /* 8085 undoc HL arith right shift */
0, NOOPOP, 0030, "rld", /* 8085 undoc rotate DE left thru carry */
/* in effect ADC DE,DE */
0, D8OP, 0050, "ldhi", /* DE = HL + imm8 */
0, D8OP, 0070, "ldsi", /* DE = SP + imm8 */
0, NOOPOP, 0313, "rstv", /* RST8 if V set */
0, NOOPOP, 0331, "shlx", /* (DE) = HL */
0, NOOPOP, 0355, "lhlx", /* HL = (DE) */
0, D16OP, 0335, "jnk", /* Jump K clear */
0, D16OP, 0375, "jk", /* Jump K set */

View file

@ -9,6 +9,10 @@
This assembler is made with the general framework
described in \fIuni_ass\fP(6). It is an assembler generating relocatable
object code in \fIack.out\fP(5) format.
.P
In addition to the standard 8080 mnemonics, both the documented 8085 extensions
(rim, sim) and the undocumented ones (dsub, arhl, rld, ldhi, ldsi, rstv, shlx,
lhlx, jnk, jk) are supported.
.SH SYNTAX
.IP registers
The 8080 has seven one-byte registers: a, b, c, d, e, h, l;