I'm not sure if this is a good or bad idea, but it seems to work; rather than use the codenote, you don't want to use this in a bootloader, it messes with the data section and I don't know how to place the boot signature at the end of the data section and still pad out to 512 bytes
Code: Select all
%macro print 1+
section .data ; At the end of the binary.
%%string:
db %1,0
section .text ; Back to where we were.
mov si,%%string
call print_string ; Print it out using the print_string function.
%endmacro
Code: Select all
%macro print 1+
%%string: db %1, 0
mov si, %%string
call putstr
%endmacro
I'm not sure if there are any side-effects to doing this, though.