80x25 の画像を VRAM に配置して画面に表示することになっている i8086 アセンブラーでコードを少し書きました。
entry start
start:
    mov di,#0xb800  ; Point ES:DI at VRAM
    mov es,di
    mov di,#0x0000
    mov si,#image   ; And DS:SI at Image
    mov cx,#0x03e8  ; Image is 1000 bytes
    mov bl,#0x20    ; Print spaces
; How BX is used:
; |XXXX XXXX XXXXXXXX|
;            ^^^^^^^^^  BL contains ascii whitespace
;  ^^^^                 BH higher 4 bits contain background color
;       ^^^^            BH lower  4 bits contain unused foreground color
img_loop:
    seg ds          ; Load color 
    mov bh,[si]
    seg es          ; Write a whitespace and color to VRAM
    mov [di],bx
    add di,#2   ; Advance one 'pixel'
    sal bh,#4   ; Shift the unused lower 4-bits so that they become background color for the 2nd pixel
    seg es
    mov [di],bx
    add di,#2   
    add si,#1
    sub cx,#1   ; Repeat until 1 KiB is read
    jnz img_loop
endless:
    jmp endless
image:
GET splash.bin
問題は、イメージ ファイルからのバイナリ データを as86 アセンブラに含めることができないことです。マニュアルページを見ましたが、機能するものは見つかりませんでした。
上記のコードをビルドしようとしてもエラーは発生しませんが、リンカーによって生成される出力ファイルのサイズはわずか 44 バイトであるため、明らかに 1000 バイトのイメージを挿入する必要はありませんでした。
誰でもそれを手伝ってもらえますか?私は何を間違っていますか?