[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: About CC65 inline assembly problem.



bluebird wrote:
I want to call inline assembly routine.

void __fastcall__ displayCharA(void)
{
                // Display char 'A'
	__asm__	(" LDA #$C1 \
		   JSR $FDED");
}

But it failed. So I tried like this.

void __fastcall__ callCOUT(void)
{
	__asm__	("		BIT $C082		\
					LDA #$C1		\
					JSR $FDED		\
					BIT	$C080");
}

Then it works.
Is there anyone to talk about this problem?

From your example, it would appear that the monitor ROM (containing
$FDED) is normally switched out, and your reference to $C082 switches
it back in for the call, then out again before returning.

A cc65 expert could tell us whether this is the usual default state
while a program is running or not.

-michael

NadaNet and AppleCrate II: parallel computing for Apple II computers!
Home page: http://home.comcast.net/~mjmahon

"The wastebasket is our most important design
tool--and it's seriously underused."