Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Whats the lowest-level assembler out there?

Status
Not open for further replies.

NoobOne

Programmer
Dec 14, 2004
8
US
Im new with assembly and feel the best way to learn is to make up my own library from scratch. I want to learn the least amount of syntax as possible. I feel as if im reverse engineering someone else's work and its very daunting looking through program languages's very long library of functions.

I got Windows XP and downloaded MASM32, but it looks very complex.

I think I got the mathematics backround to do my own libraries, its just that, I expected assembly to be more simplistic.
 
I recon that MASM32 *is* what you're looking for. This is as low-level as anyone could ask for.

Simplistic -well. It is. And if you want to make libraries MASM32 is the way to go about.

If, on the other hand, you just wanna play about then start [tt]debug[/tt] from the command prompt.

[tt]a[/tt] let's you type in the ASM code
CTRL-C when you're done
[tt]g[/tt] to run the code you typed
[tt]u 100[/tt] to list the code from offset 100 ...
[tt]?[/tt] for more info
[tt]quit[/tt] to quit the debugger

Remember to end your program with [tt]int 20h[/tt].

Good Luck


Jakob
 
thanks. :)

Hey does anyone have any good guides on what those 13-so registers do exactly? Im reading the "art of assembly" and have an Emu8086-Emulator program running, having a little fun adding and subtracting numbers, and storring them in there. But each chapter on "art of assembly" sort of skims over the definition of each register without really going into depth of what they do exactly.

Or do I have to go to my microprocessor's website and download a whole list of stuff, then motherboard manufacturer, then memory manufacturer, then Hard Drive........

All this stuff is really blowing me away! :) I never expected all programs to be controlled by a few pointers and temporary number holders. It seems even more simplistic then Basic, I love it. I just gotta learn how those Registers work.
 
yup. I strongly suggest you have a look at the history of computing. It's amazing what people did with 3 8-bit registers and a handful of very simple logic/arithmetic instructions.

As for "low-level" assemblers, they'll all do it. You don't have to use the labour-saving extras in an assembler.
 
As a good rough overview of the 8086 registers you can have a look here:


If you really wanna play with assembler in a way that makes more sense and good use than on a modern day PC, then micro controllers may be the thing for you. I should add, that it's only true if you wanna play with electronics as well. It's amazing what you can make with 1k or less of program space ....

MicroChip is one of those making the popular single-chip-micro-controllers:


You can get a development kit with all you need very cheap.

Good Luck


Jakob
 
... ah, those were the days. I still remember getting moonlander into 256 bytes on a 6502 system.
 
:(

darn

I understand the control flags, the state flags, and or, xor, mov, jmp, add adc, sub sbb, shl shr..........I hate this, now my tutorial is into accessing RAM and im looking around and notice that each assembler has different syntax.

I've always had a weakness learning new foreign languages, and I was never good in English class :p, the same thing goes with syntax.

Is there a way I can go to AMD.COM and download a list of binary commands for the "AMD ATHLON XP 3200" so I can write my own syntax from binary? I've been to their website many times and theres nothing. Im into my 8th page in Google looking for guides on machine language and theres zilch. I did run into some Amiga stuff, and old commodore 64 stuff hehe whoah.

I feel as if I dont start from scratch i'll never truley learn anything.
 
Oh nevermind, found a list of opcodes, it looks like it doesnt get more compact then that. Darn.
 
Sorry dkdude, got stumped on memory management. Dont know how to write or read to RAM, or whether to chose between real mode or protected mode.
 
You should start with real mode before you go for protected! 8086 doesn't support protected mode anyway and I recommend that you start with a 8086 emulator.
 
MASM is one of the most hl you can get of assebler(of course hla is higher) but if you shall do some low so start with fasm, but if you are totaly n00b so start with masm, its can give you the simply way to how to program asm
 
but i forgot to say, that it one of the easy'est assemble language to get start with...
 
I would strongly suggest that you investigate programming in assembly for a microcontroller. I started with the <a href=" arts</a> MicroCore11, which has a 68HC11 processor, board to start out with BEFORE moving to the X86 style. If you go about it this way, then you will be able to better understand what all of those registers do. Technological arts has a variety of "starter kits" that come with just about all of the information you will need to start a program. Also, I would recommend the book titled, "Programming and Customizing the 68HC11 Microcontroller", by Tom Foxx. You see, when you start out with the basic, bare bones, system, then you will be able to better understand the X86 structure much better. I think the Microcore11 kit runs about $70US. As a newbie myself to X86 assembly, I can personally tell you that the years of programming the 68HC11 has really helped me catch on to the X86. Hope this helps.

LF

"As far as the laws of mathematics refer to reality, they are not certain; as far as they are certain, they do not refer to reality."--Albert Einstein
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top