Difference between revisions of "CSC103 Assembly Language Exercises and Solutions"

From dftwiki3
Jump to: navigation, search
(LOD 10)
(LOD 10/STO 10)
Line 40: Line 40:
 
hlt
 
hlt
  
@10 ; the data section starts here
+
@10
counter: data
+
counter: data
 
</pre></code>
 
</pre></code>
  

Revision as of 11:33, 20 February 2011

LOD-C 1

Exercise 1
initialize the contents of several variables to 0
; Exercise 1
; D. Thiebaut
; Initialize the contents of several variables 
; to 55

start:
		lod-c	55		; put 0 in acc
		sto		var1	; store acc in var1
		sto		var2	; store acc in var2
		sto		var3	; store acc in var3
		hlt

@10					; the data section starts here
var1:	        data
var2:	        data
var3:	        data

LOD 10/STO 10

Exercise 2
increment a counter
; Exercise 2
; D. Thiebaut
; A program that sets a counter to 0
; and then increments it
;
start:	lod-c	0		; first initialize the counter to 0
		sto		counter

; increment counter
		lod		counter	;get counter in acc
		add-c	1			;add 1 to acc
		sto		counter	;store acc in counter

		hlt

@10						
counter:	data
Exercise 3
compute sum of 3 variables

LOD-I 10/STO-I 10

'Exercise 4:

create an index and use it to sum up the same 3 variables

JMP instruction and labels

Exercise 5
create an infinite loop (incrementing a variable, for example)


Exercise 6
create an infinite loop that clears the memory starting at 10


Exercise 7
why does the program of Exercise 6 stop?

JMZ

Exercise 8

write a loop that loops 10 times (use a counter)

Exercise 9

write a loop that stores 55 in the memory locations between 15 and 30