testing speed of DOS assemblers under djl's 8086 DOS emulator (Emulation)
> > I am also interested in those benchmarks. But don't really have a
> machine
> > to test it. Beside maybe HP 200 LX, but that's 80186 class machine.
>
> I didn't write the reason. I am considering getting Atari Portfolio. 80c88
> with 128KB of which ~32kb is by default used as a ram disk so available
> memory is a bit more than 64kb realistically.
Under DOSBox-X, by default it only works with "cputype" of 386 or above (e.g. auto). Trying "8086" doesn't work. I also tested 8086tinyplus (Win32), but it hangs.
I went back to find a quick fix by hacking the source code, so I made a quick diff. Now AP.EXE runs at least under "80186" cputype (DOSBox-X) or 8086tinyplus (quasi 186). But DOSBox-X "8086" still doesn't like it, dunno.
8086tinyplus runs my .BAT (Sed script(s) plus AP.EXE) in 99 secs. For testing the assembler speed itself, it assembles Sed's modified assembly output of PSR Invaders in 12 secs (using default 4.77 Mhz speed, which is probably not 100% accurate).
Feel free to apply this patch, reassemble (N.B. use "/jo"), and benchmark yourself. EDIT: You'll probably need "patch -p1 -l -i ap186.dif" (N.B. "-l" to ignore whitespace/tab differences).
diff -rU1 asmpp.old/ap.asm asmpp/ap.asm
--- asmpp.old/ap.asm 2024-02-07 02:11:12 +0000
+++ asmpp/ap.asm 2026-05-09 21:12:06 +0000
@@ -2,3 +2,3 @@
.RADIX 10
-;.8086
+.8086
Binary files asmpp.old/ap.exe and asmpp/ap.exe differ
diff -rU1 asmpp.old/asm16.asm asmpp/asm16.asm
--- asmpp.old/asm16.asm 2024-02-07 02:11:12 +0000
+++ asmpp/asm16.asm 2026-05-09 21:25:16 +0000
@@ -38,4 +38,6 @@
CMP AL,3
- JZ AssembleDoneIPOK
+ JZ AssembleDoneIPOK2
JMP ProgIPOverflow
+AssembleDoneIPOK2:
+ JMP AssembleDoneIPOK
@@ -112,10 +114,13 @@
CMP BYTE [AddrMode],4
- JB AssembleProgIPOverflow
+ JB AssembleProgIPOverflow2
ADD WORD [ProgIP][4],1
ADC WORD [ProgIP][6],0
- JC AssembleProgIPOverflow
+ JC AssembleProgIPOverflow2
JMP AssembleDoneIPOK
+AssembleProgIPOverflow2:
+ JMP AssembleProgIPOverflow
+
AssUpdateEIP:
CMP BYTE [AddrMode],1
- JZ AssembleProgIPOverflow
+ JZ AssembleProgIPOverflow2
ADD WORD [ProgIP][2],1
@@ -123,2 +128,4 @@
JMP AssembleDoneIPOK
+AssembleExtraChars2:
+ JMP AssembleExtraChars
@@ -127,3 +134,3 @@
CMP AL,EndOfLine
- JNZ AssembleExtraChars
+ JNZ AssembleExtraChars2
AssembleFile:
diff -rU1 asmpp.old/direcw16.asm asmpp/direcw16.asm
--- asmpp.old/direcw16.asm 2024-02-07 02:11:12 +0000
+++ asmpp/direcw16.asm 2026-05-09 21:26:40 +0000
@@ -749,4 +749,6 @@
CALL GetStrFile
+ .386
CMP DI,OFFSET StrBuffer
JZ IncludeInvalidFile
+ .8086
XOR AL,AL
@@ -804,4 +806,6 @@
CALL GetStrFile
+ .386
CMP DI,OFFSET StrBuffer
JZ OptionStubInvalidFile
+ .8086
MOV AL,0
@@ -1115,2 +1119,2 @@
-DirectivesWEnd:
\ No newline at end of file
+DirectivesWEnd:
diff -rU1 asmpp.old/nstrctns/sseavx/avxkrrm.asm asmpp/nstrctns/sseavx/avxkrrm.asm
--- asmpp.old/nstrctns/sseavx/avxkrrm.asm 2024-02-07 02:11:12 +0000
+++ asmpp/nstrctns/sseavx/avxkrrm.asm 2026-05-09 21:26:14 +0000
@@ -175,4 +175,6 @@
+.386
CMP BYTE [NextChar], Comma
- JZ AVX_GetParams_Comma
+ JZ AVX_GetParams_Comma
+.8086
@@ -196,4 +198,6 @@
+.386
CMP AL, OpenCBracket
JZ AVX_GetParams_CurlyBracket
+.8086
CMP AL, Keyword
@@ -209,4 +213,6 @@
CALL _PrintChar, WORD ('_')
+.386
CMP AL,EndOfLine
JZ AVX_GetParams_Done_1
+.8086
CALL _PrintChar, WORD ('=')
@@ -352,4 +358,6 @@
; JZ AVX_GetParams_Curly_Len4
+.386
CMP CX, 1
JZ AVX_GetParams_Curly_Len1
+.8086
Complete thread:
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 29.04.2026, 05:41 (Emulation)
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Oso2k, 29.04.2026, 16:56
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 30.04.2026, 02:45
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 01.05.2026, 13:11
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 01.05.2026, 13:23
- testing speed of DOS assemblers under djl's 8086 DOS emulator - bocke, 02.05.2026, 00:40
- testing speed of DOS assemblers under djl's 8086 DOS emulator - rr, 02.05.2026, 16:00
- testing speed of DOS assemblers under djl's 8086 DOS emulator - bocke, 02.05.2026, 20:52
- testing speed of DOS assemblers under djl's 8086 DOS emulator - bocke, 07.05.2026, 13:33
- testing speed of DOS assemblers under djl's 8086 DOS emulator - RayeR, 07.05.2026, 15:38
- testing speed of DOS assemblers under djl's 8086 DOS emulator - bocke, 08.05.2026, 15:22
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 10.05.2026, 05:38
- testing speed of DOS assemblers under djl's 8086 DOS emulator - RayeR, 07.05.2026, 15:38
- testing speed of DOS assemblers under djl's 8086 DOS emulator - rr, 02.05.2026, 16:00
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Khusraw, 03.05.2026, 12:56
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 08.05.2026, 04:39
- testing speed of DOS assemblers under djl's 8086 DOS emulator - bocke, 08.05.2026, 14:49
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 09.05.2026, 09:58
- testing speed of DOS assemblers under djl's 8086 DOS emulator - bocke, 16.05.2026, 00:27
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 16.05.2026, 05:05
- testing speed of DOS assemblers under djl's 8086 DOS emulator - bocke, 16.05.2026, 00:27
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 09.05.2026, 09:58
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Khusraw, 12.05.2026, 12:29
- testing speed of DOS assemblers under djl's 8086 DOS emulator - bocke, 08.05.2026, 14:49
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Rugxulo, 08.05.2026, 04:39
- testing speed of DOS assemblers under djl's 8086 DOS emulator - Oso2k, 29.04.2026, 16:56
Mix view