Home
Github
  • 👋Welcome !
  • 🚩CTF Writeups
    • SKR CTF
      • Binary
        • Auth Me 2.0
      • Misc
        • Schrodinger's Cat 2
      • Reverse Engineering
        • Nogard 3
    • osu!gaming CTF 2024
      • pwn
        • betterthanu
    • Crackmes
      • PieIsMyFav
      • Plain Sight
    • WolvCTF 2024
      • pwn
        • babypwn
    • TexSAW CTF 2024
      • rev
        • Catch The White Rabbit
      • Forensics
        • Malicious Threat
        • MalWhere?
    • SwampCTF 2024
      • Misc
        • Lost Some Magic
        • The Time Equations
    • pwnable.kr
      • Toddler's Bottle
        • fd
    • Codegate CTF 2024
      • ai
        • ai_warmup
    • Junior Crypt CTF 2024
      • Misc
        • Terms of Use
      • Forensics
        • Admin Rights
        • Confusion
      • PPC
        • l33t
    • IHack 2024 Qualification
      • DFIR
        • Happy SPLUNKing
      • Malware
        • Confusing Javascript
    • Malcore Challenge
    • Intern Task
      • SQLI
  • 📮Room/Machine
    • HTB - Sherlock
      • DFIR
        • Brutus
        • Unit42
        • Jingle Bell
  • 📚Notes
    • CTF Related
      • pwn
        • pwntools
        • Format String Vulnerability
        • Integer Overflow
        • Executable Properties
        • gdb-gef
        • Template Script
      • b2r/koth
    • Assembly Language
    • x86 Architecture
  • 🛠️Tools
    • DFIR
    • Malware Analysis
    • Essentials
  • 👽Threat Hunting
    • Intro
    • Common Tactics
    • Methodologies
    • Types of threat hunting
  • 😸whoami
    • About Me
    • Other
      • FYP
  • Archives
    • 3108 CTF
      • Kategori
        • Tugasan Utama : Warkah Untuk Perwira
          • Tugasan I : Seruan Perwira
          • Tugasan II : Tali Barut
          • Warkah Akhir
        • Web
          • Lemah
          • Pantun Pantul
          • Wantujus
          • Wantusom
        • Reverse Engineering
          • Pa+rio+ik
          • Sarawak
        • Network
          • Johan
          • Lagi-lagi Johan
        • Misc
          • 3108 CTF Town
          • Mencari Rahsia Si Dia
        • Cryptography
          • 1957bit
          • Nasihat
          • Selamat Malam
        • OSINT
          • Pertemuan Kapisata : Babak I
          • Pertemuan Kapista : Babak II
          • Pertemuan Kapista : Finale
    • Curtin CTF 2023
      • Pwn n Rev
        • Classic Bufferoverflow
        • Intro to Buffer Overflow
        • Don't Go Overboard
        • Don't Go Overboard 2
        • Let The Random Games Begin1
        • Let The Random Games Begin 2
        • Let The Random Games Begin 3
    • 1337UP LIVE CTF
      • Pwn
        • Floor Mat Store
    • HTB University CTF 2023
      • Reverse Engineering
        • Windows Of Opportunity
Powered by GitBook
On this page
  • Spesific Use Case
  • Compilation Process
  • ARM Arithmethic Operations Opcode
  • Bitwise Logic Operations
  • Others
  1. Notes

Assembly Language

  • Assembly is a low-level programming language used to directly translate instructions into the computer’s machine code in a more human-readable way.


Spesific Use Case

  • Embedded systems that have limited memory and hardware capacity

  • Direct hardware testing

  • Software optimization


Compilation Process

  1. Preprocessing - prepare the user’s code for machine code by removing comments, expanding included macros, and performing any code maintenance prior to handing the file to the compiler.

  2. Compiling - the process of taking the expanded file from the preprocessor and translating the program into an optimized Assembly language.

  3. Assembling - process of taking an assembly language program and using an assembler to generate machine code.

  4. Linking - process of filling in function calls, including additional objects, libraries, and source code from other locations into the main source code.


ARM Arithmethic Operations Opcode

Instruction
Function
Example
Explaination

ADD

adding numbers

ADD a, b, c

  • adding value b and c, stored in a

ADDI

adding immidiate number (constant value) rather than being fetched from registers or memory location

ADDI a, c, 10

  • adding 10 to a, and stored in c

SUB

substracting number

SUB a, b, c

  • substract value and c, stored in a

MUL

multiply number

MUL a, b, c

  • multiply value b and c, stored in a


Bitwise Logic Operations

Syntax

{instruction} {destination}, {source1}, {source2}

Instruction
Example
Comparison in C
Explaination

AND

AND a, b, c

a = b && c

  • result of b AND c, stored in a

ORR

ORR a, b, c

a = b || c

  • result of b OR c, stored in a

EOR

EOR a, b, c

a = b ^ c

  • result of b XOR c, stored in c

BIC

BIC a, b, c

a = b & (!c)

  • the result of b AND negation of c, stored in a


Others

Instruction
Example
Comparison in C
Explaination

CMP

CMP a, b

a == b

  • compares value at a and b

MOV

MOV a, 1

a = 1

  • assign value 1 to a

Last updated 1 year ago

📚