DIY PROM Do It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.

Assembler issues

Thread Tools
 
Search this Thread
 
Old 04-03-2005, 09:57 AM
  #1  
Supreme Member

Thread Starter
iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Assembler issues

When reassembling my commented file (or attempting to)I have found that the assembler (AS6811) is requiring that I :
change all "EQU" back to "="
change all "FCB" to ".byte"
change all "FDB" to ".word"
change any bit reference from "L0000, #$10" to "*L0000,#$10"
I've been struggling to get rid of the errors but just could not figure them out until I made these changes.

I spent too long making them look clean to go back and use stupid terms like ".byte" in the text.
What assembler (or switch) will work with the FCB, FDB syntax?

Edit,
seems I've exceeded the amout of chars per line as well in some instances. (Cref and Drefs are wrapping around)
any way to make the assembler ignore or not wrap the lines?

Last edited by JP86SS; 04-03-2005 at 10:07 AM.
Old 04-03-2005, 10:30 AM
  #2  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,405
Likes: 0
Received 216 Likes on 202 Posts
Car: check
Engine: check
Transmission: check
I use Dunfields assembler and it too has some peculiarities. Such as this syntax:

Code:
        BRCLR   0,X;$08,LA334   ;
        BCLR    0,X;$08         ;
Note the ; instead of a , and the lack of # for the immediates.

It also won't accept a space after a comma in a row of values. A table such as this:

Code:
;       tps%     37  50  62  75  87 100         ; rpm

        FCB      10,  6,  4,  3,  3,  3         ; 1200
        FCB      36, 21, 11,  8,  8,  8         ; 2400
        FCB      64, 40, 27, 22, 18, 15         ; 3600
        FCB     105, 54, 39, 31, 25, 17         ; 4800
Needs to be formatted as such:

Code:
;       tps%     37  50  62  75  87 100         ; rpm

        FCB      10,6,4,3,3,3         ; 1200
        FCB      36,21,11,8,8,8         ; 2400
        FCB      64,40,27,22,18,15         ; 3600
        FCB     105,54,39,31,25,17         ; 4800
Which is difficult to read. I ended up writing a pre-processor that I run the code through first. Then assemble the output. It strips the spaces after the commas and also checks all values for overflow.

This oddity is that the assembler will truncate values without a warning. So if by mistake a 280 is entered as a FCB value. It gets truncated to 25.

Other then these I like Dunfields assembler. With the pre-processor it makes it a bunch better.

RBob.
Old 04-03-2005, 11:38 AM
  #3  
Supreme Member

Thread Starter
iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
I'm working through the errors and am now down to a handful.
It just looked cleaner the other way, but Oh well.
tis what it tis.
Old 04-03-2005, 08:51 PM
  #4  
Supreme Member

Thread Starter
iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
I got through all but these errors.
I do not see what could be causing them, Any ideas ????

Code:
ERR     MACH CODE          LINE#    INST      ARG          COMMENTS
------------------------------------------------------------------------------------
a  33DB 12r00r00 82        7846    brset   L0037,#$80,LB321 ; BR IF b7, ENG RUNNING
----------------------------------
a  4938 25 89             11582    bcs     LC702            ; BR IF Carry Set (overflow exist)(Goes to LC6FA in ANHT)
                          11583                             ; ... else
----------------------------------
a  493A 12r00r00 85       11584   brset  L003B,#$01,LC702  ; BR IF b0, PK/NEUT  (Goes to LC6FA in ANHT)
                          11585                            ; (CPU INPUT STATUS WD)
                          11586                            ; .. else
----------------------------------
a  5A08 27 83             14659   beq     LD6BD            ; DIVERT IF IN P.E. TOO LONG   (Goes to LD6B5 in ANHT)
                          14660                            ; ... else
----------------------------------
a  63C9 23 80             16268   bls     LDFF2            ; BR IF Temp is Greater Than Threshold  (Goes to LDFEA in ANHT)
                          16269                            ; ... else
----------------------------------
a  659A 25 83             16565   bcs     LE1B5            ; BR IF Crry Set  (Goes to LE1AD in ANHT)
                          16566                            ; ... else
----------------------------------
ERROR DESCRIPTION:
(a) Indicates a machine specific addressing or addressing mode error.

I've tried *L where the bits are used but makes no diff.
These ALL have valid lables to jump to elswhere in the code.
Old 04-04-2005, 07:26 AM
  #5  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,405
Likes: 0
Received 216 Likes on 202 Posts
Car: check
Engine: check
Transmission: check
The BRA to addresses are out of range. The maximum forward branch is 127 bytes and the maximum reverse branch is 128 bytes.

