Druzyek wrote:
I'm back with more complaints
The following short program reliably crashes on my installation (1.2.14):
Code:
.start main
.org $8000
main:
LDA #5
It freezes on this screen for about 3 seconds then exits silently.
Like Daryl, I tried this and didn't see any problem.
Incidentally, in the Kowalski assembler, a label does not have to be followed by a colon and an instruction can be on the same line as the label. These changes will have a small but definite effect on how quickly the assembler can parse the source code of a large program.
Also,
*=$8000 is a synonym for
.org $8000.
I would write the above as:
Code:
.start main
*=$8000
;
main lda #5
whartung wrote:
Your program isn't like a C program, that has a defined start and stop point.
Yours loads the accumulator with a 5, and then goes off and does whatever follows it in RAM.
So, it may be no surprise that the program just goes out to lunch after executing your LDA instruction.
Actually, the program does have defined start and stop points. The
.start main pseudo-op sets the starting point for execution and there is an implied
BRK following the last instruction. Executing
BRK in the Kowalski simulator terminates the program and returns control to the user.
However, the problem being reported by Druzyek is one that is occurring during assembly of the program, not execution.