以下のソースコードをnasmでアセンブルしてqemuで実行すると上の画像のようになる。現在47バイト使ってる
cpu 8086 bits 16 org 0x7C00 ; init display xor ah, ah mov al, 0x12 int 0x10 ; draw mode mov ah, 0x0C ; cx = x, dx = y mov cx, 0x100 mov dx, 0x100 draw_board: ; vertical edge check mov bx, 0x1F and bx, cx je set_black ; horizontal edge check mov bx, 0x1F and bx, dx je set_black ; dot color is green mov al, 0x02 draw_dot: ; draw int 0x10 ; x-- dec cx ; if x != 0 then drawboard jne draw_board ; cx = 0x100 inc ch ; y-- dec dx ; if y != 0 then drawboard jne draw_board fin: hlt jmp fin set_black: ; dot color is black xor al, al jmp draw_dot times 510 - ($ - $$) db 0x00 dw 0xAA55