|
||||||
| General Programming Non language specific, Assembly, Linux/Unix, Mac and anything not covered in other topics. Talk about Programming Theory here. |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
|
|||
|
The other thing with assemblers. Different ones use different relocatable binary formats. In Linux you will likely use ELF, in Windows there's PE. Any assembler will have to support the binaries of your systems linker, many support several.
WRT other OS dependent stuff. It's mostly about calling conventions. You'll use different ABI's depending on platform. This goes from how they handle function calls to what interrupts the system uses. You can use one assembler to produce Linux code from Windows, it just probably won't work on Windows without modification. As for not knowing C. Don't worry. Essentially you traditionally pick a register and say all returned values will be stored in that register (perhaps if you use a double word variable you will have a convention for the second register). Then you establish a similar convention for passed arguments. Once you've done this you are left handling what state you have to push on the stack (so it is saved) before a new function call so that function can use your registers. The best advice that can be given is to explicitly state in comments what each variable in a function is, there aren't nice labels in ASM programming (at least there aren't always nice labels). |
|
|||
|
I'm having an issue with creating a disassembler in C/C++. Can someone help? I posted a thread on this in the C/C++ section titled "Need Help With Disassembler".
|
|
|||
|
I made a post here because no one was helping. Kinda letting people know, you know?
|
|
|||
|
The problem I'm having is more theoretical. I can handle the disassembler part myself.
|
|
|||
|
Hey there, I would like to start learning assembler language but I can't figure out wish assembler to learn... because I'm using an Intel based Macbook pro Intel Core Duo.
Is this the same assembler of intel based computers (I think x86)? Or isn't this the same? |
|
|||
|
Quote:
You will likely need to use the assembler that comes as part of the Mac tool chain. I believe they use GCC so the assembler can be invoked with the 'as' command from the terminal. That means you want to look up the AT&T syntax. The intel machines have two classes of syntax. The native intel format and the AT&T format used by GCC. Most tutorials would be in the intel format. There might be a NASM port to OSX if you would prefer this. The differences between them are purely cosmetic though. The same calls exist in both. A good trick if you know some C is to compile your code to assembly rather than to native code. You can then see the translation and how to do things like invoking library functions and how OS X handles arguments for things like C functions. Make sure you turn off optimisations or it might be unreadable. Nice Intel assembler text... //edit - if you are struggling there's a good book on Linux assembly programming out there for free. You will need to modify a few things but it is a good introduction to AT&T syntax assembly programming.// |
|
|||
|
The Art of Assembly Language Programming
This covers just about everything a beginner to intermediate programmer would want to know. |
| Sponsored Links |
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Free Java Tutorials | EdSquareCat | Java Help | 2 | 08-22-2007 02:25 AM |
| Lots of free Tutorials | Saint | General Programming | 6 | 10-15-2006 12:24 PM |
| General: Tutorial, Keep your PC secure for Free! | TcM | Tutorials | 2 | 09-21-2006 01:51 PM |
| Free Online PHP Tutorials | RobSoftware | PHP Forum | 5 | 08-24-2006 05:38 PM |
| Assembly tutorials | Kaabi | General Programming | 1 | 07-05-2006 12:18 PM |
| WingedPanther | ........ | 2753.6 |
| Xav | ........ | 2704 |
| Brandon W | ........ | 1702.32 |
| John | ........ | 1207.73 |
| marwex89 | ........ | 1175.24 |
| morefood2001 | ........ | 966.05 |
| dcs | ........ | 655.75 |
| Steve.L | ........ | 475.59 |
| orjan | ........ | 418.58 |
| Aereshaa | ........ | 383.54 |
Goal: 100,000 Posts
Complete: 98%