Learn Assembly – LASW (Firmware Foundation)

Photo by Roman Biernacki on Pexels.com

Will Rust replace C++ completely ?
Will C++ replace C completely?
None of these languages claim to replace Assembly…😊 because Assembly is a close friend of the CPU. …… Yes ? How many architectures it has done so far ?

Here is one such example . ARM bare-metal with naked attribute of C . I had used this attribute with PowerPC earlier. Just to use C at the Reset vector , it used naked . I wish it could be __attribute__bare 😊

Still you can notice Assembly code embedded in C.


There are a variety of Operating systems , RTOS and bootloader but no one can replace basic startup code which initializes the infrastructure for HLL .

Question: Is it possible to have non-zero variables in .bss section ? Hint : Startup-Code

Let’s explore Assembly basics , Thumb programming and start-up code in the beginning of September. We will do one workshop during Sunday. We will provide a special discount for advance booking this week.

C is from Village: Not much restriction but one must know how to survive in the Village. It is the bare-metal of programming languages.

C++ is from city . There are some restrictions like traffic rules but still people may skip at some places. You must have knowledge about city rules .

Rust is from Metro city or Capital. You may be fined if you cross red light even by mistake. Hope it will not rust in the era of Python.

Every language has it’s advantages and disadvantages.

Let’s go for tracking with Assembly and add one extra unique skill in your portfolio. Just learn it.
Fees : 1K INR including GST .

How to Register ?

LASW workshop can be booked in advance by paying fees directly at RazorPay link 24hours ahead of the schedule date. Enrolled folks will get receipt automatically after payment. We will send invite link just one day before the actual live session date. Please note that this workshop is for 32bit ARM Cortex M device.

When will be next live session ?

Contact as per information given below

If you missed it , We will schedule live session within two weeks of workshop purchase.

Email: info@embedkari.com WhatsApp: +91 73493 50911

Live session agenda (Recording available)

Open Discussion

Pre-Recorded videos from previous workshop (with 3 months access)

Status Register

𝙒𝙝𝙖𝙩 𝙞𝙨 𝙮𝙤𝙪𝙧 𝙘𝙪𝙧𝙧𝙚𝙣𝙩 𝙨𝙩𝙖𝙩𝙪𝙨 ?
When we talk about embedded systems, machine status registers are fundamental to managing and monitoring the processor’s state during program execution. These registers control critical aspects like the status of operations, privilege levels, and interrupt management.

Let’s take a look at how different architectures implement these registers, including Cortex-M, PowerPC and 8051

𝑨𝑹𝑴 (𝑺𝑻𝑴32 𝑪𝒐𝒓𝒕𝒆𝒙-𝑴) – 𝑷𝒓𝒐𝒈𝒓𝒂𝒎 𝑺𝒕𝒂𝒕𝒖𝒔 𝑹𝒆𝒈𝒊𝒔𝒕𝒆𝒓 (𝑷𝑺𝑹)
N (Negative), Z (Zero), C (Carry), and V (Overflow) flags indicate the results of the latest operations.
IPSR (Interrupt Status) and EPSR (Execution Status) help manage interrupt handling and the current execution state.

𝑷𝒐𝒘𝒆𝒓𝑷𝑪 – 𝑴𝒂𝒄𝒉𝒊𝒏𝒆 𝑺𝒕𝒂𝒕𝒆 𝑹𝒆𝒈𝒊𝒔𝒕𝒆𝒓 (𝑴𝑺𝑹)
EE (External Interrupt Enable), ME (Machine Check Enable), and RI (Recoverable Interrupt) flags manage interrupts.
Privilege Level (PR) and Memory Translation (DR/IR) provide memory access control and protection.

8051 – 𝑷𝒓𝒐𝒈𝒓𝒂𝒎 𝑺𝒕𝒂𝒕𝒖𝒔 𝑾𝒐𝒓𝒅 (𝑷𝑺𝑾)
Flags like CY (Carry), AC (Auxiliary Carry), and OV (Overflow) manage arithmetic and logical operation results.
The RS1 and RS0 bits select working register banks, allowing flexibility with limited resources.

Machine status registers play an essential role in every architecture, regardless of complexity. They enable processors to:
– Track the outcomes of operations (arithmetic flags),
– Control interrupt behavior,
– Manage privilege and memory access levels.

Understanding these status registers is key for anyone working in embedded systems !

Follow Embedkari on LinkedIn
Exit mobile version