..model small
..stack 100h
..data
calc_array db 00101010b, 00101010b, 00101010b, 00101010b
db 00101010b, 00101010b, 00101010b, 00101010b
space_array dw 1, 7, 1, 1, 1, 1, 1, 1
dw 1, 1, 1, 1, 1, 1, 1, 1
..code
main proc
mov ax, @data ; move address of data segment to the ax register
mov ds, ax ; move ax into the data segment register
mov ax, 03h
int 10h
mov ax, 0B800h
mov es, ax
xor di, di
mov ah, 00001111b
mov cx, 8
mov si, 0
go: mov al, calc_array[si]
mov es:[di], al
add di, space_array[bx]
mov es:[di], ah
add di, space_array[bx]
add si, 1
loop go
call get_char
mov ax, 4C00h
int 21h
main endp
get_char proc
mov ah, 00h
int 16h
ret
get_char endp
end main