Hi guys,
You have to change line 160 like this:
SET_WORD(H_FLAGS, z_header.(z_header_t)flags);
or
SET_WORD(H_FLAGS, z_header.(struct zcode_header_struct)flags);
How did this work? I used
SET_WORD(H_FLAGS, z_header.(struct zcode_header_struct)flags);
and I got this:
Error src\common\fastmem.c 160: Invalid combination of opcode and
operands in function restart_head
That's another error message related to assembly code. This line converts
to:
asm {
les bx,zmp
add bx,16
mov ax,z_header+16 // error
xchg al,ah
mov es:[bx],ax
}
and you get the same error message for the third instruction. In the
assembly code (compile with -S option), the "z_header" symbol is defined
as a word-typed label followed by lots of bytes, so probably the
"z_header+16" expression is taken for either byte-typed or untyped.
Therefore, you have to force the type:
mov ax,word ptr z_header+16 // no error
In the SET_WORD etc. macros, prepend "word ptr" wherever needed. Good
luck,
Joe
--
KOVÁCS Balázs aka Joe Forster/STA; [email protected]; http://sta.c64.org
Don't E-mail spam, HTML or uncompressed files! More contacts on homepage
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel