Anyone know where on the internet files of programs, or portions
of such, written an Arm assembley can be found? I'm in need
of examples of arm assembly to serve as test code for a just
written assembler.
Hul Tytus <ht@panix.com> wrote:
Anyone know where on the internet files of programs, or portions
of such, written an Arm assembley can be found? I'm in need
of examples of arm assembly to serve as test code for a just
written assembler.
ARM has at least 4 instruction sets:
1. The classic 32-bit ISA (32-bit instructions operating on 32 bit data)
2. Thumb compressed 16-bit instructions (operating on 32 bit data)
3. Thumb-2 compressed 16-bit instructions
(not strictly a separate ISA but a way to mix #1 and #2 in a single >instruction stream)
4. AArch64 32-bit wide instructions operating on 64-bit data
(completely different from all the above)
There are then classic ARM 32-bit mnemonics, Thumb mnemonics and UAL
'unified assembly language' intend to cover both with one syntax.
Plus armasm and gas have different ways of writing assembly code.
Choose your poison...
Theo
Hul Tytus <ht@panix.com> wrote:
Anyone know where on the internet files of programs, or portions
of such, written an Arm assembley can be found? I'm in need
of examples of arm assembly to serve as test code for a just
written assembler.
ARM has at least 4 instruction sets:
1. The classic 32-bit ISA (32-bit instructions operating on 32 bit data)
2. Thumb compressed 16-bit instructions (operating on 32 bit data)
3. Thumb-2 compressed 16-bit instructions
(not strictly a separate ISA but a way to mix #1 and #2 in a single instruction stream)
4. AArch64 32-bit wide instructions operating on 64-bit data
(completely different from all the above)
There are then classic ARM 32-bit mnemonics, Thumb mnemonics and UAL
'unified assembly language' intend to cover both with one syntax.
Plus armasm and gas have different ways of writing assembly code.
Choose your poison...
On 13 May 2021 14:28:24 +0100 (BST), Theo
<theom+news@chiark.greenend.org.uk> wrote:
Hul Tytus <ht@panix.com> wrote:
Anyone know where on the internet files of programs, or portions
of such, written an Arm assembley can be found? I'm in need
of examples of arm assembly to serve as test code for a just
written assembler.
ARM has at least 4 instruction sets:
1. The classic 32-bit ISA (32-bit instructions operating on 32 bit data)
2. Thumb compressed 16-bit instructions (operating on 32 bit data)
3. Thumb-2 compressed 16-bit instructions
(not strictly a separate ISA but a way to mix #1 and #2 in a single >instruction stream)
4. AArch64 32-bit wide instructions operating on 64-bit data
(completely different from all the above)
There are then classic ARM 32-bit mnemonics, Thumb mnemonics and UAL >'unified assembly language' intend to cover both with one syntax.
Plus armasm and gas have different ways of writing assembly code.
Choose your poison...
Theo
Good point about the different instruction sets !
I just use the regular Cortex M3 M4 and old non Cortex M versions
myself.
I get comfused on the actual "versions" or ARM code though...
I used the older NXP/Philips parts with no Cortex M, the LPC2368
series. Not sure if that is V4 or V7 ? Or something else ?
boB
On 5/13/2021 6:28 AM, Theo wrote:
Hul Tytus <ht@panix.com> wrote:
Anyone know where on the internet files of programs, or portions
of such, written an Arm assembley can be found? I'm in need
of examples of arm assembly to serve as test code for a just
written assembler.
ARM has at least 4 instruction sets:
1. The classic 32-bit ISA (32-bit instructions operating on 32 bit data)
2. Thumb compressed 16-bit instructions (operating on 32 bit data)
3. Thumb-2 compressed 16-bit instructions
(not strictly a separate ISA but a way to mix #1 and #2 in a single instruction stream)
4. AArch64 32-bit wide instructions operating on 64-bit data
(completely different from all the above)
There are then classic ARM 32-bit mnemonics, Thumb mnemonics and UAL 'unified assembly language' intend to cover both with one syntax.
Plus armasm and gas have different ways of writing assembly code.
Choose your poison...
It's unclear whether his tool targets one dialect, all, or can be
commanded (command line switch) to address a specific one.
One assumes that having the knowledge to craft such a tool would
imply knowledge of the problem he's solving! (?)
Don, the objective is a small assembler for in-house use and
to be included with some equipment with arm processors. Some
list files for checking the immediate and branching calculations
and placements would be handy.
Don, the objective is a small assembler for in-house use and
to be included with some equipment with arm processors. Some
list files for checking the immediate and branching calculations
and placements would be handy.
Hul Tytus <ht@panix.com> wrote:
Don, the objective is a small assembler for in-house use and
to be included with some equipment with arm processors. Some
list files for checking the immediate and branching calculations
and placements would be handy.
You didn't really clarify your requirements, but I'll point you at one big 'classic' 32-bit ARM codebase:
https://www.riscosopen.org/
specifically
https://gitlab.riscosopen.org/RiscOS/Sources
This is targeting the assembly format used by armasm (using an older fork
of that called objasm). Newer parts are in C but you can find lots of assembly in the 's' folders.
There's no Thumb and little VFP or NEON, but some FPA (the original 1980s
ARM FPU). There's substantial use of macros as well.
Theo
Anyone know where on the internet files of programs, or portions
of such, written an Arm assembley can be found? I'm in need
of examples of arm assembly to serve as test code for a just
written assembler.
On Thursday, 13 May 2021 at 02:18:08 UTC+1, Hul Tytus wrote:
Anyone know where on the internet files of programs, or portions
of such, written an Arm assembley can be found? I'm in need
of examples of arm assembly to serve as test code for a just
written assembler.
Good luck. I'm in the middle of writing an ARM64 assembler, so
am in the same position. Plus untangling the complexity of the
ARM64 instruction architecture. ;)
jgh
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (0 / 16) |
Uptime: | 166:51:24 |
Calls: | 10,385 |
Calls today: | 2 |
Files: | 14,057 |
Messages: | 6,416,529 |