Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Thread

AVR Assembler idea

AVR Assembler idea

2004-01-31 by Dave VanHorn

I have a suggestion, to make something very tedious, and yet very 
important, much less of a problem..

Frequently, you end up with a register (or ram location) filled with bit 
flags doing inter-task signalling.
So, you end up with something like this in your comments:

;
;Burn Flags (register) Definitions
;00XX XXXX Unused
;XX1X XXXX Head loaded
;XXX1 XXXX Head latched
;XXXX 0XXX Unused
;0000 01XX 1= Four-Burn, 0 = two-burn
;XXXX XXYY Burn state 0-3 or 0-1
;
.equ	Head_Loaded	= 5	;
.equ	Head_Latched	= 4 	;		
.equ	Four_Burn	= 2	;
;
;Step Flags (register) Definitions:	
;0XXX XXXX Disabled
;X1XX XXXX 1 = Burn in progress
;XX0X XXXX Unused
;XXX0 XXXX 1 = too cold
;XXXX 1XXX Step in progress
;XXXX X1XX Step enabled (by Latch)
;XXXX XX00 Unused
;
.equ	Step_Disabled		= 7	;Head/Paper sensors
.equ	Step_BIP		= 6 	;T2 running
.equ	Step_Cold		= 4	;Temperature
.equ	Step_In_Progress	= 3	;Start_Step
.equ	Step_Enabled		= 2	;By Latch

This, by itself, isn't a problem.
However, by their very nature, these flags are used anywhere and everywhere.
So you end up having a bunch of copies of the definitions everywhere.
Now the problem begins.

What happens when I need a new flag, or need to change the definition of a 
flag?
I have to go hunt down every copy of this comment block, everywhere in the 
code (multiple files) and update them.
This is very tedious, and very error prone.

What I would like to see, is "hover help" where I can select register/ram 
bytes to include in this help.
What happens is that I define a master comment block somewhere, and assign 
that to a variable name.
Now any time that I hover over this variable name, the comment field pops up.
If I right click on an active variable, then I can edit the master comment 
field, without having to go open the file over there.

This is an html-like kind of thing and requires a little thought to 
implement, but I think it will make everyone's lives easier.

AW: [AVR-Chat] AVR Assembler idea

2004-02-01 by Klaus Ruebsam

Hi Dave,
DvH> This is an html-like kind of thing and requires a little thought to implement, but I think it will make everyone's lives easier.
You won´t (of course you do!) believe how much I´d like to have exactly THAT feature. I often thought back to the old 8080-times where MacroAssemblers did a cross-reference-list at the end of their listing. AVRASM does not do so, but your idea is even more sexy. Tell the guys at ATmel (I noticed your x-posting) that there is a demand for such feature as it would make "clean-programming" much easier..
Kind regards,
Klaus

Re: [AVR-Chat] AVR Assembler idea

2004-02-02 by Les Grant

Hi Dave,

Why don't you put the file in an include file. When you need to check 
on some bit definitions, just open the include file in another editor 
window. I can right click on a variable and the editor opens the file 
where the variable is defined. 

Regards,
Les.

On 31 Jan 2004 at 15:55, Dave VanHorn wrote:

