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
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?
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
Two most common terminal commands by which we can get CPU information are: lscpu cat /proc/cpuinfo Here are the example output: lscpu cat /proc/cpuinfo If you are feeling nerdy, and you want CPU information in much more detail, you can use "cpuid". "cpuid" does not come by default in Ubuntu so you have to do … Continue reading How to get CPU information in Ubuntu?