flat assembler
Message board for the users of flat assembler.

Index > Main > [old beginner] what made you understand?

Author
Thread Post new topic Reply to topic
edfed



Joined: 20 Feb 2006
Posts: 4314
Location: Now
edfed 12 Jan 2011, 11:47
hello.

i launch this thread to ask to everybody here:

what is the main stuff that made you understand asm programming?

for me, it was to see a led blinking on a 6809 development kit at school.

but now, for a disponibility reason, there are many ways to make the beginner feel the asm power, on computers, and especially, on X86 PC compatibles.

what can be the desisive illumination for any personn who wants to understand ASM?

feel free to post your ideas, or history. Very Happy

thanks.
Post 12 Jan 2011, 11:47
View user's profile Send private message Visit poster's website Reply with quote
ManOfSteel



Joined: 02 Feb 2005
Posts: 1154
ManOfSteel 12 Jan 2011, 14:36
I guess assembly is just so natural. Its basic closeness to the hardware makes it particularly easy and you don't have to waste your time figuring out some weird abstractions like in high-level languages.
Post 12 Jan 2011, 14:36
View user's profile Send private message Reply with quote
ctl3d32



Joined: 30 Dec 2009
Posts: 204
Location: Brazil
ctl3d32 12 Jan 2011, 14:45
ManOfSteel wrote:
I guess assembly is just so natural. Its basic closeness to the hardware makes it particularly easy and you don't have to waste your time figuring out some weird abstractions like in high-level languages.


Thumbs Up!

I've tried so much to understand C, and i still can't... i gave up. Fasm is so easy, and easier than masm.

Being in control of what each line your code does is great.

Thanks
Post 12 Jan 2011, 14:45
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 12 Jan 2011, 18:34
I would have to full agree with what ctl3d32 posted.
I would just add, as your in control of everything, you know that any error is down to your code and is not a lib bug etc.
So they are easier to track down.
Post 12 Jan 2011, 18:34
View user's profile Send private message Reply with quote
me239



Joined: 06 Jan 2011
Posts: 200
me239 15 Jan 2011, 21:59
I couldn't agree more with Dex. Libs are always having compatibility bugs and general errors. FASM(and asm alone) allow us to see what the error is on a low level with being cluttered and shrouded by modern compilers like GCC. But with the question where I learned, I started with basic and dabbled in C, but never really got the hang of it with all of it's strange syntax. I discovered assembly looking through old archived forums. I found some old DOS viruses with comments and worked my way up to programming real programs. I also later found some nice tutorials using search engines.
Post 15 Jan 2011, 21:59
View user's profile Send private message Reply with quote
iic2



Joined: 26 Jun 2008
Posts: 122
iic2 31 Mar 2011, 23:29
It took me a long time to try ASM because the code looked like rocket science, but soooo exciting. Everyone all over the NET said use C or C++, it's easier and its portable. Now I know for a fact that neither is true. It's portable if you re-write it and you have to use the compilers required for the other platform, which hands you a bucket-full of new rules. So that's no reason not to ride the processor with FASM. MS VS asm web-page say, ... but with ASM you have to make NAKED callssss What an excuse, and they sold it well. it made me feel so foolishly naked before the world in a dream that night, than I woke-up and fired up FasmW for moreeee.

Now that I'm learning C++ and JAVA (only for sake of understanding how to do web application development) ... but I can't see nothing as I can build my sand castle but if it fall, who's do I blame. STL or me. So I can't never get fancy with-it other than overloading the guns until it goes boomboom.

Like ManOfSteel, Dex4u and others just said .. with ASM, when something don't work, 99.9% of the time it's all your fault .. but you have a chance in h^ll to track down the error before it's too late. Who could offer more! Warp-Speed is up to U!
Post 31 Mar 2011, 23:29
View user's profile Send private message Reply with quote
flaith



Joined: 07 Feb 2005
Posts: 122
Location: $300:20 58 FC 60 N 300G => Vietnam
flaith 01 Apr 2011, 10:30
i started asm with Apple II & IIGS, with 6502 & 65C816. Obviously because with 1Mhz or 2.8Mhz you have to develop with asm only if you want to make games, demos ... Very Happy

_________________
Je suis sur de 'rien', mais je ne suis pas sur du 'tout'.
Post 01 Apr 2011, 10:30
View user's profile Send private message Visit poster's website Reply with quote
Overflowz



