flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
baldr 16 Jan 2010, 19:21
Meister,
This depends on executable format your OS supports. For MZ exe there is segment directive. |
|||
![]() |
|
Meister 16 Jan 2010, 19:27
Mhh..there is no special format. every application starts with a header:
.include "compat.inc" .286 org $0000 db "APL" db 0 ; class db 1,19 ; Min. OS-Version start: ....code... The OS loads an Application until a) the end of file is reached or b) the current Sector-buffer > Himem (himem is the last segment available for Apl-files - above himem there are residents/drivers). |
|||
![]() |
|
baldr 16 Jan 2010, 19:30
Meister,
Are programs loaded at fixed address (or they should be self-relocatable)? |
|||
![]() |
|
Meister 16 Jan 2010, 19:39
The APL-Files always starts at $0800:$0000 (residents also start at offset $0000, but with another segment)
|
|||
![]() |
|
baldr 16 Jan 2010, 19:44
Meister,
In this case linear address for (probably 16-byte aligned) label gfx will be $8000+gfx and logical will be ($800+gfx/16):0. |
|||
![]() |
|
Meister 16 Jan 2010, 19:47
How can i align labels with Fasm? And how can i load this "label-segment" ? I'm thinking about writing different 64K-Binarys and joined them to a big file. But then "File A" do not know where in "file B" is the address of label xy....
![]() |
|||
![]() |
|
baldr 16 Jan 2010, 19:59
Meister,
As you might guess, "align directive aligns code or data to the specified boundary". Good way to learn how to do something is to examine how it's done already. Are you familiar with executable formats (DOS COM/MZ-EXE, for example)? |
|||
![]() |
|
Meister 16 Jan 2010, 20:05
COM yes, EXE no
![]() ![]() ![]() |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.