[Coco] Assembly help: Corrupted bin file ?
Fedor Steeman
petrander at gmail.com
Thu Dec 18 02:35:46 EST 2008
Thanks Roger.
So, how do I code a multi-segment source file in assembly? Do I just use
multiple origin statements? Like:
ORG $2000
START NOP
NOP
END START
ORG $7000
STRT2 NOP
NOP
END STRT2
Cheers,
Fedor
2008/12/18 Roger Taylor <operator at coco3.com>
> At 01:30 AM 12/17/2008, you wrote:
>
>> Hello everyone,
>>
>> I am still trying to learn assembly language but keep on running into
>> problems.
>>
>> I have been trying to have the following source code assembled:
>>
>> VIDRAM EQU $0400 *Start of Video Display location
>> V0CLR EQU $FFC0 *Clear bit for Sam Chip (Graphics mode)
>> V1SET EQU $FFC3 *Set V1 bit in Sam Chip (Graphics mode)
>> V2SET EQU $FFC5 *set V2 bit in Sam Chip (Graphics mode)
>> VOFSET EQU $FFC6 *Display Offset Binary, This is the CLR Bit
>> (Video page offset)
>> VDGSET EQU $FF22 *PIA1 data port B: VDG Control output
>> POLCAT EQU $A000 *Color Basic rom poll keyboard routine
>>
>> ORG $21FD
>> LDX #VIDRAM *331D: 8E 04 00
>> LDD $AAAA *3320: CC AA AA
>> Z3323 STD ,X++ *3323: ED 81
>> CMPX #$1C00 *3325: 8C 1C 00
>> BCS Z3323 *3328: 25 F9
>> NOP *332A: 12
>> PMODE4 STA V0CLR *2787: B7 FF C0
>> STA V1SET *278A: B7 FF C3
>> STA V2SET *278D: B7 FF C5
>> LDA #$F8 *2790: 86 F8
>> STA VDGSET *2792: B7 FF 22
>> STA VOFSET *2795: B7 FF C6
>> JSR [POLCAT] *332E: AD 9F A0 00
>> RTS *3332:
>>
>
>
> The source code above is missing two things:
> the label of the starting line/address
>
> try:
> EXEC LDX #VIDRAM
>
> and the LOADM/EXEC finalizer is missing
> the last line of the source code should be:
>
> END EXEC
>
> Now when you LOADM the program from BASIC, all you have to do is type EXEC
> No address is needed as in EXEC #####.
> If you just used END without an address, you'd have to type EXEC $21FD from
> BASIC to run the program.
>
>
>
> --
> Roger Taylor
>
> http://www.wordofthedayonline.com
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
More information about the Coco
mailing list