I'm an infrequent user of A86. I only use it occasionally for short test
programs. So I'm not well-acquainted with it. I ran across the
following problem. At least I think it's a problem. Perhaps I'm just
making a mistake:
cseg segment
assume cs:cseg
begin:
mov ax,dseg
mov ds,ax
mov dx,offset msg
mov ah,9
int 21h
mov ax,4c00h
int 21h
cseg ends
dseg segment
msg db "Hello, hello, hello.$"
dseg ends
end begin
This code aseembles correctly with TASM into an .EXE file, and runs
as expected. A86 incorrectly assembles it into a .COM file which does
not execute properly because the first two lines of code cause A86
to place 0 in DS. If you comment out the first two lines of code A86
assembles the code into a .COM file which DOES execute properly; but
of course without paying any attention to "dseg segment". It simply
places the data in the code segment following the last line of code.
--- Maximus/2 3.01
---------------
* Origin: Madman BBS * Chico, California * 916-893-8079 * (1:119/88)
|