summaryrefslogtreecommitdiff
path: root/TASK1.asm
blob: 164e0db55702541a998f3767f4184626a765a44b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; ADD NUMBERS IN MEMORY 00H -> NEXT 00H BYTE, STORE RESULT IN C

JMP START
START:	LXI H,00H	; HL AS MEMORY POINTER
	MVI C,00H	; CLEAR C
	MOV B,C		; CLEAR B
NEXT:	MOV A,M		; SET ACCUMULATOR TO VALUE AT MEMORY ADDRESS
	CPI 00H		; COMPARE ACCUMULATOR WITH 00H
	JZ END		; JUMP IF ZERO
	INX H		; INCREASE POINTER
	JMP SAVE	; JUMP TO SAVE
SAVE:	MOV B,A		; STORE ACCUMULATOR IN B
	MOV A,C		; MOVE C INTO ACCUMULATOR
	ADD B		; ADD B
	MOV C,A		; STORE NEW ADDED VALUED IN B
	MVI A,00H	; CLEAR ACCUMULATOR
	MOV B,A		; CLEAR B
	JMP NEXT	; NEXT BYTE
 END:	HLT		; HALT