Lilanka Udawatta
Published © GPL3+

Introduction to Assembly Language with Freescale

Disassembling a basic C programming code to obtain the machine translated assembly language.

IntermediateFull instructions provided1 hour487
Introduction to Assembly Language with Freescale

Things used in this project

Hardware components

NXP FRDM-K20D50M for Kinetis K20 MCUs ARM mbed development platform brings web-based SDK
NXP K20_100: Kinetis K20

Software apps and online services

NXP CodeWarrior Embedded


Read more


Assembly Language swap Function:

Assembly x86
The code for assembly swap and the disassembled C to assembly code shows how simple the code is in assembly language.

r0, r1, r2 and r3 are al registers used to hold temporary data. Writing a simple assembly code omits the need for the use of the stack. Hence the processing speed can be increased, and the use of space is sustainable.

.align 2
.global swap
.type swap, function


* Function swap
* Swaps two integers
* Return Parameters
* r0 - Num1 (a)
* r1 - Num2 (b)



	ldr r2, [r0, #0] /*load r2 with content of r0*/
	ldr r3, [r1, #0] /*load r3 with content of r1*/
	str r3, [r0, #0] /* store content of r3 into r0*/
	str r2, [r1, #0] /*store content of r2 into r1*/
	bx lr /* branch to main with the return address saved in lr*/


Lilanka Udawatta

Lilanka Udawatta

6 projects • 33 followers
I am Electrical and Electronic engineering student, seeking for opportunities to create something that actually matter to the society.