This site is no longer active and is available for archival purposes only. Registration and login is disabled.

Assembly On iPAQ


Assembly On iPAQ

Postby Mole » Dec 10, 2001 @ 9:47am

anyone know any good resources!<br>At last i have anothe computer with an ARM chip in it, i want to play with all my old code from my Acorn days:)<br>Ta<br>
Mole
 


Re: Assembly On iPAQ

Postby Dan East » Dec 10, 2001 @ 10:01am

User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Re: Assembly On iPAQ

Postby Mole » Dec 11, 2001 @ 8:09am

Ta thanks for that,<br>I'm DLing eVC++ atm, does that support inline assembly? and if so do u know any good tutorial sites for it<br>ta :)<br>
Mole
 


Re: Assembly On iPAQ

Postby Dan East » Dec 11, 2001 @ 8:43am

No, the StrongARM compiler included with eVC++ does not support inline assembly. :(<br><br>Dan East
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Re: Assembly On iPAQ

Postby Mole » Dec 11, 2001 @ 9:31am

O<br>What tools do you use for deving in assembly then. I have seen peeps in other threads talking about developing in Assembly.<br>ta<br>:)
Mole
 


Re: Assembly On iPAQ

Postby Digby » Dec 11, 2001 @ 10:10am

eVC includes macro assemblers for the various Pocket PC processors.<br>
Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Re: Assembly On iPAQ

Postby Dan East » Dec 11, 2001 @ 10:29am

You just create an asm file which is pure assembly, and assemble it into an object file with ARMASM.exe. Then you link that object file in with the rest of your modules to build your app.<br><br>Dan East
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Re: Assembly On iPAQ

Postby Mole » Dec 11, 2001 @ 10:36am

Thanks for all the info<br>V excited about playing with ARM code again<br>:)<br>nice site btw<br><br>
Must go faster
Mole
pm Member
 
Posts: 10
Joined: Dec 11, 2001 @ 10:36am


Re: Assembly On iPAQ

Postby Phantom » Dec 12, 2001 @ 5:54am

No one here has any experience with actually using ASM for the iPaq, as far as I know. So I would be very grateful if you could document your first steps. :)
Give me some good data and
I will give you the world
User avatar
Phantom
pm Insider
 
Posts: 913
Joined: Feb 21, 2001 @ 8:14am
Location: Houten, Netherlands


Re: Assembly On iPAQ

Postby Mole » Dec 12, 2001 @ 6:14am

ok<br>1.) Dan East have you not used armasm in your port of quake? if so any samples would be good<br><br>2.) MSDN has incomplete info on armasm and no samples (that i could find), so anyone else reading this that has examples or knows were some are, please post.<br><br>ta ra<br>:)<br>
Must go faster
Mole
pm Member
 
Posts: 10
Joined: Dec 11, 2001 @ 10:36am


Re: Assembly On iPAQ

Postby Dan East » Dec 12, 2001 @ 8:49am

No, I've not used ARM assembly. You can get the ARM C++ compiler to generate .asm files from your C source. That would be a good way to start. I assume those files will assembler with armasm.<br><br>Add the /FA option to the "Project Options" edit box under the C/C++ tab in Project Settings, and when you build you'll find .asm files in your output dir.<br><br>Dan East
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Re: Assembly On iPAQ

Postby Dan East » Dec 12, 2001 @ 9:02am

Okay, this worked fine for me:<br><br>Added the /FA option so .asm listings were generated for all my C/C++ source files.<br><br>Built the project.<br><br>Deleted the .obj file for a particular source, "mysource.obj".<br><br>Rebuilt that .obj file by running "armasm.exe mysource.asm".<br><br>Hit F7 and the linker relinked using my new .obj file I assembled manually.<br><br><br>So what I recommend is to prototype what you want to do in assembly in C. At least create the placeholder functions in C. Then edit the .asm file manually to optimize, etc. Now, the important part is to remove that C source file "mysource.c" from the list of Source Files in the FileView tab of eVC++. If you don't do that, then the next time you build your mysource.asm file will be overwritten, which would not be cool. :)<br><br>I have used the /FA option before so I could compare various C / C++ implementations to see which was more effecient.<br><br>Dan East
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Re: Assembly On iPAQ

Postby Mole » Dec 12, 2001 @ 10:58am

That&#8217;s excellent just the tip I need!!!!<br>Out of curiosity? If there is no assembler used in the quake port, how are the graphics drawn? Surely the code that rasterizes the geometry and stuffs numbers into the screen mem is not written in c/c++(blimey maybe I am old school :(  )?<br>Anyway I have a simple API that I wrote (100% assem) for the Acorn that did this stuff, my first project( in the new year) will be to get this working although its slightly reinventing the wheel (with pocketGL about), but its much more low level than GL(simple but bloody fast) and will give me a good opportunity to play with eVC, armasm, pocketPC and GAPI.<br>I will document my efforts and post the results here :)<br>laters and ta for advice<br>
Must go faster
Mole
pm Member
 
Posts: 10
Joined: Dec 11, 2001 @ 10:36am


Re: Assembly On iPAQ

Postby Mole » Dec 12, 2001 @ 11:47am

Soz i was not being critical of port:)<br>out of interest to you, the ARM has a great barral shifter that can logicaly or arithmetically shift one of the source registers left or right e.g.<br>ADD R0,r1,r2 LSL#16 // r0=r1+(r2<<16) only one clock tick!<br><br>This is fantastic for fixed point maths. It would be interesting to see if the eVC compiler identifies this in your fixed point maths and does not produce two instructions where one would do. If you have tight loops of only a few instructions this could be a significant performance gain.<br>laters<br>:)<br><br>
Must go faster
Mole
pm Member
 
Posts: 10
Joined: Dec 11, 2001 @ 10:36am


Re: Assembly On iPAQ

Postby Dan East » Dec 12, 2001 @ 12:11pm

No assembly is used in the Pocket Quake port. Even worse (far, far worse), Quake's 3D engine relies almost exlusively on floating point math, which no Pocket PC hardware supports natively. I have converted some floating point routines to fixed point, and have increased FPS almost two-fold so far. The conversion to fixed point math is of far greater importance than assembly at this point.<br><br>Dan East<br><br>Last modification: Dan East - 12/12/01 at 09:11:49
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Next

Return to Windows Mobile


Sort


Forum Description

A discussion forum for mobile device developers on the Windows Mobile platform. Any platform specific topics are welcome.

Moderators:

Dan East, sponge, Digby, David Horn, Kevin Gelso, RICoder

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron