decodingbytes's profile picture. Something strange: In the era of AI 🧠, I'm learning from scratch 🌱, byte by byte 🧱.

DecodingBytes

@decodingbytes

Something strange: In the era of AI 🧠, I'm learning from scratch 🌱, byte by byte 🧱.

❓Error : "operation size not defined" ➡️ This means NASM doesn't know whether you're working with a byte, word, or dword(8-bit, or 32-bit operation). It happens when an instruction or memory reference is ambigous - NASM can't figure out the operand size automatically.

decodingbytes's tweet image. ❓Error : "operation size not defined"
➡️ This means NASM doesn't know whether you're working with a byte, word, or dword(8-bit, or 32-bit operation). 
It happens when an instruction or memory reference is ambigous - NASM can't figure out the operand size automatically.

🧠 PAGE FAULT ➡️ A page fault occurs when a process tries to access a page (a fixed-size block of memory) that is not currently loaded in main memory (RAM) but resides in secondary storage (disk).

decodingbytes's tweet image. 🧠 PAGE FAULT 
➡️ A page fault occurs when a process tries to access a page (a fixed-size block of memory) that is not currently loaded in main memory (RAM) but resides in secondary storage (disk).
decodingbytes's tweet image. 🧠 PAGE FAULT 
➡️ A page fault occurs when a process tries to access a page (a fixed-size block of memory) that is not currently loaded in main memory (RAM) but resides in secondary storage (disk).

🧠 Instruction MOVZX (x86) ➡️ It is an x86 assembly instruction that copies data from a smaller source operand (like 8-bit or 16-bit) into a larger destination register (16-bit or 32-bit/64-bit) and fills the extra higher bits with zeros. Example : MOVZX destination, source


🧠What is PIC (Programmable Interrupt Controller) ? ➡️The PIC (8259A) is a little hardware chip between CPU and external devices (keyboard, mouse, disk, etc) ➡️Its job : Collect hardware Interrupt requests (IRQ) from devices and deliver them to the CPU as "INTERRUPT VECTOR"

decodingbytes's tweet image. 🧠What is PIC (Programmable Interrupt Controller) ? 
➡️The PIC (8259A) is a little hardware chip between CPU and external devices (keyboard, mouse, disk, etc)
➡️Its job : Collect hardware Interrupt requests (IRQ) from devices and deliver them to the CPU as "INTERRUPT VECTOR"

🧠 Word ( In computer memory terminology) ➡️ A word is the natural unit of data used by a particular Processor Architecture.

decodingbytes's tweet image. 🧠 Word ( In computer memory terminology) 

➡️ A word is the natural unit of data used by a particular Processor Architecture.

🧠 What is Polling ? ➡️ Polling means the CPU repeatedly checks a device's status (usually by reading a special I/O port) to see if the device is ready or has new data. It is like constantly asking : "Are you ready", "Are you ready", "Are you ready"


🧠 IRQ (interrupt request) ➡️ IRQ is a hardware signal sent to the CPU to get its attention ➡️ Each IRQ has a unique number (IRQ line) that identifies which device is requesting attention. ➡️ The CPU uses an Interrupt Controller (PIC or PAIC) to prioritize and manage interrupts.


🧠LEA instruction in x86 ➡️LEA(Load Effective Address), It doesn't load the content of memory. Instead, it calculates the address(the offset) and puts it in a register. ➡️Ex : MOV : go to that memory, fetch the value LEA : just calculate the address, don't touch the memory


🧠 The OUT Instruction in x86 ➡️ The OUT instruction in x86 is used for sending data from the CPU to an I/O port . It's part of the port-mapped I/O system, which is different from regular memory access.

decodingbytes's tweet image. 🧠 The OUT Instruction in x86 
➡️ The OUT instruction in x86 is used for sending data from the CPU to an I/O port . It's part of the port-mapped I/O system, which is different from regular memory access.

About : assembler directives

decodingbytes's tweet image. About : assembler directives

About : DIV instruction in x86 assembly

decodingbytes's tweet image. About : DIV instruction in x86 assembly

🧠 What is CR0? ➡️ CR0 (control register 0) is a 32-bit register that controls how the processor operates. ➡️ It includes various control flags, like enabling and disabling protected mode, paging, write protection.

decodingbytes's tweet image. 🧠 What is CR0? 
➡️ CR0 (control register 0) is a 32-bit register that controls how the processor operates. 
➡️ It includes various control flags, like enabling and disabling protected mode, paging, write  protection.

➡️ Instruction = REPE CMPSB Meaning : REPE (repeat while equal) CMPSB (compare string byte) So it's like : while( CX != 0 && [SI] == [DI] ) { compare [SI], [DI] SI++, DI++ CX-- }


Global Descriptor Table

decodingbytes's tweet image. Global Descriptor Table

United States 趨勢

Loading...

Something went wrong.


Something went wrong.