Joined: 03 Sep 2010
Posts: 1046
Overflowz 01 Apr 2011, 12:51
I've started because I was really interesting about hard things and wanted know more and more hard things )) I was learning (just a bit) C language but when I saw ASM and read it's power what it does and can do and what "fruit" is that, then I was really interested on it and still trying to learn that. ASM is the best choice language for me now. I love it very much )) And also main reason was that, you can do whatever you want with CPU instructions manually and not with functions.. also, I really loved debugger and didn't knew how to use that, so this helps me a lot now!
Post 01 Apr 2011, 12:51
View user's profile Send private message Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville 01 Apr 2011, 19:59
In 1978 I bought a 6800 development kit (I think it was called a "D2") and taught myself 6800 assembler using the built-in monitor program in ROM. I did some interfacing stuff, including a bidirectional data link between two D2 kits with handshaking in hardware and software.

In 1979 or 1980 I bought my first personal computer - a second-hand Dick Smith System 80 (Radio Shack TRS80 copy) with a cassette tape deck for mass storage and 16Kbytes of RAM. I piggy-backed the RAM chips 3 deep and increased the memory to 48K!! I wrote a Tape Catalogue program in BASIC which later became a "Tape Operating System". Then I wrote my own machine code monitor in BASIC using PEEK and POKE commands, and eventually obtained a commercial Editor/Assembler on cassette tape called EDTASM. I taught myself Z80 assembler and did lots of interfacing stuff, including using a 5-bit Baudot-code teleprinter as a printer, eventually writing a full "printer driver" with automatic pagination etc.

I didn't get an IBM PC until about 1985 - an XT with 20MB HDD (2 * 10MB) and 640K RAM. Then I taught myself 8088 assembler...

I've always hated "bloat". I like my software to be Small and Fast, and I like to have a pretty good idea of what the CPU is actually doing... I did a 'C' course at nightclass about 1989, but it never really grabbed me - I always came back to assembler. I used Eric Isaacson's A86 and A386 for many years until I found Tomasz's fasm...

_________________
FAMOS - the first memory operating system
Post 01 Apr 2011, 19:59
View user's profile Send private message Visit poster's website Reply with quote
asmhack



Joined: 01 Feb 2008
Posts: 431
asmhack 02 Apr 2011, 02:05
Code:
mov cmp jmp inc    


...Or I made them understand.?#@ made me understand Cool
Post 02 Apr 2011, 02:05
View user's profile Send private message Reply with quote
typedef



Joined: 25 Jul 2010
Posts: 2909
Location: 0x77760000
typedef 02 Apr 2011, 23:35
ManOfSteel wrote:


Being in control of what each line your code does is great.

Thanks

Kernel mode that is ?
Post 02 Apr 2011, 23:35
View user's profile Send private message Reply with quote
satpro



Joined: 24 Mar 2010
Posts: 1
Location: Ocala, FL, USA
satpro 23 Dec 2013, 19:30
An old thread, but thought I might jump in, too. Just like flaith, I learned 6502 when it was one of the only games in town, but did it on Commodore equipment in the late 70s, early 80s. Moved on to 65816 (SuperCPU) and worked with that for about 15 more years until getting up the courage to program x86 assembly, which as it turns out, is just plain "fun" to do. Ironically, these days I am neck-deep in writing a modern operating system (Winc64) for the c64 w/ SuperCPU, which has a good chance of starting up production again in 2014, with Winc64 as its OS.

The one thing that stands out for me, after going back and forth between the two architectures over the years, is the circular knowledge gained from both. '816 assembly was a great launch pad for x86, while understanding x86 has made me a better '816 programmer. 65816 programming is much easier using x86 concepts and understanding things like DirectX (which really seems to fly using assembly!) was made much easier as a result of my days with the '816.

Never could get the hang of C/C++ programming. It always made me feel like I needed a shower afterwards.
Post 23 Dec 2013, 19:30
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4314
Location: Now
edfed 29 Dec 2013, 03:12
Quote:
Never could get the hang of C/C++ programming. It always made me feel like I needed a shower afterwards.

i understand, me too since i code in c/C++ for food, i take showers more regularlly Laughing
Post 29 Dec 2013, 03:12
View user's profile Send private message Visit poster's website Reply with quote
cod3b453