> 
> I have a suggestion, to make something very tedious, and yet very
> important, much less of a problem..
> 
> Frequently, you end up with a register (or ram location) filled with
> bit flags doing inter-task signalling. So, you end up with something
> like this in your comments:
> 
> ;
> ;Burn Flags (register) Definitions
> ;00XX XXXX Unused
> ;XX1X XXXX Head loaded
> ;XXX1 XXXX Head latched
> ;XXXX 0XXX Unused
> ;0000 01XX 1= Four-Burn, 0 = two-burn
> ;XXXX XXYY Burn state 0-3 or 0-1
> ;
> .equ	Head_Loaded	= 5	;
> .equ	Head_Latched	= 4 	;		
> .equ	Four_Burn	= 2	;
> ;
> ;Step Flags (register) Definitions:	
> ;0XXX XXXX Disabled
> ;X1XX XXXX 1 = Burn in progress
> ;XX0X XXXX Unused
> ;XXX0 XXXX 1 = too cold
> ;XXXX 1XXX Step in progress
> ;XXXX X1XX Step enabled (by Latch)
> ;XXXX XX00 Unused
> ;
> .equ	Step_Disabled		= 7	;Head/Paper sensors
> .equ	Step_BIP		= 6 	;T2 running
> .equ	Step_Cold		= 4	;Temperature
> .equ	Step_In_Progress	= 3	;Start_Step
> .equ	Step_Enabled		= 2	;By Latch
> 
> This, by itself, isn't a problem.
> However, by their very nature, these flags are used anywhere and
> everywhere. So you end up having a bunch of copies of the definitions
> everywhere. Now the problem begins.
> 
> What happens when I need a new flag, or need to change the definition
> of a flag? I have to go hunt down every copy of this comment block,
> everywhere in the code (multiple files) and update them. This is very
> tedious, and very error prone.
> 
> What I would like to see, is "hover help" where I can select
> register/ram bytes to include in this help. What happens is that I
> define a master comment block somewhere, and assign that to a variable
> name. Now any time that I hover over this variable name, the comment
> field pops up. If I right click on an active variable, then I can edit
> the master comment field, without having to go open the file over
> there.
> 
> This is an html-like kind of thing and requires a little thought to
> implement, but I think it will make everyone's lives easier.
> 
> 
> 
> 
> ------------------------ Yahoo! Groups Sponsor
> ---------------------~--> Buy Ink Cartridges or Refill Kits for your
> HP, Epson, Canon or Lexmark Printer at MyInks.com. Free s/h on orders
> $50 or more to the US & Canada.
> http://www.c1tracking.com/l.asp?cid=5511
> http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/dN_tlB/TM
> ---------------------------------------------------------------------~
> ->
> 
> Yahoo! Groups Links
> 
> To visit your group on the web, go to:
>  http://groups.yahoo.com/group/AVR-Chat/
> 
> To unsubscribe from this group, send an email to:
>  AVR-Chat-unsubscribe@yahoogroups.com
> 
> Your use of Yahoo! Groups is subject to:
>  http://docs.yahoo.com/info/terms/ 
> 
> 


-------------------------------------------------------------
Les Grant. VK2KYJ.      Phone: 02 9896 7150 Fax: 02 9896 7153
Grantronics Pty Ltd     Int'l: +612 9896 7150, +612 9896 7153
ABN 46 070 123 643
PO Box 275, Wentworthville. NSW. 2145. Australia.            
http://www.grantronics.com.au  mailto:info@grantronics.com.au
Microcontroller Hardware and Software development:  Atmel AVR
8051 derivatives, 80C196 family, C, ASM, Digital and analogue 
-------------------------------------------------------------
Australian distributor for:
o Dunfield Development Systems low cost development tools
o ImageCraft AVR and Motorola Windows-hosted C compilers
o ELNEC Device Programmers (E)EPROMs, Flash, Micros, PLDs
o CAN-BUS Hardware and Software from LAWICEL
o Logical Systems Programming, Prototyping & Production Adaptors
-------------------------------------------------------------

Re: [AVR-Chat] AVR Assembler idea

2004-02-02 by Dave VanHorn

At 10:17 PM 2/2/2004 +1100, Les Grant wrote:
>Hi Dave,
>
>Why don't you put the file in an include file. When you need to check
>on some bit definitions, just open the include file in another editor
>window. I can right click on a variable and the editor opens the file
>where the variable is defined.

In Studio??  I don't see this at all.  S4.08 here.

Assembler Notation

2004-02-02 by Dave VanHorn

Guys and Gals (well Gal, anyway..)

How do you folks handle defining bits, so that you can use SBRS/SBRC and 
SBR/SBR instructions in a sane manner?

I find the notation confusing, as one is set BITS in register, and the 
other is skip if BIT.

What I would like to do, is define a port with names for all the bits, and 
to use those names everywhere.

I know I can do something like SBR (1<<Latch),(1<<Select) but that's a bit 
clunky.

I'd really like to be able to define "latch" as  6 and 1<<6...

I'm hoping one of you has hit a clever solution for this.

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.