0 Members and 3 Guests are viewing this topic.
Quote from: Aichi on November 05, 2010, 02:23:47 pmIt seems like DCS7 doesnt support descriptions when I compile an axe code to an Ion prog.Doors definitely supports Ion descriptions... Do you have another shell you could try it in?
It seems like DCS7 doesnt support descriptions when I compile an axe code to an Ion prog.
Another Bug report:When I use 'Pause ' (without argument) Axe is compiling the code without giving an error. If I execute the prog, the calc crashes. So it would be nice if Pause without an argument was an error.
;Push a zero byte to the stack and pop it xor a push af pop af ld a,i jp pe,interrupts_on ;See if an interrupt triggered. If so, the byte on the stack will not be 0 anymore ;unless this code is executing from $0000-$00FF area, which would only happen if you are writing an OS dec sp dec sp pop af or a jr z,interrupts_off ;If interrupts were on, set A to $FF so the increase will set parity even ld a,$FFinterrupts_off: ;Set parity odd inc ainterrupts_on:
:!If EXP1:.Code:ElseIf EXP2:.Code:End
:If EXP1=0:.Code:ElseIf EXP2:.Code:End
Not sure if this has been mentioned already, but if you overwrite an external variable that's been in archive, it just gets deleted and not overwritten.
I found a bug (I think) :When I compile this code in Axe 0.4.4, it work :Code: [Select]:!If EXP1:.Code:ElseIf EXP2:.Code:EndBut in 0.4.5, I'm obliged to do that :Code: [Select]:If EXP1=0:.Code:ElseIf EXP2:.Code:EndThis is due to ERR:BLOCK when I compile.
So, I think I have come up with a foolproof method for checking whether interrupts are enabled, even if an interrupt occurs at an inopportune moment:
xor a push af pop af ld a,i jp pe,interrupt_check_end dec sp dec sp pop af add a,a jr z,interrupt_check_end xor ainterrupt_check_end:
EDIT 2: Oh, and in the commands list you accidentally call EXP1**EXP2 signed multiplication instead of fixed point multiplication.
Quote from: Runer112 on November 10, 2010, 05:24:48 pmEDIT 2: Oh, and in the commands list you accidentally call EXP1**EXP2 signed multiplication instead of fixed point multiplication.It actually is a signed fixed-point multiplication. The list doesn't say "fixed-point" in so many words, though it does describe the type of number it is.