Joined: 25 Aug 2004
Posts: 618
cod3b453 29 Dec 2013, 09:56
Started out with asm because of errors in my VB applications whose error codes only described registers (Win 9Cool. I hit some pretty freaky problems thanks to cdecl vs stdcall and some undocumented API Laughing [I also fount out what BSOD meant and discovered it was never as exciting as it looked]

I later found out I could make an OS using asm and started on a 32bit hobby OS; some 8/9 years later I'm still trying to make it Crying or Very sad

Over time I've also needed to speed up various things using SIMD, so all of these things have given me a good range of understanding from bottom to top in software development.
Post 29 Dec 2013, 09:56
View user's profile Send private message Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 11652
Location: ˛                             ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Posts: 0010456
sleepsleep 29 Dec 2013, 13:18
efficiency,
to code something and deal with CPU directly, or OS layer directly,

to know the existence of registers and deal with them instead of middle man, and more middle layers,

asm is future, to skip and prevent bloat,

to permanently solve problems and create solutions.
Post 29 Dec 2013, 13:18
View user's profile Send private message Reply with quote
whakamaru



Joined: 03 Oct 2012
Posts: 20
Location: New Zealand
whakamaru 13 Jan 2014, 20:40
In the 1980s and 90s, PC Mag published utility programmes in asm, partly for their usefulness, partly as teaching. One was CONVERT.ASM. Every section and line was fully annotated. I went through it line by line until I understood what was happening.
Then I hand-traced an entry... and even found a small error. I still use some of the procedures in that program. (It might still be somewhere on the Ziff-Davis site?)
Using MS-debug, (16-bit), I went on to write a program that solved anagrams, but it needed a huge dictionary that I didn't know how to load and access, so I gave up.
Now, I try to solve Project Euler problems, including the very awkward #303. and would like to use fasm for 32/64 solutiions for the huge numbers involved in #401.
Am still learning.
Post 13 Jan 2014, 20:40
View user's profile Send private message Reply with quote
upsurt



Joined: 14 Jan 2014
Posts: 51
upsurt 14 Jan 2014, 17:10
I started 1991 with Batch and QBasic, later Visual Basic.
Then I became a professional developer and used Visual Basic, Pascal, Delphi, VB.Net, C#, F#, Python.
I did some stuff with MASM32 some years ago, but ran into some problems with windows... Sad
Then I started to teach my self C to use it on Arduino, VHDL and Verilog for FPGA.
Now I want to go back to the soul of the CPU and learn ASM.
Post 14 Jan 2014, 17:10
View user's profile Send private message Reply with quote
upsurt



Joined: 14 Jan 2014
Posts: 51
upsurt 14 Jan 2014, 17:14
I started 1991 with Batch and QBasic, later Visual Basic.
Then I became a professional developer and used Visual Basic, C++, Pascal, Delphi, VB.Net, Powershell, C#, F#, Python, GoLang...
I did some stuff with MASM some years ago, but ran into some problems with windows... Sad
Then I started to teach my self to program Adruino, VHDL and Verilog for FPGA.
Now I want to go back to the soul of the CPU and learn ASM.
Post 14 Jan 2014, 17:14
View user's profile Send private message Reply with quote
El Tangas



Joined: 11 Oct 2003
Posts: 120
Location: Sunset Empire
El Tangas 22 Jan 2014, 01:31
In the mid to late 80's, when I was a teen, I had a ZX Spectrum, and had a lot of fun with it, mostly with my vast collection of pirate games. Lol. I think I never actually saw an original Spectrum game...
But anyways, I had learned the native BASIC language of the spectrum and knew it was slow as hell, no way the games could be written in that... So I started to ear about this "assembly" language that the games were written in, and decided to learn it. I bought a very nice book (I misplaced years ago and haven't seen it in along time, sadly Crying or Very sad . I don't remember the exact title) and learned Z80 assembly from there.

A few years later, in 1990, I think, during a kind of inter high-school nerd challenge I was taking part, I saw x86 assembly for the first time, some guys from an enemy school were programing some stuff and I took a peek Twisted Evil . It seemed familiar because I knew Z80.
I have very good memories from that event, it degenerated in a kind of crazy teen orgy, and we were hosted in a nun convent... lol... totally crazy.

And that's how I learned assembly, among other things Wink

Damn, I miss the 80's and 90's ...
Post 22 Jan 2014, 01:31
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
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 vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.