sasm-linker #1

Merged
slederer merged 4 commits from sasm-linker into main 2024-11-09 23:06:36 +01:00
Showing only changes of commit ab57b5ce7a - Show all commits

View file

@ -2041,9 +2041,32 @@ begin
errorExit2('Unrecognized directive', lastToken.tokenText);
end;
procedure readImage(filename:string;size:integer);
var f:InputFileType;
c:char;
i:integer;
begin
pc := pc + size;
bytesCount := bytesCount + size;
if pass = 2 then
begin
openFileWithDefault(f, filename);
for i := 1 to size do
begin
read(f,c);
write(outfile,c);
end;
close(f);
end;
end;
procedure parseMetaDirective;
var filename:string;
sym:TreeDataRef;
size:integer;
begin
readNextToken;
if lastToken.tokenText = '%INCLUDE' then
@ -2071,6 +2094,14 @@ begin
errorExit2('Symbol expected', '');
readNextToken;
end
else
if lastToken.tokenText = '%INCBIN' then
begin
filename := curToken.tokenText;
readNextToken;
size := parseExpression;
readImage(filename, size);
end
else
errorExit2('Invalid meta directive', lastToken.tokenText);
end;