Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 24 20:26
    Build #636 passed
  • Nov 24 20:25

    charlesbetros on master

    Added a few missing variable de… Merge and move changes to new f… Use Compiler.GetFullName and 2 more (compare)

  • Nov 24 20:25
    charlesbetros closed #28
  • Oct 20 20:11
    Build #635 passed
  • Oct 20 20:09
    quajak synchronize #28
  • Oct 19 15:35
    Build #634 passed
  • Oct 19 15:34
    quajak opened #28
  • Oct 07 02:35
    Build #633 passed
  • Oct 07 02:34

    charlesbetros on master

    Bump netcoreapp version to 2.1 … Merge pull request #27 from Cos… (compare)

  • Oct 07 02:34
    charlesbetros closed #27
  • Oct 07 02:31
    Build #632 passed
  • Oct 07 02:30
    Build #631 passed
  • Oct 07 02:30
    charlesbetros opened #27
  • Oct 07 02:29

    charlesbetros on netcoreapp21

    Bump netcoreapp version to 2.1 … (compare)

  • Oct 06 20:15
    Build #630 passed
  • Oct 06 20:14

    charlesbetros on master

    Playground asms (compare)

  • Oct 06 20:12
    Build #629 passed
  • Oct 06 20:11

    charlesbetros on master

    Jump to exit label instead of r… Merge pull request #26 from Cos… (compare)

  • Oct 06 20:11
    charlesbetros closed #26
  • Oct 06 20:10
    Build #627 passed
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
Salman Ahmed
@iiSaLMaN
Can I ask, what is X# used for?
Matthijs ter Woord
@mterwoord
its a higher level assembler language
to speed up assembler development
Salman Ahmed
@iiSaLMaN
oh, I see