RBob.
Old 04-04-2005, 11:56 AM
  #6  
Supreme Member

Thread Starter
iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Thanks, I'll have to see why that is.
Old 04-06-2005, 04:36 AM
  #7  
Z69
Supreme Member

 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
For some reason there seems to be an offset that is incrementing in the file as it assembles.
Appears as if it eventually gets far enough off to cause problems with the bra cmds.

Code:
C735 B7 00 B0          11597 LC663:        staa    L00B0
As you can see, C735 is not C663.
Lines up perfect in a bare asm file. 663 to 663
I think JP has this part, just can't figure out why it is incrementing.

I'm not much use at 2am....
Old 04-06-2005, 07:40 AM
  #8  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,405
Likes: 0
Received 216 Likes on 202 Posts
Car: check
Engine: check
Transmission: check
The assembler isn't correct. Well, it does create op codes that work, but expensive ones. In the example you show the assembler used extended addressing where it should have used direct addressing. In this case it used an additional byte:

Code:
C735 B7 00 B0          11597 LC663:        staa    L00B0
should be:

Code:
C735 XX B0          11597 LC663:        staa    L00B0
Substitute the XX with the op-code for a direct store to address (B6? A6? A7? can't recall and don't have the tools here to figure it out).

RBob.
Old 04-06-2005, 02:02 PM
  #9  
Z69
Supreme Member

 
Z69's Avatar
 
Join Date: Sep 2003
Location: Texas
Posts: 1,409
Likes: 0
Received 1 Like on 1 Post
Thanks Rbob,
I noticed that while closing up last night.
My bare asm file lines up perfect and has the correct 97 op code. But a bare file is only 8500 lines while the commented one is about double. I've never compared our control files to see if they are the same. But I missed a couple indirects early on and it still assembled fine.

Here is the first instance of the offset. A improper op code B7 again.
Code:
 B063 86 10              7402               ldaa    #0x10                     ; Disable SXR, VSS folows VSS1 (B4)
   B065 B7 00 2F           7403 LB064:        staa    L002F                    ; Set up for xmit
I did notice that I deleted all the empty space in my asm file at 898A and area/org booo in my asm file. The bare asm that will assemble. We are using the same software.

I also noticed that my asm of JP's file has a different line number where the errors occur. Could be he is using a slightly different file than he sent me though.
Old 04-06-2005, 08:12 PM
  #10  
Supreme Member

Thread Starter
iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
Thanks for looking at this guys, One thing I have noticed is that there were MANY items marked with * in the original dissassembly that I removed when adding the comments.
The addresses all line up with the lables in that format.
The errors in the lables vs lines begins very soon after the start of the code section.
I'm putting them back in (one by one) to see if that symbol is being used as an indicator for relocatable addresses when compiling.
I think that may be the key to making it all line back up.
That and adding some org's in there to keep things from moving, but that is the next step I'll do.
Old 04-07-2005, 12:01 PM
  #11  
Supreme Member

Thread Starter
iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
It's working
I'm halfway with adding in the relocatable symbols and there are only 3 errors left.
So it looks promising.
Old 04-08-2005, 12:04 AM
  #12  
Supreme Member

Thread Starter
iTrader: (1)
 
JP86SS's Avatar
 
Join Date: Apr 2004
Location: Browns Town
Posts: 3,178
Likes: 0
Received 3 Likes on 3 Posts
Car: 86 Monte SS (730,$8D,G3,AP,4K,S_V4)
Engine: 406 Hyd Roller 236/242
Transmission: 700R4 HomeBrew, 2.4K stall
Axle/Gears: 3:73 Posi, 7.5 Soon to break
THAT WAS IT!

I got it to assemble with all of the lables lining up with the lines of code now.
It does not compare to the original due to the "extra $FF" in the 834B: table with the extra line. Something between that entry and 8357: is the answer.
I'm going to move the FF around until the values line up.
Am feeling better now
After about 350 + hours of work, it's looking good now.
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
TheTraut88
TPI
6
09-11-2015 05:16 AM
TheTraut88
Engine/Drivetrain/Suspension Parts for Sale
1
09-07-2015 05:22 PM
greenyone
TPI
3
09-02-2015 03:39 PM
Night rider327
Interior Parts for Sale
0
09-02-2015 04:18 AM
Night rider327
Engine/Drivetrain/Suspension Parts for Sale
0
09-02-2015 04:17 AM



Quick Reply: Assembler issues



All times are GMT -5. The time now is 06:51 AM.