1
0
mirror of https://github.com/KarolS/millfork.git synced 2026-04-20 03:16:45 +00:00

Add 8080-to-8086 translation

This commit is contained in:
Karol Stasiak
2019-05-31 17:03:35 +02:00
parent b4a6c261de
commit 1cb3b672b1
71 changed files with 1422 additions and 291 deletions
+25
View File
@@ -0,0 +1,25 @@
;a COM program for DOS
[compilation]
arch=i8086
encoding=ascii
modules=default_panic,stdlib,pc_dos
[allocation]
segment_default_start=$100
segment_default_datastart=after_code
segment_default_end=$ffff
; TODO: actual end?
[define]
IBM_PC=1
WIDESCREEN=1
KEYBOARD=1
JOYSTICKS=0
HAS_BITMAP_MODE=0
[output]
style=single
format=allocated
extension=com
+37
View File
@@ -0,0 +1,37 @@
#pragma intel_syntax
import default_readword
inline asm void exit() {
[$b4, 0, $cd, $21]
? ret
}
inline asm void putchar (byte e) {
[$b4, 2, $cd, $21]
? ret
}
inline void new_line() {
putchar(13)
putchar(10)
}
inline asm byte getchar() {
[$b4, 1, $cd, $21]
? ret
}
array __readline_out[83]
const pointer readline_out = __readline_out.addr + 2
pointer readline() {
__readline_out[0] = 81
__readline_out[1] = 0
asm {
? lxi d, __readline_out.addr
[$b4, $0a, $cd, $21]
}
__readline_out[__readline_out[1] + 2] = 0
new_line()
return __readline_out + 2
}
+3
View File
@@ -5,6 +5,9 @@ word rand_seed
import random_6502
#elseif ARCH_I80
import random_i80
#elseif ARCH_X86
#warn 8086 is a partially supported architecture
import random_i80
#else
#warn Unsupported architecture
#endif
+3 -2
View File
@@ -4,8 +4,9 @@
import stdlib_6502
#elseif ARCH_I80
import stdlib_i80
#else
#warn Unsupported architecture
#elseif ARCH_X86
#warn 8086 is a partially supported architecture
import stdlib_i80
#endif
#if PAL && NTSC