Загрузка данных


.model small
.stack 100h

.data
; === СЕГМЕНТ ДАННЫХ ===
B_TAB   db 1Ah, 2Bh, 3Ch, 4Dh, 5Eh, 6Fh, 7Ah, 8Bh
W_TAB   dw 1A2Bh, 3C4Dh, 5E6Fh, 7A8Bh
B_TAB1  db 0Ah, 8 dup(1)
W_TAB1  dw 8 dup(1)
W_TAB2  dw 11h, 12h, 13h, 14h, 15h, 16h, 17h, 18h

.code
start:
    ; Инициализация сегментов
    mov ax, @data
    mov ds, ax
    mov es, ax

    ;непосредственная (операнд-источник)
    mov al,-3
    mov ax,3
    mov B_TAB,-3
    mov W_TAB,-3
    mov ax,2A1Bh

    ;регистровая
    mov bl,al
    mov bh,al
    sub ax,bx
    sub ax,ax

    ;прямая
    mov ax,W_TAB
    mov ax,W_TAB+3
    mov ax,W_TAB+5
    mov al,byte ptr W_TAB+6
    mov al,B_TAB
    mov al,B_TAB+2
    mov ax,word ptr B_TAB
    mov es:W_TAB2+4,ax

    ;косвенная
    mov bx,offset B_TAB
    mov si,offset B_TAB+1
    mov di,offset B_TAB+2
    mov dl,[bx]
    mov dl,[si]
    mov dl,[di]
    mov ax,[di]
    mov bp,bx
    mov al,[bp]
    mov al,ds:[bp]
    mov al,es:[bx]
    mov ax,cs:[bx]

    ; базовая
    mov ax,[bx]+2
    mov ax,[bx]+4
    mov ax,[bx+2]
    mov ax,[4+bx]
    mov ax,2+[bx]
    mov ax,4+[bx]
    mov al,[bx]+2
    mov bp,bx
    mov ax,[bp+2]
    mov ax,ds:[bp]+2
    mov ax,ss:[bx+2]

    ;индексная
    mov si,2
    mov ah,B_TAB[si]
    mov al,[B_TAB+si]
    mov bh,[si+B_TAB]
    mov bl,[si]+B_TAB
    mov bx,es:W_TAB2[si]
    mov di,4
    mov bl,byte ptr es:W_TAB2[di]
    mov bl,B_TAB[si]

    ;базовая индексная
    mov bx,offset B_TAB
    mov al,3[bx][si]
    mov ah,[bx+3][si]
    mov al,[bx][si+2]
    mov ah,[bx+si+2]
    mov bp,bx
    mov ah,3[bp][si]
    mov ax,ds:3[bp][si]
    mov ax,word ptr ds:2[bp][si]

    ; Завершение программы
    mov ah, 4Ch
    int 21h

end start