Add global loads with offset

This commit is contained in:
David Schmenk 2014-05-21 18:30:36 -07:00
parent 5dd829161b
commit e465ae6ced
2 changed files with 16 additions and 0 deletions

View File

@ -556,6 +556,20 @@ void emit_law(int tag, int type)
printf("\t%s\t$6A\t\t\t; LAW\t%s\n", DB, taglbl);
printf("_F%03d%c\t%s\t%s\t\t\n", fixup, LBL, DW, type & EXTERN_TYPE ? "0" : taglbl);
}
void emit_lab_ofst(int tag, int offset, int type)
{
int fixup = fixup_new(tag, type, FIXUP_WORD);
char *taglbl = tag_string(tag, type);
printf("\t%s\t$68\t\t\t; LAB\t%s\n", DB, taglbl);
printf("_F%03d%c\t%s\t%s+%d\t\t\n", fixup, LBL, DW, type & EXTERN_TYPE ? "0" : taglbl, offset);
}
void emit_law_ofst(int tag, int offset, int type)
{
int fixup = fixup_new(tag, type, FIXUP_WORD);
char *taglbl = tag_string(tag, type);
printf("\t%s\t$6A\t\t\t; LAW\t%s\n", DB, taglbl);
printf("_F%03d%c\t%s\t%s+%d\t\t\n", fixup, LBL, DW, type & EXTERN_TYPE ? "0" : taglbl, offset);
}
void emit_sb(void)
{
printf("\t%s\t$70\t\t\t; SB\n", DB);

View File

@ -22,6 +22,8 @@ void emit_llb(int index);
void emit_llw(int index);
void emit_lab(int tag, int type);
void emit_law(int tag, int type);
void emit_lab_ofst(int tag, int offset, int type);
void emit_law_ofst(int tag, int offset, int type);
void emit_sb(void);
void emit_sw(void);
void emit_slb(int index);