This post is a part of my attempts at learning Assembly with NASM as our assembler with explanation of a simple, helloworld program. ; helloworld.nasm ; Author: HRDARJI global _start section .text _start: ; printing hello world mov eax, 0x4 mov ebx, 0x1 mov ecx, message mov edx, mlen int 0x80 ; exiting properly mov … Continue reading Hello World in Assembly
Month: August 2017
How to read CPU registers in Ubuntu?
We can inspect CPU registers in a context of a running program. We will compile a simple C program and we will load the binary in gdb command line debugger. Then, we will set a breakpoint in the program. Breakpoint can be thought of halting an executing program. When we run our program, the execution … Continue reading How to read CPU registers in Ubuntu?
Intel Architecture, 32 bit
First and foremost, please understand that I'll be writing about Intel architecture only in detail that is sufficient for getting me started in assembly language. Three main components, or basic building blocks of a computer, that we need to know for assembly language basics are the following: CPU Memory I/O Devices CPU CPU can be … Continue reading Intel Architecture, 32 bit