ref: d87648e6d3b8b6d2f6f430a7ef1c4f378feeae09
parent: 7b4df93c6808bb73a3bfc1389f9f2a15dde30796
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Tue Jan 26 09:19:12 EST 2016
[cc2-z80] Small format improvement
--- a/cc2/arch/z80/code.c
+++ b/cc2/arch/z80/code.c
@@ -35,7 +35,6 @@
{
static char name[IDENTSIZ+1];
static unsigned short id;
- int k = sym->kind;
if (sym->name) {
switch (sym->kind) {
@@ -42,16 +41,14 @@
case GLOB:
case EXTRN:
snprintf(name, sizeof(name), "_%s", sym->name);
- return name;;
+ return name;
case PRIVAT:
return sym->name;
}
}
- if (sym->numid == 0) {
- if ((sym->numid = ++id) == 0)
- error(EIDOVER);
- }
+ if (sym->numid == 0 && (sym->numid = ++id) == 0)
+ error(EIDOVER);
sprintf(name, ".%d", sym->numid);
return name;
@@ -79,10 +76,10 @@
switch (sym->kind) {
case EXTRN:
- printf("\tEXTRN %s\n", name);
+ printf("\tEXTRN\t%s\n", name);
return;
case GLOB:
- printf("\tPUBLIC %s\n", name);
+ printf("\tPUBLIC\t%s\n", name);
break;
}
@@ -90,26 +87,17 @@
}
static void
-emitstring(Node *np)
-{
- /*In z80 we can ignore the aligment */
- printf("\"%s\"", np->u.s);
- free(np->u.s);
- np->u.s = NULL;
-}
-
-static void
emitconst(Node *np)
{
switch (np->type.size) {
case 1:
- printf("%02X", (int) np->u.i & 0xFF);
+ printf("%d", (int) np->u.i & 0xFF);
break;
case 2:
- printf("%04X", (int) np->u.i & 0xFFFF);
+ printf("%d", (int) np->u.i & 0xFFFF);
break;
case 4:
- printf("%08X", (long) np->u.i & 0xFFFFFFFF);
+ printf("%ld", (long) np->u.i & 0xFFFFFFFF);
break;
default:
abort();
@@ -124,7 +112,9 @@
switch (np->op) {
case OSTRING:
- emitstring(np);
+ printf("\"%s\"", np->u.s);
+ free(np->u.s);
+ np->u.s = NULL;
break;
case OCONST:
emitconst(np);
@@ -142,7 +132,6 @@
break;
}
}
-
static void
size2asm(Type *tp)