Jump tables for gcc-arm cross compiler

Guest #3354572
Rate this post
useful
not useful
I would really appreciate if some one could tell me how to initiate jump 
tables for gnu arm assembler. I have written the below code at the end 
of my .s file. I have tried all sorts of things (using .align, .p2align, 
.long etc) but i can't get the _input_case_table to get the 4 byte 
addresses for str_help and str_sum. Assuming input starts at 0x100e4 
memory in the debugger, I have reproduced the 32 byte memory location 
following it.
1
/*
2
 * --- Data follows ---
3
 */
4

5

6
/* Let's pretend this command was entered by the user */
7
input:  .ascii "sum"
8
  .byte 0, 0, 0, 0, 0
9
  
10
str_help:
11
  .ascii "HELP"
12
  .byte 0, 0, 0, 0
13
str_sum:
14
  .ascii "SUM"
15
  .byte 0, 0, 0
16

17
/* Recognized commands */
18
_input_case_table:
19
  .word  str_sum
20
  .word  str_help

---------_GDB_MEMORY_OUTPUT-------------------
Attached in file

I am using the gcc-4.6-linux-arm-gnueabi compiler tool chain. Using 
gdb-multiarch with architecture set to armv4.
I am still new to this so any guidance would be much appreciated.

To reiterate my question, im tyring to compile code for armv4 32bit 
processor mode. I know how alignment and 'DCD' statements work but for 
Keil Development tools only. I would really appreciate if some one could 
point me how to do the using the GNU assembler.
Attached files:

Reply

Please log in before posting.

or

Log in with Google account

Registration is free and takes only a minute.

Register now