Truths

So deep down I’ve wanted to increase my leet points by learning the legendary ASM. While I have learnt a lot of commands and how they work previously, it was mainly for the purpose of working out how a program works and/or breaking it (mmm ASM hacking).

With NASM installed, and a fairly large ebook downloaded, I was ready to go on the journey to increase my leet points. I read A few chapters, about how stuff works, and the basic principals of how computers and memory works, which I already knew was a big part of ASM programming.

I had always wondered how Inputs and Outputs happen in assembly, and I thought this first example was going to show me. To my horror I got (indirect quoting) “It’s to hard to Input/Output in ASM, so we just use a C function that we interface with.”

My instant response was, why should I bother learning ASM, if it’s too hard to interface with Input and Output and requires me to use C anyway. I may as well re teach myself C than ASM.

I’m sure ASM is useful for smaller projects like PIC type of stuff, but I don’t have the hardware for that, so I find no point in learning ASM. I might catch up on some C in the near future though.

2 thoughts on “Truths

  1. What sort of inputs and outputs do you mean?
    printf() scanf() sort of stuff, or like through I/O ports and memory-mapped IO?
    The latter two are incredibly easy. MSN me and I can explain more. The first one is very hard. Calling C functions isn’t too much of a bitch, but interfacing with system calls is, as they (especially for Linux) suck, and change all the time. etc etc

  2. printf() scanf() sort of stuff. If I have to code part of it in C I may as well code the whole lot in C.