More updates to the assembler

This commit is contained in:
Yufeng Gao
2026-01-22 23:17:51 +10:00
parent 794721d467
commit 2b03858c61
7 changed files with 311 additions and 549 deletions
Binary file not shown.
+288 -418
View File
File diff suppressed because it is too large Load Diff
-3
View File
@@ -45,9 +45,6 @@ where
This assembler can only produce Intel HEX files for object code, therefore you must convert them to binary before they can be executed on the 8086. Under CP/M, this can be done using the <code>LOAD</code> command. If you are using CDOS, which does not have <code>LOAD</code>, you will have to use <code>DEBUG</code> to load the .HEX file to memory and <code>SAVE</code> to save the loaded pages as a disk file.
> [!TIP]
> Don't forget to rename the source files from <code>.ASM</code> to <code>.A86</code>.
## TRANS86
This is a reconstruction of the SCP Z80 to 8086 Translator shipped together with ASM86. Like ASM86, original copies are long gone and this is the 8086 version from 86-DOS 0.11 translated back to Z80.
+10 -10
View File
@@ -182,20 +182,20 @@ GETCH:
LD DE,GETBUF ; Set `DMA address'.
LD C,SETDMA
CALL SYSTEM
LD DE,FCB ; Read the next record from source file.
LD DE,FCB ; Read the next record from source file.
LD C,READ
CALL SYSTEM
OR A ; Entire record read OK?
LD A,EOF ; Force end-of-file character in case
OR A ; Entire record read OK?
LD A,EOF ; Force end-of-file character in case
JR NZ,TESEND ; there is nothing in the record.
LD HL,GETBUF ; Reset buffer pointer.
GETIT:
LD A,(HL) ; Get next character from buffer.
INC HL ; Point to next character.
LD A,(HL) ; Get next character from buffer.
INC HL ; Point to next character.
LD (GETPT),HL ; Save new pointer.
TESEND:
LD (CHAR),A
JR NOTAF ; Pop registers and return.
JR NOTAF ; Pop registers and return.
LOAD:
CALL DELIM
JR Z,LOADOP
@@ -450,7 +450,7 @@ LD:
JP Z,STAX
;If immediate move, check for byte memory reference
LD A,(OP1)
CP '[' ;Memory reference?
CP '[' ;Memory reference?
JR NZ,TWOOPS
LD A,(OP1+1) ;Referencing IX as a word?
CP RIX
@@ -458,7 +458,7 @@ LD:
CP RIY
JR Z,TWOOPS
LD A,(OP2)
CP 20H ;Could be immediate?
CP 20H ;Could be immediate?
LD A,9
CALL NC,BFLAG ;Add "B,"
CALL TRAN1
@@ -661,7 +661,7 @@ DAD:
INCDEC:
LD A,(OP1)
CP RCX+1 ;16-bit?
CP RCX+1 ;16-bit?
JP NC,ONEOP
LD HL,LAHF
CALL OUTSTR
@@ -1123,4 +1123,4 @@ RCH: DS 1
RAL: DS 1
RIX: DS 1
RIY: DS 1