Assembly Code

Assembly code = symbolic machine code.

AVR assembler program to compute sum of squares of first 100 integers

_main:
	ldi	r20, lo8(0)
	ldi	r21, hi8(0)
	ldi	r18, lo8(1)
	ldi	r19, hi8(1)
.L6:
	mul	r18, r18
	movw	r24,r0
	mul	r18, r19
	add	r25,r0
	mul	r19, r18
	add	r25,r0
	clr	r1
	add	r20, r24
	adc	r21, r25
	subi	r18, lo8(-(1))
	sbci	r19, hi8(-(1))
	cpi	r18, 101
	cpc	r19, __ZERO__
	brlt	.L6
	push	r21
	push	r20
	ldi	r24, lo8(.LC0)
	ldi	r25, hi8(.LC0)
	push	r25
	push	r24
	call	_printf

Assembly code should be viewed as a compromise: to be used only if we really need to work close to the machine.

Index