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

MOV BL, 85h
MOV CL, 21h
MOV AL, CL ; Register Addressing
SUB AL, BL ; Register Addressing 

; b) Immidiate Addressing
       
MOV AL, 81h
SUB AL, 42h
 
; c) Direct Addressing

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

; d) Register Indirect addressing

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

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

; f) Based Indexed 

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

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

MOV BX, 8234h
MOV CX, 6021h
MOV AX, CX ; Register Addressing
SUB AX, BX ; Register Addressing

; b) Immediate Addressing

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

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

; d) Register Indirect Addressing

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

; e) Based Addressing 

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

; f) Based-Indexed

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