Загрузка данных
MOV BX, 0200h
MOV BYTE PTR DS:[BX]+0, 013h
MOV BYTE PTR DS:[BX]+1, 003h
MOV BYTE PTR DS:[BX]+2, 020h
MOV BYTE PTR DS:[BX]+3, 00Eh
MOV BYTE PTR DS:[BX]+4, 002h
MOV BYTE PTR DS:[BX]+5, 020h
MOV BYTE PTR DS:[BX]+6, 040h
MOV BYTE PTR DS:[BX]+7, 022h
MOV BYTE PTR DS:[BX]+8, 00Bh
MOV BYTE PTR DS:[BX]+9, 002h
MOV BYTE PTR DS:[BX]+10, 020h
MOV BYTE PTR DS:[BX]+11, 043h
MOV BYTE PTR DS:[BX]+12, 020h
MOV BYTE PTR DS:[BX]+13, 002h
MOV BYTE PTR DS:[BX]+14, 023h
MOV BYTE PTR DS:[BX]+15, 003h
MOV BYTE PTR DS:[BX]+16, 003h
MOV BYTE PTR DS:[BX]+17, 020h
MOV BYTE PTR DS:[BX]+18, 044h
MOV BYTE PTR DS:[BX]+19, 020h
MOV BYTE PTR DS:[BX]+20, 044h
MOV BYTE PTR DS:[BX]+21, 020h
MOV BYTE PTR DS:[BX]+22, 002h
MOV BYTE PTR DS:[BX]+23, 002h
MOV BYTE PTR DS:[BX]+24, 020h
MOV BYTE PTR DS:[BX]+25, 040h
MOV BYTE PTR DS:[BX]+26, 020h
MOV BYTE PTR DS:[BX]+27, 044h
MOV BYTE PTR DS:[BX]+28, 020h
MOV BYTE PTR DS:[BX]+29, 043h
MOV BYTE PTR DS:[BX]+30, 020h
MOV BYTE PTR DS:[BX]+31, 002h
MOV BYTE PTR DS:[BX]+32, 003h
MOV BYTE PTR DS:[BX]+33, 020h
MOV BYTE PTR DS:[BX]+34, 044h
MOV BYTE PTR DS:[BX]+35, 020h
MOV BYTE PTR DS:[BX]+36, 063h
MOV BYTE PTR DS:[BX]+37, 040h
MOV BYTE PTR DS:[BX]+38, 020h
MOV BYTE PTR DS:[BX]+39, 002h
MOV BYTE PTR DS:[BX]+40, 004h
MOV BYTE PTR DS:[BX]+41, 020h
MOV BYTE PTR DS:[BX]+42, 043h
MOV BYTE PTR DS:[BX]+43, 020h
MOV BYTE PTR DS:[BX]+44, 061h
MOV BYTE PTR DS:[BX]+45, 020h
MOV BYTE PTR DS:[BX]+46, 061h
MOV BYTE PTR DS:[BX]+47, 020h
MOV BYTE PTR DS:[BX]+48, 080h
MOV BYTE PTR DS:[BX]+49, 020h
MOV BYTE PTR DS:[BX]+50, 000h
MOV BYTE PTR DS:[BX]+51, 005h
MOV BYTE PTR DS:[BX]+52, 022h
MOV BYTE PTR DS:[BX]+53, 066h
MOV BYTE PTR DS:[BX]+54, 020h
MOV BYTE PTR DS:[BX]+55, 002h
MOV BYTE PTR DS:[BX]+56, 001h
MOV BYTE PTR DS:[BX]+57, 026h
MOV BYTE PTR DS:[BX]+58, 065h
MOV BYTE PTR DS:[BX]+59, 021h
MOV BYTE PTR DS:[BX]+60, 002h
MOV BYTE PTR DS:[BX]+61, 001h
MOV BYTE PTR DS:[BX]+62, 020h
MOV BYTE PTR DS:[BX]+63, 044h
MOV BYTE PTR DS:[BX]+64, 020h
MOV BYTE PTR DS:[BX]+65, 064h
MOV BYTE PTR DS:[BX]+66, 020h
MOV BYTE PTR DS:[BX]+67, 004h
MOV BYTE PTR DS:[BX]+68, 001h
MOV BYTE PTR DS:[BX]+69, 020h
MOV BYTE PTR DS:[BX]+70, 044h
MOV BYTE PTR DS:[BX]+71, 020h
MOV BYTE PTR DS:[BX]+72, 063h
MOV BYTE PTR DS:[BX]+73, 040h
MOV BYTE PTR DS:[BX]+74, 020h
MOV BYTE PTR DS:[BX]+75, 004h
MOV BYTE PTR DS:[BX]+76, 002h
MOV BYTE PTR DS:[BX]+77, 020h
MOV BYTE PTR DS:[BX]+78, 043h
MOV BYTE PTR DS:[BX]+79, 020h
MOV BYTE PTR DS:[BX]+80, 063h
MOV BYTE PTR DS:[BX]+81, 020h
MOV BYTE PTR DS:[BX]+82, 040h
MOV BYTE PTR DS:[BX]+83, 020h
MOV BYTE PTR DS:[BX]+84, 003h
MOV BYTE PTR DS:[BX]+85, 002h
MOV BYTE PTR DS:[BX]+86, 020h
MOV BYTE PTR DS:[BX]+87, 043h
MOV BYTE PTR DS:[BX]+88, 023h
MOV BYTE PTR DS:[BX]+89, 043h
MOV BYTE PTR DS:[BX]+90, 020h
MOV BYTE PTR DS:[BX]+91, 002h
MOV BYTE PTR DS:[BX]+92, 003h
MOV BYTE PTR DS:[BX]+93, 020h
MOV BYTE PTR DS:[BX]+94, 042h
MOV BYTE PTR DS:[BX]+95, 020h
MOV BYTE PTR DS:[BX]+96, 001h
MOV BYTE PTR DS:[BX]+97, 020h
MOV BYTE PTR DS:[BX]+98, 043h
MOV BYTE PTR DS:[BX]+99, 020h
MOV BYTE PTR DS:[BX]+100, 002h
MOV BYTE PTR DS:[BX]+101, 003h
MOV BYTE PTR DS:[BX]+102, 020h
MOV BYTE PTR DS:[BX]+103, 041h
MOV BYTE PTR DS:[BX]+104, 020h
MOV BYTE PTR DS:[BX]+105, 003h
MOV BYTE PTR DS:[BX]+106, 020h
MOV BYTE PTR DS:[BX]+107, 042h
MOV BYTE PTR DS:[BX]+108, 020h
MOV BYTE PTR DS:[BX]+109, 002h
MOV BYTE PTR DS:[BX]+110, 004h
MOV BYTE PTR DS:[BX]+111, 020h
MOV BYTE PTR DS:[BX]+112, 040h
MOV BYTE PTR DS:[BX]+113, 020h
MOV BYTE PTR DS:[BX]+114, 003h
MOV BYTE PTR DS:[BX]+115, 020h
MOV BYTE PTR DS:[BX]+116, 042h
MOV BYTE PTR DS:[BX]+117, 020h
MOV BYTE PTR DS:[BX]+118, 002h
MOV BYTE PTR DS:[BX]+119, 005h
MOV BYTE PTR DS:[BX]+120, 021h
MOV BYTE PTR DS:[BX]+121, 003h
MOV BYTE PTR DS:[BX]+122, 020h
MOV BYTE PTR DS:[BX]+123, 042h
MOV BYTE PTR DS:[BX]+124, 020h
MOV BYTE PTR DS:[BX]+125, 002h
MOV BYTE PTR DS:[BX]+126, 00Ch
MOV BYTE PTR DS:[BX]+127, 023h
MOV BYTE PTR DS:[BX]+128, 002h
MOV BYTE PTR DS:[BX]+129, 013h
MOV SI, 0200h
MOV DI, 0F600h
ADD DI, 12
MOV DH, 20
row_loop:
CMP DH, 0
JE done
MOV CH, 20
run_loop:
MOV BH, DS:[SI]
INC SI
MOV AH, BH
SHR AH, 1
SHR AH, 1
SHR AH, 1
SHR AH, 1
SHR AH, 1
MOV CL, BH
AND CL, 01Fh
INC CL
draw_run:
CALL draw_pixel
DEC CH
DEC CL
JNZ draw_run
CMP CH, 0
JNZ run_loop
ADD DI, 48
DEC DH
JMP row_loop
draw_pixel:
PUSH AX
CMP AH, 0
JE color_white
CMP AH, 1
JE color_black
CMP AH, 2
JE color_cyan
CMP AH, 3
JE color_gray
CMP AH, 4
JE color_yellow
color_white:
MOV AH, 0Fh
JMP render
color_black:
MOV AH, 00h
JMP render
color_cyan:
MOV AH, 0Bh
JMP render
color_gray:
MOV AH, 08h
JMP render
color_yellow:
MOV AH, 0Eh
JMP render
render:
MOV AL, 0DBh
MOV ES:[DI], AX
ADD DI, 2
MOV ES:[DI], AX
ADD DI, 2
POP AX
RET
done:
HLT