summaryrefslogtreecommitdiff
path: root/utils/tl/asm.c
diff options
context:
space:
mode:
authorDavid Boddie <david@boddie.org.uk>2023-04-02 18:24:44 +0200
committerDavid Boddie <david@boddie.org.uk>2023-11-16 16:44:28 +0100
commit691df57aba2063cba34cc3bcf0cea90a54e83e76 (patch)
tree7035b23f6c1d2fb1ef0c7e95dd9d180fe251ae8e /utils/tl/asm.c
parentd8023f9f90be42752d6f61a1a436444f0cfad288 (diff)
Enabled assembly of constant strings into the text segment.
Diffstat (limited to 'utils/tl/asm.c')
-rw-r--r--utils/tl/asm.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/utils/tl/asm.c b/utils/tl/asm.c
index 66a7f0c6..ec0f63a8 100644
--- a/utils/tl/asm.c
+++ b/utils/tl/asm.c
@@ -63,17 +63,15 @@ asmb(void)
asmout(p, o);
pc += o->size;
}
- while(pc-INITTEXT < textsize) {
- cput(0);
- pc++;
+
+ /* output strings in text segment */
+ while (pc < INITRODAT) {
+ cput(0); pc++;
}
- if(debug['a'])
- Bprint(&bso, "\n");
Bflush(&bso);
cflush();
- /* output strings in text segment */
etext = INITTEXT + textsize;
for(t = pc; t < etext; t += sizeof(buf)-100) {
if(etext-t > sizeof(buf)-100)
@@ -82,6 +80,18 @@ asmb(void)
datblk(t, etext-t, 1);
}
+ pc = t;
+
+ while(pc-INITTEXT < textsize) {
+ cput(0);
+ pc++;
+ }
+
+ if(debug['a'])
+ Bprint(&bso, "\n");
+ Bflush(&bso);
+ cflush();
+
curtext = P;
switch(HEADTYPE) {
case 0: