Witajcie, dopiero zaczynam swoja przygodę z Asemblerem ☺ na studia muszę zrobić zadanie:

"Ćwiczenie 1 (skala ZAL/NZAL)
Niech wartość zmiennej a=11 będzie przechowywana w komórce o adresie 001AH, wartość zmiennej b=3 w komórce o
adresie 001BH, wartość zmiennej c w komórce o adresie 001CH.
Napisać w języku assemblera procesora 8080 oraz 8086 programy realizujące następujące operacje:
a:=a+1;b:=b-1; c=2*a-b;
(w przypadku procesora 8086 założyć adres bazowy segmentu 0002H).
"

Napisałem program w 8086, który właściwie to działa, ale nie rozumiem za bardzo o co chodzi z adresem segmentu bazowego. Też nie wiem czy mój program wygląda dobrze, więc byłbym wdzięczny też za jakieś podpowiedzi :)

org 100h

;a = 11  o adresie 001AH

MOV AL, 11
MOV BX, 001AH
MOV [BX], AL
;b=3 o adresie 001bh
MOV AL, 3
MOV BX, 001BH
MOV [BX], AL

;a:=a+1
MOV BX, 001AH
MOV AL, [BX]
INC AL
MOV [BX], AL

;b=b-1
MOV BX, 001BH
MOV AL, [BX]
DEC AL
MOV [BX], AL

;c = 2*a
MOV BX, 001AH      
MOV AL, [BX]
ADD AL, [BX]
;c = c - b
MOV BX, 001BH
SUB AL, [BX]
MOV BX, 001CH
MOV [BX], AL 


ret 

Z góry dziękuję za każdą pomoc,
Pozdrawiam