mirror of
https://github.com/cc65/cc65.git
synced 2024-09-30 08:57:49 +00:00
Remove bank.offs address spec
git-svn-id: svn://svn.cc65.org/cc65/trunk@2661 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
756de64bd5
commit
274bafe6a5
@ -159,63 +159,42 @@ void GetEA (EffAddr* A)
|
|||||||
/* Remaining stuff:
|
/* Remaining stuff:
|
||||||
*
|
*
|
||||||
* adr
|
* adr
|
||||||
* bank.adr
|
|
||||||
* adr,x
|
* adr,x
|
||||||
* bank.adr,x
|
|
||||||
* adr,y
|
* adr,y
|
||||||
* adr,s
|
* adr,s
|
||||||
*/
|
*/
|
||||||
A->Expr = Expression ();
|
A->Expr = Expression ();
|
||||||
|
|
||||||
if (Tok == TOK_DOT) {
|
if (Tok == TOK_COMMA) {
|
||||||
|
|
||||||
/* Expr was a bank specification: bank.adr or bank.adr,x */
|
NextTok ();
|
||||||
A->Bank = A->Expr;
|
switch (Tok) {
|
||||||
NextTok ();
|
|
||||||
A->Expr = Expression ();
|
|
||||||
if (Tok == TOK_COMMA) {
|
|
||||||
/* bank.adr,x */
|
|
||||||
NextTok ();
|
|
||||||
Consume (TOK_X, "`X' expected");
|
|
||||||
A->AddrModeSet = AM_ABS_LONG_X;
|
|
||||||
} else {
|
|
||||||
/* bank.adr */
|
|
||||||
A->AddrModeSet = AM_ABS_LONG;
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
case TOK_X:
|
||||||
|
A->AddrModeSet = AM_ABS_LONG_X | AM_ABS_X | AM_DIR_X;
|
||||||
|
NextTok ();
|
||||||
|
break;
|
||||||
|
|
||||||
if (Tok == TOK_COMMA) {
|
case TOK_Y:
|
||||||
|
A->AddrModeSet = AM_ABS_Y | AM_DIR_Y;
|
||||||
|
NextTok ();
|
||||||
|
break;
|
||||||
|
|
||||||
NextTok ();
|
case TOK_S:
|
||||||
switch (Tok) {
|
A->AddrModeSet = AM_STACK_REL;
|
||||||
|
NextTok ();
|
||||||
|
break;
|
||||||
|
|
||||||
case TOK_X:
|
default:
|
||||||
A->AddrModeSet = AM_ABS_LONG_X | AM_ABS_X | AM_DIR_X;
|
Error ("Syntax error");
|
||||||
NextTok ();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TOK_Y:
|
}
|
||||||
A->AddrModeSet = AM_ABS_Y | AM_DIR_Y;
|
|
||||||
NextTok ();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TOK_S:
|
} else {
|
||||||
A->AddrModeSet = AM_STACK_REL;
|
|
||||||
NextTok ();
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
A->AddrModeSet = AM_ABS_LONG | AM_ABS | AM_DIR;
|
||||||
Error ("Syntax error");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
A->AddrModeSet = AM_ABS_LONG | AM_ABS | AM_DIR;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Apply addressing mode overrides */
|
/* Apply addressing mode overrides */
|
||||||
|
Loading…
Reference in New Issue
Block a user