Technical Explanation of the BOUND Instruction in Assembly Language

Technical Explanation of the BOUND Instruction in Assembly Language

1. Instruction Overview <span>BOUND</span> instruction is used to check whether an array index (subscript) is within predefined boundary limits. It is a hardware-supported mechanism for array boundary checking, designed to prevent programs from accessing memory outside of the array, thereby enhancing program robustness. If the check fails, the processor will generate an interrupt (exception), which … Read more

Why Are Universities Still Teaching the 51 Microcontroller and Assembly Language?

Why Are Universities Still Teaching the 51 Microcontroller and Assembly Language?

Today, a student left a message: “Now that STM32 and ESP32 are so powerful, why are universities still teaching the outdated 51 microcontroller and the difficult-to-understand assembly language? Isn’t this a waste of time? Today, I will share my thoughts. If we look solely from the perspective of technological trends, the 51 and assembly seem … Read more

Analysis of Answers for Assembly Language Experiment 10-3

Analysis of Answers for Assembly Language Experiment 10-3

“Assembly Language”, 3rd Edition by Wang Shuang Chapter 10 CALL and RET Instructions Experiment 10 Writing Subroutines (Page 206) ———————————— Note: Since Experiment 10 has 3 questions, and each question is more complex than previous experiments with longer code, it is divided into three articles. This is the reference answer for Question 3. ———————————– 3. … Read more

Understanding the Principles of Ftrace Hook from Assembly Code

Understanding the Principles of Ftrace Hook from Assembly Code

Previously, in the article on easily hooking Linux kernel functions using Ftrace, we introduced how to use ftrace (function trace) to hook kernel functions. Through the ftrace mechanism, we can specify a callback function that we write for the kernel function we want to hook. When the target function is called, the kernel automatically invokes … Read more

Analysis of Answers for Assembly Language Experiment 9

Analysis of Answers for Assembly Language Experiment 9

“Assembly Language”, 3rd Edition by Wang Shuang Chapter 9: Principles of Transfer Instructions Experiment 9 Programming based on the materials (Page 187) This programming task must be completed independently before proceeding with the following courses, as the programming experience gained from this experiment will be required in subsequent lessons. Programming: Display the strings ‘welcome to … Read more

Overview of Assembly Language Syntax Structure

Overview of Assembly Language Syntax Structure

πŸ“Œ Assembly Language Syntax Structure Assembly language is a “machine-oriented” low-level language that corresponds directly to machine instructions. Different CPU architectures (such as x86, ARM, RISC-V) have different assembly syntax, but the core structure is generally similar. An assembly source program typically consists of “pseudo-instructions, data definitions, and instruction statements”. 1️⃣ Basic Structure of an … Read more

The Bridge Between C Language and Assembly Language: A Deep Understanding of Memory Operations and Function Calls

The Bridge Between C Language and Assembly Language: A Deep Understanding of Memory Operations and Function Calls

In the study of computer science, understanding how high-level languages are translated into instructions that machines can execute is a core skill. This article will analyze the correspondence between a specific C function and its corresponding x86-64 assembly code example, revealing the underlying workings of computers. Starting with a C Function The example is taken … Read more

Summary of Quick Memory Methods for 51 Microcontroller Instructions

Summary of Quick Memory Methods for 51 Microcontroller Instructions

MCS-51 refers to a series of microcontrollers produced by the American company INTEL. This series of microcontrollers includes several varieties, such as 8031, 8051, 8751, 8032, 8052, 8752, etc., among which the 8051 is the earliest and most typical product. When learning about microcontrollers, in addition to understanding the internal functions, memory allocation, and I/O … Read more

How to Express ‘Bluetooth’ in English?

How to Express 'Bluetooth' in English?

Today, I will introduce a commonly used expression in daily life: “connecting Bluetooth”. I must say, connecting Bluetooth is one of the most important connections for modern people, besides connecting to Wi-Fi. Have you ever wondered why this technology is called “Bluetooth”? What a strange name! What is its English expression? Let’s take a look … Read more

Differences Between C Language and Assembly Language

Differences Between C Language and Assembly Language

Previous Articles πŸ‘ Five Stages to Assess Your Circuit Design Ability πŸ‘ How to Learn Circuit Design from Scratch? πŸ‘ Detailed Explanation of Four Schemes for Microcontroller Key Design πŸ‘ 17 Common Circuit Design Modules for Microcontrollers πŸ‘ Analysis of the Minimum System of Microcontrollers (Power Supply, Crystal Oscillator, and Reset Circuit) πŸ‘ Detailed Explanation … Read more