Differences between RDOFF versions 1 & 2
========================================
This document is designed primarily for people maintaining code which
uses RDOFF version 1, and would like to upgrade that code to work
with version 2.
The main changes are summarised here:
Overall format
==============
The overall format has changed somewhat since version 1, in order
to make RDOFF more flexible. After the file type identifier (which
has been changed to 'RDOFF2', obviously), there is now a 4 byte
integer describing the length of the object module. This allows
multiple objects to be concatenated, while the loader can easily
build an index of the locations of each object. This isn't as
pointless as it sounds; I'm using RDOFF in a microkernel operating
system, and this is the ideal way of loading multiple driver modules
at boot time.
There are also no longer a fixed number of segments; instead there
is a list of segments, immediately following the header.
Each segment is preceded by a 10 byte header giving information about
that segment. This header has the following format:
Length Description
2 Type
2 Number
2 Reserved
4 Length
'Type' is a number describing what sort of segment it is (eg text, data,
comment, debug info). See 'rdoff2.txt' for a list of the segment types.
'Number' is the number used to refer to the segment in the header records.
Not all segments will be loaded; it is only intended that one code
and one data segment will be loaded into memory. It is possible, however,
for a loaded segment to contain a reference to an unloaded segment.
This is an error, and should be flagged at load time. Or maybe you should
load the segment... its up to you, really.
The segment's data immediately follows the end of the segment header.
HEADER RECORDS
==============
All of the header records have changed in this version, but not
substantially. Each record type has had a content-length code added,
a single byte immediately following the type byte. This contains the
length of the rest of the record (excluding the type and length bytes,
but including the terminating nulls on any strings in the record).
There are two new record types, Segment Relocation (6), and FAR import (7).
The record formats are identical to Relocation (1) and import (2). They are
only of real use on systems using segmented architectures. Systems using
a flat model should treat FAR import (7) exactly the same as an import (2),
and should either flag segment relocation as an error, or attempt to figure
out whether it is a reference to a code or data symbol, and set the value
referenced to the according selector value. I am opting for the former
approach, and would recommend that others working on 32 bit flat systems
do the same.
没有合适的资源?快使用搜索试试~ 我知道了~
nasm-0.98.39
需积分: 10 12 下载量 59 浏览量
2008-09-27
14:50:19
上传
评论
收藏 811KB GZ 举报
温馨提示
共258个文件
c:54个
ph:43个
asm:32个
nasm-0[1].98.39 for linux0.11.tar.gz
资源推荐
资源详情
资源评论
收起资源包目录
nasm-0.98.39 (258个子文件)
nasm.1 11KB
ndisasm.1 3KB
lib.a 5KB
multisection.a 1KB
minixloader.as 6KB
proc32.ash 12KB
changed.asm 10KB
ifmacro.asm 5KB
elfso.asm 3KB
aoutso.asm 3KB
expimp.asm 2KB
elftest.asm 2KB
aouttest.asm 2KB
cofftest.asm 2KB
objtest.asm 2KB
bintest.asm 1KB
rdftest1.asm 1KB
rdtmain.asm 1KB
rdftest2.asm 659B
lnxhello.asm 635B
binexe.asm 586B
elif.asm 575B
rdtlib.asm 572B
objexe.asm 529B
rdfseg.asm 420B
br560873.asm 400B
testlib.asm 343B
inctest.asm 285B
rdfseg2.asm 262B
absolute.asm 256B
testdos.asm 241B
nasmformat.asm 184B
inc2.asm 158B
loopoffs.asm 152B
inc1.asm 143B
a32offs.asm 93B
nullfile.asm 80B
br560575.asm 68B
AUTHORS 3KB
Makefile.b32 8KB
makedocs.bat 5KB
pmw.bat 308B
Makefile.bc3 7KB
Makefile.bor 4KB
insnsa.c 166KB
insnsd.c 163KB
preproc.c 133KB
outobj.c 76KB
assemble.c 60KB
nasm.c 60KB
outbin.c 50KB
outelf.c 46KB
outieee.c 42KB
ldrdf.c 42KB
parser.c 30KB
nasmlib.c 29KB
outaout.c 29KB
disasm.c 29KB
outcoff.c 25KB
eval.c 22KB
outrdf2.c 21KB
outas86.c 17KB
labels.c 16KB
outrdf.c 15KB
rdoff.c 14KB
rdlar.c 12KB
ndisasm.c 12KB
float.c 11KB
rdflib.c 11KB
rdfdump.c 10KB
listing.c 6KB
rdlib.c 6KB
insnsn.c 6KB
outdbg.c 6KB
rdf2ihx.c 6KB
rdfload.c 5KB
hash.c 4KB
sync.c 3KB
segtab.c 3KB
rdf2bin.c 3KB
symtab.c 3KB
macros.c 2KB
outform.c 2KB
rdx.c 2KB
lin-elf.c 1KB
lin-aout.c 1KB
regflags.c 1KB
regs.c 967B
aouttest.c 911B
cofftest.c 905B
elftest.c 902B
objlink.c 884B
regdis.c 860B
collectn.c 771B
names.c 761B
bind.c 738B
regvals.c 661B
snprintf.c 430B
ChangeLog 2KB
CHANGES 45KB
共 258 条
- 1
- 2
- 3
资源评论
James_ht
- 粉丝: 2
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功