Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 04 17:09
    quajak closed #15
  • Oct 23 19:57
    Build #703 passed
  • Oct 23 19:56

    charlesbetros on AssignCharToReg

    (compare)

  • Oct 23 19:56

    charlesbetros on master

    Add support for assigning chara… Update hello world sample to us… Create character literal token and 3 more (compare)

  • Oct 23 19:56
    charlesbetros closed #35
  • Oct 23 17:58
    Build #702 passed
  • Oct 23 17:57
    Build #701 passed
  • Oct 23 17:55
    Build #700 passed
  • Oct 23 17:54
    Build #699 passed
  • Oct 23 17:14
    charlesbetros synchronize #35
  • Oct 23 17:14

    charlesbetros on AssignCharToReg

    Add github action for pr build Remove yml Create build-pr.yml and 16 more (compare)

  • Oct 23 17:06
    charlesbetros synchronize #35
  • Oct 23 17:06

    charlesbetros on AssignCharToReg

    Update sample (compare)

  • Oct 23 16:57
    Build #698 passed
  • Oct 23 16:56
    Build #697 passed
  • Oct 23 16:55
    charlesbetros synchronize #35
  • Oct 23 16:55

    charlesbetros on AssignCharToReg

    Create character literal token (compare)

  • Oct 20 19:07
    Build #696 passed
  • Oct 20 19:05

    charlesbetros on bump_common_version

    (compare)

  • Oct 20 19:05

    charlesbetros on master

    Bump Common package version Merge pull request #38 from Cos… (compare)

We will need to create a different tool runner if we don't use nasm
It will be called after whatever assembler we choose
Marcelo Caetano
@marcelocaetano
yes, we will need because NASM only supports x86
Charles Betros
@charlesbetros
Eventually we will emit our own binary but until we get to that we can use some open source. I don't know much about the options. Can you come up with some recommendations pros/cons and put it here?
Marcelo Caetano
@marcelocaetano
The first alternatives I have found are GNU Assembler (Christopher's recommendation), Keil armasm (maybe ARM company itself has more options) and Microsoft armasm
Marcelo Caetano
@marcelocaetano
GNU Assembler is open source, Keil armasm seems to generate better optimized code and Microsoft armasm works with PE/COFF format
the issue with Keil and Microsoft maybe are their license terms (I'm not sure)
But I can investigate that and come up with more details
This is all that I know so far
Kudzu
@czhower
glad to see activity..I have only jealousy till I can rejoin :)
Charles Betros
@charlesbetros
@czhower @mterwoord any thoughts on an assembler for Arm?
Matthijs ter Woord
@mterwoord
maybe something ourselves using that json stuff?
Kudzu
@czhower
I took a look a few weeks ago but didnt get a chance to deeply evaluate any of the ARM assemblers.
Matthijs ter Woord
@mterwoord
best imo would be something in .net
Kudzu
@czhower
I think we should first use something like NASM instead of direct binary emission for ARM.. easier to debug output, simpler to implement etc. Im sure int he list fo ARM assemblers there is one that is usable.
someone needs to make a list, evaluate them and present the results wtih prime candidates.
Matthijs ter Woord
@mterwoord
would be a great project for someone to get going with: find a suitable arm assembler for us...
Kudzu
@czhower
yes...!
adn gnu and there are a bunch of others. vasm looks like its current and maintained but havent looked deeper
Marcelo Caetano
@marcelocaetano
I don't think so... it only supports till ARMv4
Raspberry Pi is ARMv6
although old code should work on new processors
its list has Raspberry-Pi VideoCore IV but the line that says "architecture ARMv1 to ARMv4, including THUMB mode" let me disappointed
actually taking all the RPi models in consideration we have ARMv8 in use as well
but I think binaries developed with ARMv6 ISA would work well on ARMv8
Kudzu
@czhower
arm is backwards compat right? But yeah, generally we want smoething that is current and well maintained.
Matthijs ter Woord
@mterwoord
not sure on backwards compat..
afaict, it has a lot of variables
fpu or not, different kinds of fpu's
Marcelo Caetano
@marcelocaetano
it is not completely backwards compat... there are some old thumb instructions not supported on newest versions
there are some issues with the way some instructions are used prior to ARMv6 related to alignment
But I hope there is a way to use the ARMv8 ISA that it can run in AArch32 state and maintain compat for a lot of processor versions
Kudzu
@czhower
ok, can you or someone evalute the ARM assemblers and narrow it down to a few viable candidates?
Matthijs ter Woord
@mterwoord
we'd also need to decide on a minimum arm version we want to target?
Marcelo Caetano
@marcelocaetano
yes @czhower
Matthijs ter Woord
@mterwoord
@marcelocaetano We need a way to emit binaries, but with symbol support, so we know what symbols are at what locations
Marcelo Caetano
@marcelocaetano
ok @mterwoord
@mterwoord regarding your question about the arm version we want to target, I want to check out if we use ARMv8 T32 and A32 instructions we can at least support all Raspberry Pi versions
including RPi Zero
Marcelo Caetano
@marcelocaetano
I'm going to start evaluating the Keil armasm because I already have it installed in my computer
Matthijs ter Woord
@mterwoord
iirc pi zero is arm6?
Marcelo Caetano
@marcelocaetano
it is armv6
Ghost
@ghost~599c281ed73408ce4f727447
Can I ask, what is X# used for?
Matthijs ter Woord
@mterwoord
its a higher level assembler language
to speed up assembler development
Ghost
@ghost~599c281ed73408ce4f727447
oh, I see