Header image at HALCODE

Assembler

coLinux, int 80 on Windows and other rants

June 2nd, 2008  |  by Jose  |  published in Assembler, C, Languages, Operating Systems, Programming

Generally speaking, an Application Binary Interface (ABI) is the interface between an application program and the operating system. Conceptually, it’s related to the more well-known API concept. But ABIs are a low-level notion, while APIs are more leaned toward the application source code level.

hello world, C and GNU as

May 11th, 2008  |  by Jose  |  published in Assembler, C, Languages, Programming

A thing all these programs had in common was their use of the 09h function of INT 21h for printing the “hello, world!” string. But it’s time to move forward. Now I plan to use the lovely C printf function.

Writing Programs with Echo (DOS)

May 4th, 2008  |  by Jose  |  published in Assembler, Debug, Languages, Programming, Retro

How do you input those characters as parameters for the echo command? I found no way of doing that. If you know a way, please drop me a line.

Encoding Intel x86/IA-32 Assembler Instructions

April 28th, 2008  |  by Jose  |  published in Assembler, Debug, History, Retro

Translation of the second line is a direct and solved issue. What about jmp 114? Well, we want to jump over the data (18 bytes, one byte per each character in the string.) IASDM tell us (Appendix B) that the opcode for unconditional jumps in the same segment is 11101011, which in hexadecimal, is expressed as EB.

Debugging “hello, world”

April 17th, 2008  |  by Jose  |  published in Assembler, Debug, History, Programming, Retro

The Go command (g) will run the program starting at the given address (in this case, CS:0100) If everything goes right, the program should output the intended “hello, world!” string, and finish with the message “Program terminated normally.”

About HALCODE

Computer Science Reviews: Passion for (my badly written) code . Subscribe via RSS »