Week 6: Lecture - Assembler Basics

Hello everyone and welcome to my blog.

During this week we continue to learn more about x86_64 and AArch64 Assembler. We started by learning Assembler Basics.

We have looked into the format of an assembly language program and we have learned that an assembly-language program consists of:
  1. Symbols - that are constants which correspond to memory addresses, registers, or other values.
  2. Instructions - Mnemonics for an operations, each followed by zero or more arguments.
  3. Data - Values used by the program for things such as initial variable values and string or numeric constants.
Assembler directives are used to control the assembly of the code, by specifying output file sections (such as .text (machine code), .data (read/write data), or .rodata (read-only data/constants) in an ELF file) and data formats (such as word size for numeric values), and by defining macros. We also conducted some experiments with x86_64 assembly language "Hello World" program.

We also learned about 6502 assembly language in the emulator and assembly language on a linux System. What is more, we discussed compiling an assembly language program using the GNU Assembler, compiling an assembly language program using the NASM Assembler, compiling an assembly language program using GCC and instruction set architecture information. 

Comments