Added labels, SIEZ attribute for labels, dependent labels etc.

git-svn-id: svn://svn.cc65.org/cc65/trunk@343 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2000-09-29 12:26:34 +00:00
parent c15fb9b50f
commit 97f9682307
11 changed files with 273 additions and 48 deletions

View File

@@ -174,9 +174,8 @@ static void OneOpcode (unsigned RemainingBytes)
const OpcDesc* D = &OpcTable[OPC];
/* If we have a label at this address, output the label */
const char* Label = GetLabel (PC);
if (Label) {
DefLabel (Label);
if (MustDefLabel (PC)) {
DefLabel (GetLabel (PC));
}
/* Check...
@@ -185,7 +184,7 @@ static void OneOpcode (unsigned RemainingBytes)
* - ...if there is no label somewhere between the instruction bytes.
* If any of these conditions is true, switch to data mode.
*/
if (GetStyle (PC) == atDefault) {
if (GetStyleAttr (PC) == atDefault) {
if (D->Size > RemainingBytes) {
MarkAddr (PC, atIllegal);
} else if ((D->CPU & CPU) != CPU) {
@@ -202,7 +201,7 @@ static void OneOpcode (unsigned RemainingBytes)
}
/* Disassemble the line */
switch (GetStyle (PC)) {
switch (GetStyleAttr (PC)) {
case atDefault:
case atCode:
@@ -226,6 +225,10 @@ static void OneOpcode (unsigned RemainingBytes)
AddrTable ();
break;
case atRtsTab:
RtsTable ();
break;
default:
DataByteLine (1);
++PC;