The FreeDOS wiki says that NASM is the reference assembler. However,
when I use FreeDOS DEBUG to disassemble (unassemble?) a com file,
the syntax for addressing memory is not NASM syntax.

C:\ASM>debug psp.com                                                          
-u 100,118                                                                    
0A27:0100 BB8000        MOV     BX,0080
0A27:0103 3E8B0F        MOV     CX,DS:[BX]
0A27:0106 30ED          XOR     CH,CH
0A27:0108 43            INC     BX
0A27:0109 E80200        CALL    010E
0A27:010C CD20          INT     20
0A27:010E B40E          MOV     AH,0E
0A27:0110 3E8A07        MOV     AL,DS:[BX]
0A27:0113 CD10          INT     10
0A27:0115 43            INC     BX
0A27:0116 E2F8          LOOP    0110
0A27:0118 C3            RET

As opposed to:

MOV             BX,0x0080
MOV             CX,[DS:BX]
XOR             CH,CH
INC             BX
CALL            0x010E
INT             0x20
MOV             AH,0x0E
MOV             AL,[DS:BX]
INT             0x10
INC             BX
LOOP            0x0110

This might be a little off topic, but when I try to reassemble it,
NASM gives the error:

11: error: short relative jump outside segment
11: error: short jump is out of range

Sorry if this is a bit off topic


AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
Freedos-user mailing list

Reply via email to