From fe922d190da17ecc82200aa8152e9c2eb2c78ff2 Mon Sep 17 00:00:00 2001 From: keie Date: Mon, 30 Jul 1984 14:42:33 +0000 Subject: [PATCH] String initializer handling is changed. Strings are now considered to be sequences of xU1's. No alignment is done before or after the string other than the alignment done for names and segment type switches. --- util/ass/assci.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/util/ass/assci.c b/util/ass/assci.c index 3b924d8de..83e744bbe 100644 --- a/util/ass/assci.c +++ b/util/ass/assci.c @@ -32,7 +32,7 @@ static int oksizes; /* MES EMX,.,. seen */ static enum m_type { CON, ROM, HOLBSS } memtype ; static int valtype; /* Transfer of type information between - valsize ans putval + valsize, inpseudo and putval */ int table3(i) { @@ -243,7 +243,7 @@ int needed() { } cons_t valsize() { - switch(valtype=table2()) { /* valtype is used by putval */ + switch(valtype=table2()) { /* valtype is used by putval and inpseudo */ case sp_cst2: return wordsize ; case sp_ilb1: @@ -252,13 +252,6 @@ cons_t valsize() { case sp_pnam: return ptrsize ; case sp_scon: - /* Pad the string with zeros up to the wordsize */ - while ( strlngth%wordsize ) { - if ( strlngth>=MAXSTRING ) - fatal("string too long") ; - string[strlngth]=0 ; - strlngth++ ; - } return strlngth ; case sp_fcon: case sp_icon: @@ -433,7 +426,7 @@ inpseudo(instr_no) { chkstart() ; typealign( ctrunc(instr_no)==ps_rom ? ROM : CON ) ; while( (objsize=valsize())!=0 ) { - sizealign(objsize) ; + if ( valtype!=sp_scon) sizealign(objsize) ; putval() ; databytes+=objsize ; } -- 2.34.1