flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2, 3 ... 11, 12, 13 ... 30, 31, 32 Next |
Author |
|
Madis731
erm, QEMU ^o) ARM, MIPS, PPC, Sparc and... x86
|
|||
![]() |
|
0.1
^o) sounds interesting! I'll try it.
Could not find anything interesting in Google search please help! |
|||
![]() |
|
0.1
erm search also gave no good results!
PS: Did you joke with me ![]() |
|||
![]() |
|
0.1
When I searched for ARM tutorial, Google gave me lots of links.
But they were about arm twisting tricks, and a few about ARM were just not good enough for me. |
|||
![]() |
|
Dex4u
Get a GBA emulator and start learning to code for the GBA and latter move on to the DS.
Heres a tut: http://www.patatersoft.info/gbaguy/gbaasm.htm |
|||
![]() |
|
revolution
Hi den_po,
Sorry for the late reply, I have been away from the PC for a while. The above code looks like a bug. If anything, the label x should be PC based and not R0 based. I don't know why you get the result above, I also get the same result. I will look into it shortly when I have sorted out my desk and the backlog of things to do. Once I have sorted out the problem I will post back here. |
|||
![]() |
|
revolution
I have uploaded a new version v1.11 http://arm.flatassembler.net
Just a bug fix release. FYI: The way to do what den_po mentions above is like this Code: code32 ldr r0,[r15,x-($+8)] ldr r0,[y] code16 ldr r0,[pc,x-($+4)] virtual at r2+20 y dw 987654321 end virtual align 4 x: DW 0x12345678 |
|||
![]() |
|
oyzzo
how can i debug the ELF binaries created with fasmarm? i'm coding for the gp2x and gdb seems to not work because of the symbol table...
|
|||
![]() |
|
Dex4u
I have written some program for the Gp2x with fasmarm. i may be able to help.
Last edited by Dex4u on 06 Oct 2007, 20:10; edited 1 time in total |
|||
![]() |
|
oyzzo
nope, it doesn't work. gdb can show me the bytecodes of the program but can't disassm them nor trace the program, so i can't debug it :S
|
|||
![]() |
|
oyzzo
uhm, i can now debug with gdb. first i have to put a breakpoint in a place near to the entrypoint and then with display/i $pc i can do nexti. disas doesn't works but i think that's enough.
about the OS, i've read the forums about the arm port of Dex4u but there's not a lot of information. i don't have experience in OS develop but maybe i can help in something. |
|||
![]() |
|
revolution
oyzzo, Can you please elaborate on the problem you have with the symbols.
I have been successfully using symbolic debugging using the tools from ARM without any issue, but those tools don't include gdb so I haven't used it. Is it the symbol table format that is causing a problem? Or some other reason? Feel free to post some example code that illustrates the problem ![]() |
|||
![]() |
|
IronM
revolution,
Hi! can you include some instructions in your prog: 1. adr rx, label1 2. Ability to use label in ldr instructions, e.g. Code: ldr r4, my_data ...... align 4 my_data: dw 0x12345678 Now you need to use macros..... 3. Unicode support (it's necessary for correct representation russian symbols), e.g. Code: ldr r2, my_string ..... align 4 my_string: db *'Hello, World!',0 instead of Code: ldr r2, my_string ........ align 4 my_string: db 'H',0,'e',0,'l',0,'l',0,'o',0,',',0,' ',0,'W',0,'o',0,'r',0,'l',0,'d',0,'!',0,0,0 |
|||
![]() |
|
revolution
Hi IronM,
IronM wrote: 1. adr rx, label1 Code: macro adr reg,location { add reg,pc,location-$-8 } macro adrl reg,location { sub reg,pc,(-location+$+8) and (0ffh shl 2) sub reg,reg,(-location+$+4) and (0ffffff00h shl 2) } IronM wrote: 2. Ability to use label in ldr instructions ... Now you need to use macros..... Code: code32 ldr r0,[r15,x-($+8)] ldr r0,[y] code16 ldr r0,[pc,x-($+4)] virtual at r2+20 y dw 987654321 end virtual align 4 x: DW 0x12345678 IronM wrote: 3. Unicode support Code: my_string: du 'Hello, World!',0 Last edited by revolution on 22 Feb 2010, 12:59; edited 1 time in total |
|||
![]() |
|
vid
Quote: However I may look into some sort of automatic PC relative addressing for a later version. I think that would be great addition, similar to automatic RIP-relative addressing in 64bit FASM |
|||
![]() |
|
IronM
1. I know about this macros, but i didn't like to use such simple instruction as macros.... Any disassembler shows it as adr, not like add pc, pc,0x??
2. It will be very handy 3.It doesn't support russian symbols And what about case instruction? e.g. Code: cmp r0, 0x4 bcs exit adr r1, case ldrb r1, [r1,r0] add pc, r1 case: ........ |
|||
![]() |
|
revolution
vid wrote: I think that would be great addition, similar to automatic RIP-relative addressing in 64bit FASM IronM wrote: 1. I know about this macros, but i didn't like to use such simple instruction as macros.... Any disassembler shows it as adr, not like add pc, pc,0x?? IronM wrote: 3.It doesn't support russian symbols IronM wrote: And what about case instruction? e.g. |
|||
![]() |
|
IronM
OK. About russian symbols.... it is bearable:) Anyway i can use hex-values of russian symbols.
About case.... of course macro, but i think it'll difficult because of different variants of cases.... |
|||
![]() |
|
vid
IronM: russian symbols ARE supported, you just have to understand what you are doing. First, you must know how your editor encodes files. In most cases (FASMW for example) it is 8bit per character, but some editors allow UTF8.
To find difference, just look at saved file: if special characters have 2 bytes, then it is UTF8. Next thing is to learn what character set are you using. Good chance is that it's CP1251. Include appropriate file for your encoding from INCLUDE\ENCODING\. Then, your "du" strings will support special characters. |
|||
![]() |
|
Goto page Previous 1, 2, 3 ... 11, 12, 13 ... 30, 31, 32 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.