---
# System prepended metadata

title: Assembly LanguageAssembly lang

---

1. 
*WHAT I LEARNED FROM DAY 3-5 AT BLOCKFUSE LABS*

1. Assembly Language
Assembly language is a low-level communication method between a human and a computer's hardware. Unlike high-level languages that use English-like words, Assembly uses short "mnemonics" (like MOV or ADD) to represent the specific binary instructions the processor understands. It is hardware-specific, meaning code written for one type of CPU won't work on another.
2. Types of Programming Languages
Programming languages are generally categorized by their distance from the hardware:
Low-Level Languages: Includes Machine Code and Assembly. They provide direct control over hardware but are difficult for humans to write.
High-Level Languages: Includes Python, Java, and C++. They use readable syntax and are easier to learn, but require a translator to run.
Procedural vs. Object-Oriented: Some focus on a sequence of steps (C), while others group data and behavior into "objects" (Java).
3. A Translator and the Types of Translators
A translator is a program that converts source code written by a human into machine code that the computer can execute. There are three main types:
Compiler: Translates the entire program at once before running it (e.g., C++).
Interpreter: Translates and executes the code line-by-line (e.g., Python).
Assembler: Specifically translates Assembly language into machine code.
4. An Error and the Types of Errors
An error (or "bug") is a flaw in a program that causes it to behave unexpectedly or crash. They are grouped into three main categories:
Syntax Errors: Mistakes in the "grammar" of the code, like a missing semicolon. The program won't run at all.
Runtime Errors: Errors that happen while the program is running, such as trying to divide a number by zero.
Logical Errors: The program runs, but the output is wrong because the math or logic provided by the programmer was incorrect.