Merge pull request #60 from olsner/struc_base

Implement the base offset parameter for the struc macro
This commit is contained in:
Peter Johnson 2011-10-02 22:11:01 -07:00
commit cc4657a134
4 changed files with 20 additions and 3 deletions

View file

@ -25,14 +25,14 @@
__SECT__
%endmacro
%imacro struc 1.nolist
%imacro struc 1-2.nolist 0
%push struc
%define %$strucname %1
[absolute 0]
[absolute %2]
%$strucname: ; allow definition of `.member' to work sanely
%endmacro
%imacro endstruc 0.nolist
%{$strucname}_size:
%{$strucname}_size EQU $ - %$strucname
%pop
__SECT__
%endmacro

View file

@ -39,6 +39,8 @@ EXTRA_DIST += modules/parsers/nasm/tests/strucalign.asm
EXTRA_DIST += modules/parsers/nasm/tests/strucalign.hex
EXTRA_DIST += modules/parsers/nasm/tests/struczero.asm
EXTRA_DIST += modules/parsers/nasm/tests/struczero.hex
EXTRA_DIST += modules/parsers/nasm/tests/strucbase.asm
EXTRA_DIST += modules/parsers/nasm/tests/strucbase.hex
EXTRA_DIST += modules/parsers/nasm/tests/syntax-err.asm
EXTRA_DIST += modules/parsers/nasm/tests/syntax-err.errwarn
EXTRA_DIST += modules/parsers/nasm/tests/uscore.asm

View file

@ -0,0 +1,11 @@
struc base, -7
.a: resb 1
.b: resb 1
endstruc
; Expect base and base.a to appear at -7, base.b at -6
db base
db base.a
db base.b
; The size should be '2' here
db base_size

View file

@ -0,0 +1,4 @@
f9
f9
fa
02