[Coco] ANDCC

Phill Harvey-Smith afra at aurigae.demon.co.uk
Tue Jun 12 12:50:00 EDT 2007


Quoting "Ries, Rich (S&FS)" <Rich.Ries at Honeywell.com>:

> I always found "ANDCC #nn"/"ORCC #nn" to be a royal pain. Why should I
> need to remember where the various bits are positioned in the micro?
> Isn't that the type of thing the computer is good at?

You can of course always create some defined names that have the values
and then use something like :

ANDCC  IRQ_OFF

etc.

> A nice assembler would recognize "SETCC N" or "CLRCC OV" and translate
> it into the proper hex codes. Honestly, in all my years of micro
> programming, I cannot remember needing to set or clear more than one bit
> of the PSW/CC at a time.

Having had a hand in some low level code for Nitros (Dragon floppy driver),
I have found that I often needed to enable and disable both the IRQ and FIRQ
inturrupts at the same time, whilst yes I could do to ANDCC instructions to
clear each, this seems a little wastefull, especially when code space  
is tight, as it is on the Dragon boot track :(

> I guess an "almost nice" assembler would have macros with parameters, to
> allow creation of SETCC and CLRCC macros.

That's one way of doing it ofcourse, to use the above example you  
could use something like INTS_OFF and INTS_ON, I actually do this sort  
of thing when
programming in AVR assembler, to push and pop the index regs, as they  
are 16 bit regs made up of 2 * 8 bit regs, however the AVR push  
instructions will only handle 8 bit pushes, so I have a macro to do  
this.....


Phill.


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.





More information about the Coco mailing list