CSEG SEGMENT
     ASSUME CS:CSEG,DS:DSEG,ES:ESEG

MAIN PROC
     MOV  AX,DSEG
     MOV  DS,AX
     MOV  AX,ESEG
     MOV  ES,AX
     MOV  AX,1234h
     MOV  OPA,AX
     MOV  OPB,AL
     MOV  OPC,AX
     MOV  SI,2
     MOV  DI,0
     MOV  AX,TABL[SI]
     MOV  TABL[DI],AX
     MOV  BX,10
     MOV  AX,TABL[BX+SI]
     MOV  TABL[DI],AX
     MOV  AX,OPA
     MOV  OPD,AX
     MOV  AX,1234h
     PUSH AX
     MOV  AX,5678h
     PUSH AX
     MOV  BP,SP
     MOV  AX,9012h
     PUSH AX
     MOV  AX,3456h
     PUSH AX
     MOV  SI,2
     MOV  AX,[BP+SI]
     MOV  SI,0
     MOV  BX,[BP+SI]
     MOV  SI,-2
     MOV  CX,[BP+SI]
     MOV  SI,-4
     MOV  DX,[BP+SI]
     MOV  AX,[BP+2]
     MOV  BX,[BP]
     MOV  CX,[BP-2]
     MOV  DX,[BP-4]
     MOV  AX,4C00h
     INT  21h
MAIN ENDP

CSEG ENDS

DSEG SEGMENT
     ORG 200h
OPA  DW ?
OPB  DB ?
OPC  DW ?
TABL DW 1,2,3,4,5,6,7,8,9,10
DSEG ENDS

ESEG SEGMENT
     ORG 100h
OPD  DW ?
ESEG ENDS

SSEG SEGMENT STACK
     DW 128 DUP (?)
SSEG ENDS

     END MAIN