Added .REPEAT pseudo instruction

git-svn-id: svn://svn.cc65.org/cc65/trunk@215 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2000-07-28 12:15:40 +00:00
parent 77e8bffa81
commit 44a11218e1
10 changed files with 334 additions and 51 deletions

View File

@@ -37,11 +37,13 @@
#include <string.h>
#include <errno.h>
#include "../common/fname.h"
#include "../common/segdefs.h"
#include "../common/version.h"
#include "../common/xmalloc.h"
/* common */
#include "fname.h"
#include "segdefs.h"
#include "version.h"
#include "xmalloc.h"
/* ca65 */
#include "error.h"
#include "global.h"
#include "objcode.h"
@@ -50,7 +52,7 @@
/*****************************************************************************/
/* Data */
/* Data */
/*****************************************************************************/
@@ -167,13 +169,28 @@ void InitListingLine (void)
{
if (Listing) {
/* Make the last loaded line the current line */
LineCur = LineLast;
/* ###### This code is a hack! We really need to do it right
* as soon as we know, how:-(
*/
if (LineCur && LineCur->Next && LineCur->Next != LineLast) {
ListLine* L = LineCur;
do {
L = L->Next;
/* Set the values for this line */
CHECK (L != 0);
L->PC = GetPC ();
L->Reloc = RelocMode;
L->Output = (ListingEnabled > 0);
L->ListBytes = (unsigned char) ListBytes;
} while (L->Next != LineLast);
}
LineCur = LineLast;
/* Set the values for this line */
CHECK (LineCur != 0);
LineCur->PC = GetPC ();
LineCur->Reloc = RelocMode;
LineCur->Output = (ListingEnabled > 0);
/* Set the values for this line */
CHECK (LineCur != 0);
LineCur->PC = GetPC ();
LineCur->Reloc = RelocMode;
LineCur->Output = (ListingEnabled > 0);
LineCur->ListBytes = (unsigned char) ListBytes;
}
}
@@ -345,7 +362,7 @@ void CreateListing (void)
break;
case FRAG_EXPR:
case FRAG_SEXPR:
case FRAG_SEXPR:
B = AddMult (B, 'r', Frag->Len*2);
break;