Syscall problem
9 posts
• Page 1 of 1
- Canta
- Junior Member
- Posts: 17
- Joined: Sun May 27, 2012 4:38 pm
- Location: Germany
- Calculators: Casio fx-9860GII
Syscall problem
Hello
I would like to work with a syscall to generate a randomnumber (I think then I need this syscall). So I added the source file syscall.src :
but when I tried to build it:
What did I do wrong?
I would like to work with a syscall to generate a randomnumber (I think then I need this syscall). So I added the source file syscall.src :
- Code: Select all
.SECTION P,CODE,ALIGN=4
MACRO SYSCALL FUNO, SYSCALLNAME, TAIL=nop
.export \SYSCALLNAME'
\SYSCALLNAME'
mov.l #h'\FUNO, r0
mov.l #H'80010070, r2
jmp @r2
\TAIL'
.ENDM
SYSCALL 003B, _RTC_GetTicks
.end
but when I tried to build it:
- Code: Select all
syscall.src(1) : C2500 (E) Illegal token "."
syscall.src(4) : C2400 (E) Illegal character "\"
syscall.src(4) : C2401 (E) Incomplete character constant
syscall.src(5) : C2400 (E) Illegal character "\"
syscall.src(5) : C2401 (E) Incomplete character constant
syscall.src(6) : C2400 (E) Illegal character "#"
syscall.src(6) : C1005 (W) Undefined escape sequence
syscall.src(6) : C2401 (E) Incomplete character constant
syscall.src(7) : C2400 (E) Illegal character "#"
syscall.src(7) : C2401 (E) Incomplete character constant
syscall.src(8) : C2400 (E) Illegal character "@"
syscall.src(9) : C2400 (E) Illegal character "\"
syscall.src(9) : C2401 (E) Incomplete character constant
What did I do wrong?
- SimonLothar
- Senior Member
-
- Posts: 605
- Joined: Sat Sep 15, 2012 6:59 am
- Location: Krautland ****
- Calculators: Casio fx-7400GII, Casio fx-7400GII (SH4), Casio fx-9750GII, Casio fx-9750GII (SH4), Casio fx-9860G, Casio fx-9860G SD, Casio fx-9860G Slim, Casio fx-9860GII SD, Casio fx-9860GII SD Power Graphic 2, Casio Classpad 330 plus, Casio fx-CG20, Casio fx-CG50, Casio Classpad fx-CP400
replace
by
But this does not explain the error messages.
Do you use the CASIO SDK?
- Code: Select all
MACRO SYSCALL FUNO, SYSCALLNAME, TAIL=nop
by
- Code: Select all
.MACRO SYSCALL FUNO, SYSCALLNAME, TAIL=nop
But this does not explain the error messages.
Do you use the CASIO SDK?
I'll be back!
- Canta
- Junior Member
- Posts: 17
- Joined: Sun May 27, 2012 4:38 pm
- Location: Germany
- Calculators: Casio fx-9860GII
-YesDo you use the CASIO SDK?
my new code:
- Code: Select all
.SECTION P,CODE,ALIGN=4
.MACRO SYSCALL FUNO, SYSCALLNAME, TAIL=nop
.export \SYSCALLNAME'
\SYSCALLNAME'
mov.l #h'\FUNO, r0
mov.l #H'80010070, r2
jmp @r2
\TAIL'
.ENDM
SYSCALL 003B, _RTC_GetTicks
.end
and my new errors:
- Code: Select all
syscall.src(3) : 202 (E) ILLEGAL SYMBOL OR SECTION NAME
syscall.src(3) : 300 (E) ILLEGAL MNEMONIC
syscall.src(4) : 202 (E) ILLEGAL SYMBOL OR SECTION NAME
syscall.src(5) : 202 (E) ILLEGAL SYMBOL OR SECTION NAME
syscall.src(6) : 101 (E) SYNTAX ERROR IN SOURCE STATEMENT
syscall.src(9) : 300 (E) ILLEGAL MNEMONIC
syscall.src(10) : 616 (E) MACRO DIRECTIVES MISMATCH
syscall.src(13) : 300 (E) ILLEGAL MNEMONIC
syscall.src(13) : 876 (W) ASSEMBLER OUTPUTS BRA INSTRUCTION
*****TOTAL ERRORS 8
*****TOTAL WARNINGS 1
Should I write something in my main program to make it work?
- SimonLothar
- Senior Member
-
- Posts: 605
- Joined: Sat Sep 15, 2012 6:59 am
- Location: Krautland ****
- Calculators: Casio fx-7400GII, Casio fx-7400GII (SH4), Casio fx-9750GII, Casio fx-9750GII (SH4), Casio fx-9860G, Casio fx-9860G SD, Casio fx-9860G Slim, Casio fx-9860GII SD, Casio fx-9860GII SD Power Graphic 2, Casio Classpad 330 plus, Casio fx-CG20, Casio fx-CG50, Casio Classpad fx-CP400
Canta wrote:-Yes
my new code:
- Code: Select all
.SECTION P,CODE,ALIGN=4
.MACRO SYSCALL FUNO, SYSCALLNAME, TAIL=nop
.export \SYSCALLNAME'
\SYSCALLNAME'
mov.l #h'\FUNO, r0
mov.l #H'80010070, r2
jmp @r2
\TAIL'
.ENDM
SYSCALL 003B, _RTC_GetTicks
.end
and my new errors:
- Code: Select all
syscall.src(3) : 202 (E) ILLEGAL SYMBOL OR SECTION NAME
syscall.src(3) : 300 (E) ILLEGAL MNEMONIC
syscall.src(4) : 202 (E) ILLEGAL SYMBOL OR SECTION NAME
syscall.src(5) : 202 (E) ILLEGAL SYMBOL OR SECTION NAME
syscall.src(6) : 101 (E) SYNTAX ERROR IN SOURCE STATEMENT
syscall.src(9) : 300 (E) ILLEGAL MNEMONIC
syscall.src(10) : 616 (E) MACRO DIRECTIVES MISMATCH
syscall.src(13) : 300 (E) ILLEGAL MNEMONIC
syscall.src(13) : 876 (W) ASSEMBLER OUTPUTS BRA INSTRUCTION
*****TOTAL ERRORS 8
*****TOTAL WARNINGS 1
Should I write something in my main program to make it work?
No. First indent .MACRO... with one or more spaces or a tab.
I'll be back!
- SimonLothar
- Senior Member
-
- Posts: 605
- Joined: Sat Sep 15, 2012 6:59 am
- Location: Krautland ****
- Calculators: Casio fx-7400GII, Casio fx-7400GII (SH4), Casio fx-9750GII, Casio fx-9750GII (SH4), Casio fx-9860G, Casio fx-9860G SD, Casio fx-9860G Slim, Casio fx-9860GII SD, Casio fx-9860GII SD Power Graphic 2, Casio Classpad 330 plus, Casio fx-CG20, Casio fx-CG50, Casio Classpad fx-CP400
Canta wrote:Great! Now it builds without an error.Even I don't understand why...
Because of the missing indentation. That are the assembler's syntax rules for directives.
Canta wrote:Can you please tell me now how do I get the random number in my main program?
use
srand( RTC_Ticks() )
to initialize the random-generator (once at the beginning of your program)
use
rand()
to get a random-number throughout your program
the interfaces of both functions are in stdlib.h (hence include it)
I'll be back!
- Canta
- Junior Member
- Posts: 17
- Joined: Sun May 27, 2012 4:38 pm
- Location: Germany
- Calculators: Casio fx-9860GII
Something is still wrong. This code builds, but displays first always 1 :
- Code: Select all
#include "fxlib.h"
#include "stdlib.h"
#include "stdio.h"
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int x;
char buffer[3];
unsigned int RTC_GetTicks();
Bdisp_AllClr_DDVRAM();
x = rand() % 10 + 1;
sprintf(buffer,"%d",x);
PrintMini(10,10,(unsigned char*)buffer,MINI_OVER);
Bdisp_PutDisp_DD();
Sleep(500);
return 1;
}
#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}
#pragma section
- SimonLothar
- Senior Member
-
- Posts: 605
- Joined: Sat Sep 15, 2012 6:59 am
- Location: Krautland ****
- Calculators: Casio fx-7400GII, Casio fx-7400GII (SH4), Casio fx-9750GII, Casio fx-9750GII (SH4), Casio fx-9860G, Casio fx-9860G SD, Casio fx-9860G Slim, Casio fx-9860GII SD, Casio fx-9860GII SD Power Graphic 2, Casio Classpad 330 plus, Casio fx-CG20, Casio fx-CG50, Casio Classpad fx-CP400
9 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 26 guests