; 8-bit Addition Operation with different addressing modes
; a) Register Addressing

MOV BL, 05h
MOV CL, 21h
MOV AL, CL ; Register Addressing
ADD AL, BL ; Register Addressing 

; b) Immidiate Addressing
       
MOV AL, 21h
ADD AL,42h
 
; c) Direct Addressing

MOV BL, [08h]
MOV AL, [02h]    
ADD AL, BL

; d) Register Indirect addressing

MOV CL, [BX]      
MOV AL, 02h
ADD AL, CL    

; e) Based Addressing Mode
                 
MOV CL, [BX + 04h]                 
MOV AL, [BX + 01h]
ADD AL, CL    

; f) Based Indexed 

MOV AL, [BX + SI]
MOV CL, [BX + DI]
ADD AL, CL

; 16-bit Addition Operation with different addressing modes
; a) Register Addressing

MOV BX, 1234h
MOV CX, 6021h
MOV AX, CX ; Register Addressing
ADD AX, BX ; Register Addressing

; b) Immediate Addressing

MOV AX, 6028h
ADD AX, 1020h
           
; c) Direct Addressing

MOV BX, [08h]
MOV AX, [02h]
ADD AX, BX        

; d) Register Indirect Addressing

MOV CX, [BX]
MOV AX, 1234h
ADD AX, CX

; e) Based Addressing 

MOV CX, [BX + 04]
MOV AX, [BX + 02]      
ADD AX, CX

; f) Based-Indexed

MOV AX, [BX + SI]
MOV CX, [BX + DI]
ADD AX, CX