CPU 8086 chunksize equ 0x20 devicedelay equ 0x08 _start: push bp mov bp, sp sub sp, 8 mov [bp-2], word chunksize ; recv size mov [bp-4], word 0xf000 ; recv addr mov [bp-6], word 0x0001 ; send size mov [bp-8], word 0x7000 ; send addr mov bx, [bp-8] mov [bx], byte 0x42 l0: cmp word [bp-4], 0xf600 jb l1 l2: mov sp, bp pop bp ret l1: mov ah, 0x07 int 0x80 test al, al jnz l1 push word [bp-2] push word [bp-4] mov ah, 0x05 int 0x80 test al, al jz l2 mov ah, 0 add [bp-4], ax push word [bp-6] push word [bp-8] mov ah, 0x06 int 0x80 add sp, 8 mov cx, devicedelay l3: mov ah, 0x07 push cx int 0x80 pop cx loop l3 ; give the device some time to answer jmp l0