Login

Subversion Repositories NedoOS

Rev

Rev 1383 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

я╗┐╨┐╤А╨╛╨╣╨┤╨╡╨╜╤Л ╤В╨╡╤Б╤В╤Л 186:
add
bitwise: ╨╗╨╕╤И╨╜╨╡╨╡ 10 (AF) ╨╜╨░ 7-╨╣ (and ah,al) - The state of the AF flag is undefined. ╨╗╨╕╤И╨╜╨╡╨╡ 80 (SF) ╨╜╨░ 14-╨╣ (or cx,word[4]) - ╨╜╨╡ ╨▒╤Л╨╗ ╤Б╤Д╨╛╤А╨╝╨╕╤А╨╛╨▓╨░╨╜ ╨╖╨╜╨░╨║ ╨▓ LOG16 (fixed), 10-╨╣ ╤Б ╨║╨╛╨╜╤Ж╨░ (test ah,al): ╨╗╨╕╤И╨╜╨╡╨╡ 10 (AF) - The state of the AF flag is undefined.
cmpneg
control
jmpmov

╨┐╤А╨╛╨▓╨░╨╗╨╡╨╜╤Л ╤В╨╡╤Б╤В╤Л:
bcdconv: ╨▓╤Б╨╡ ╤Д╨╗╨░╨│╨╕ ╨╜╨╡╨▓╨╡╤А╨╜╤Л, +2e ╨╜╨╡╨▓╨╡╤А╨╜╤Л╨╣ ╤А╨╡╨╖╤Г╨╗╤М╤В╨░╤В daa 5496 ╨▓╨╝. 5490 (╨│╨┤╨╡-╤В╨╛ ╨╜╨╡╨┐╤А╨░╨▓╨╕╨╗╤М╨╜╤Л╨╣ AF?)
datatrnf c1: pop %cx (non-standard) 
div: ╨▓╤Б╨╡ ╤Д╨╗╨░╨│╨╕ ╨╜╨╡╨▓╨╡╤А╨╜╤Л, +0x10 0000 ╨▓╨╝ ffff:
 mov dx,0ffffh
 mov ax,0ffffh
 mov cx,01h
 mov word[bp],02h
 div cx ;ffff ffff/0001
 add bp,02h
 mov word[12],ax
 mov word[14],cx
 mov word[16],dx <----
+0x14 8000 ╨▓╨╝ ffff:
 mov dx,0ffffh
 mov ax,0ffffh
 mov word[18],0ffffh
 mov word[bp],04h
 div word[18] ;ffff ffff/ffff
 add bp,02h
 mov word[20],ax
 mov word[22],dx



para512: ╨╜╨░ ╤Б╤В╨░╤А╤В╨╡ ╤А╨╕╤Б╤Г╨╡╤В ╨┐╨╛╨▓╨╡╤А╤Е ╨▓╤Б╨╡╨│╨╛ ╤Н╨║╤А╨░╨╜╨░ ╨║╤Г╤З╤Г ╨▒╨╗╨╛╨║╨╛╨▓ ╤А╨░╨╖╨╝╨╡╤А╨╛╨╝ 256*65536 - ╤В╨░╨║ ╨╕ ╨╜╨░╨┤╨╛? ╨┐╨╛╨║╨░ ╨║╨╛╤Б╤В╤Л╨╗╤М ╨┤╨╗╤П rep stosb 65536=0

cgademo: ╨╜╨╡╨▒╨╛╨╗╤М╤И╨╛╨╡ ╨╖╨░╤В╨╕╤А╨░╨╜╨╕╨╡ ╨╜╨░╨┤╨┐╨╕╤Б╨╕
digger: ╨╖╨░╨┐╨░╤А╤Л╨▓╨░╨╡╤В╤Б╤П ╨╜╨╡╨╝╨╜╨╛╨│╨╛ ╨╝╨╡╨╜╤О [╨╛╨┤╨╕╨╜ ╤Б╨┐╤А╨░╨╣╤В ╨┤╨▓╨╕╨╢╨╡╨╜╨╕╤П ╨▓╨╗╨╡╨▓╨╛ ╤Г╨╢╨╡ ╨╜╨╡ ╨╖╨░╨┐╨░╤А╤Л╨▓╨░╨╡╤В╤Б╤П ╨┐╨╛╤Б╨╗╨╡ ╤Д╨╕╨║╤Б╨░ ╨╖╨╜╨░╨║╨░ ╨▓ LOG16)

mision: ╨╛╨│╨╛╨╜╤М ╤В╤А╨╕╨│╨│╨╡╤А╨╕╤В╤Б╤П, ╨░ ╨╜╨╡ ╤А╨░╨▒╨╛╤В╨░╨╡╤В ╨┐╤А╨╕ ╨╜╨░╨╢╨░╤В╨╛╨╝
malar: ╨╖╨░╨┐╨░╤А╤Л╨▓╨░╨╡╤В╤Б╤П ╨╜╨╡╨╝╨╜╨╛╨│╨╛ ╨╝╨╡╨╜╤О, [╨╕╨│╤А╨░ ╨╜╨╡ ╨╖╨░╨┐╤Г╤Б╨║╨░╨╡╤В╤Б╤П ╨┐╤А╨╕ cs=0400, ╨╖╨░╨┐╤Г╤Б╨║╨░╨╡╤В╤Б╤П ╨┐╤А╨╕ 1000)
sorryass ╤Б╨╗╨╛╨╝╨░╨╗╨╛╤Б╤М


╨╡╤Й╨╡ ╤Б╤В╤А╨░╨╜╨╜╤Л╨╣ ╨║╨╛╤Б╤П╨║ ╨┐╨╛ ╤Е86
╨╡╤Б╨╗╨╕ ╨╖╨░╨┐╤Г╤Б╨╕╤В╤М rogue ╨╛╨╜ ╤В╨╛ ╨╛╤В╨╗╨╕╤З╨╜╨╛ ╤А╨░╨▒╨╛╤В╨░╨╡╤В
╨╜╨╛ ╨╜╨╡ ╤А╨░╨▒╨╛╤В╨░╨╡╤В ╨▓╤Л╤Е╨╛╨┤ ╤Б ╤Н╨╝╤Г╨╗╤П╤В╨╛╤А╨░ ╨┐╨╛ 135
[19:38] alone_coder: ╨┤╨░, ╤Н╤В╨╛ ╨╜╨░╨┤╨╛ ╨┐╨╛╤Д╨╕╨║╤Б╨╕╤В╤М. ╨┐╤А╨╡╤А╤Л╨▓╨░╨╜╨╕╨╡ ╨╜╨╡ ╨╖╨░╤Е╨▓╨░╤В╤Л╨▓╨░╨╡╤В╤Б╤П


livin:
37d8 ╨┐╨╛╤Е╨╛╨╢╨╡ ╨╜╨░ ╨╗╨╛╨│╨╕╨║╤Г ╨┤╨▓╨╕╨╢╨╡╨╜╨╕╤П ╤Б ╨╖╨░╨╝╨╡╨┤╨╗╨╡╨╜╨╕╨╡╨╝
de31,32 - ╨║╨░╨║╨╕╨╡-╤В╨╛ ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╤Л╨╡ ╨┤╨▓╨╕╨╢╨╡╨╜╨╕╤П
╨┐╨╛╤Б╤В╨░╨▓╨╕╨╗ ╨╜╨╛╨┐╤Л 37c2, 37e0 ╨▓╨╝╨╡╤Б╤В╨╛ inc - ╨╜╨╡ ╨┐╨╛╨╝╨╛╨│╨╗╨╛

╨┤╨╛╨▒╨░╨▓╨╕╤В╤М ╨▓╨░╤А╨╕╨░╨╜╤В declputm16_oldpg, ╨│╨┤╨╡ ╨┐╨╕╤Б╨░╤В╤М ╨▓ ╨╛╨▒╤А╨░╤В╨╜╨╛╨╝ ╨┐╨╛╤А╤П╨┤╨║╨╡, ╤З╤В╨╛╨▒╤Л ╨╝╨╛╨╢╨╜╨╛ ╨▒╤Л╨╗╨╛ ╨▓╨║╨╗╤О╤З╨╕╤В╤М ╤Б╤В╨░╤А╤Г╤О ╤Б╤В╤А╨░╨╜╨╕╤Ж╤Г


╨▓ ╨╜╨╡╨║╨╛╤В╨╛╤А╤Л╤Е ╤Б╨╗╤Г╤З╨░╤П╤Е ld b,tscrpgs ╨╝╨╛╨╢╨╜╨╛ ╨╖╨░╨╝╨╡╨╜╨╕╤В╤М ╨╜╨░ inc b?


╤З╤В╨╛ ╤Н╤Д╤Д╨╡╨║╤В╨╕╨▓╨╜╨╡╨╡ - ╨▒╤Л╤Б╤В╤А╤Л╨╣ sp ╤Б ╨┐╤А╨╛╨▓╨╡╤А╨║╨╛╨╣ 18t ╨┐╤А╨╕ ╨║╨░╨╢╨┤╨╛╨╣ ╨╖╨░╨┐╨╕╤Б╨╕ r16 (╤З╤В╨╛╨▒╤Л ╨▓╨║╨╗╤О╤З╨╕╤В╤М ╤Б╤В╤А╨░╨╜╨╕╤Ж╤Г) ╨╕╨╗╨╕ sp ╨║╨░╨║ ╨╛╨▒╤Л╤З╨╜╤Л╨╣ ╤А╨╡╨│╨╕╤Б╤В╤А (╨╕ ╨╗╨╕╤И╨╜╨╕╨╣ ╤Б╨╡╨│╨╝╨╡╨╜╤В ╨┐╨╛╨┤ ╨║╨╛╨┤)?

╨▓ call/jmp/ret ╤Б╨┤╨╡╨╗╨░╤В╤М ╤В╨░╨║╤Г╤О ╨╢╨╡ ╨┐╤А╨╛╨▓╨╡╤А╨║╤Г ╨▒╤Л╤Б╤В╤А╨╛╨│╨╛ ╨▓╤Л╤Е╨╛╨┤╨░, ╨║╨░╨║ ╨▓ jr


╤Д╨╗╨░╨│╨╕ ╤З╤С╤В╨╜╨╛╤Б╤В╨╕ ╨╕ ╨┐╨╡╤А╨╡╨┐╨╛╨╗╨╜╨╡╨╜╨╕╤П ╨╛╤В╨║╨╗╤О╤З╨░╤В╤М ╨╜╨░╤Б╤В╤А╨╛╨╣╨║╨╛╨╣?
╨╕╨╝╨╡╨╡╤В ╤Б╨╝╤Л╤Б╨╗ ╨╛╤В╨║╨╗╤О╤З╨╕╤В╤М ╨╛╨▒╨░ ╨▓ ╤Б╨┤╨▓╨╕╨│╨░╤Е
╤З╤С╤В╨╜╨╛╤Б╤В╤М ╨╛╤Б╤В╨░╨▓╨╕╤В╤М ╤В╨╛╨╗╤М╨║╨╛ ╨▓ ╨╗╨╛╨│╨╕╨║╨╡
╨┐╨╡╤А╨╡╨┐╨╛╨╗╨╜╨╡╨╜╨╕╤П ╨╛╤Б╤В╨░╨▓╨╕╤В╤М ╤В╨╛╨╗╤М╨║╨╛ ╨▓ ╨░╤А╨╕╤Д╨╝╨╡╤В╨╕╨║╨╡


╨╜╨╡ ╤Д╨╛╤А╨╝╨╕╤А╨╛╨▓╨░╤В╤М ╤Б╤А╨░╨╖╤Г ╤Д╨╗╨░╨│ ╤З╤С╤В╨╜╨╛╤Б╤В╨╕, ╨░ ╨║╨╛╨┐╨╕╤А╨╛╨▓╨░╤В╤М ╨┐╨╛╤Б╨╗╨╡╨┤╨╜╨╕╨╣ ╤А╨╡╨╖╤Г╨╗╤М╤В╨░╤В ╨▓ ╤А╨╡╨│╨╕╤Б╤В╤А. ╨║╨╛╨│╨┤╨░ ╨╜╨░╨┤╨╛ ╨▒╤Г╨┤╨╡╤В ╨┐╨╡╤А╨╡╨╣╤В╨╕ ╨┐╨╛ ╤З╤С╤В╨╜╨╛╤Б╤В╨╕ (╤Н╤В╨╛ ╤А╨╡╨┤╨║╨╛ ╨╜╨░╨┤╨╛), ╤В╨╛╨│╨┤╨░ ╨╕ ╨┐╨╛╤Б╤З╨╕╤В╨░╨╡╨╝ ╤З╤С╤В╨╜╨╛╤Б╤В╤М
╤В╨╛╨│╨┤╨░ ╨╗╨╛╨│╨╕╤З╨╡╤Б╨║╨╕╨╡ ╨╛╨┐╨╡╤А╨░╤Ж╨╕╨╕ ╨╕ ╤Б╨┤╨▓╨╕╨│╨╕ ╤З╨╡╤А╨╡╨╖ rlca/rla/rrca/rra, ╤З╤В╨╛╨▒╤Л ╨╜╨╡ ╨╝╨╡╨╜╤П╤В╤М ╤Д╨╗╨░╨│╨╕ ╨▓╨╛╨╛╨▒╤Й╨╡, ╨║╤А╨╛╨╝╨╡ C
╤Д╨╗╨░╨│ AC (x86) = ╤Д╨╗╨░╨│ H (Z80)

╤Б╨┤╨▓╨╕╨│╨╕ ╤В╨░╨║╨╢╨╡ ╤Д╨╛╤А╨╝╨╕╤А╤Г╤О╤В ╤Д╨╗╨░╨│ O: The OF flag is affected only on 1-bit shifts. For left shifts, the OF flag is set to 0 if the most significant bit of the result is the same as the CF flag (that is, the top two bits of the original operand were the same); otherwise, it is set to 1. For the SAR instruction, the OF flag is cleared for all 1-bit shifts. For the SHR instruction, the OF flag is set to the most-significant bit of the original operand. https://c9x.me/x86/html/file_module_x86_id_285.html  The OF flag is defined only for the 1-bit rotates; it is undefined in all other cases (except that a zero-bit rotate does nothing, that is affects no flags). For left rotates, the OF flag is set to the exclusive OR of the CF bit (after the rotate) and the most-significant bit of the result. For right rotates, the OF flag is set to the exclusive OR of the two most-significant bits of the result. https://c9x.me/x86/html/file_module_x86_id_273.html

╨▓╨╛ ╨▓╤Б╨╡╤Е ╨║╨╛╨╝╨░╨╜╨┤╨░╤Е ╨▓╤А╤Г╤З╨╜╤Г╤О ╤Е╤А╨░╨╜╨╕╤В╤М ╨┤╨░╨╜╨╜╤Л╨╡ ╨┤╨╗╤П ╤Д╨╗╨░╨│╨░ O? rra:ld of,a:rla (╨╡╤Б╨╗╨╕ ╨┤╨▓╨░ ╤Б╤В╨░╤А╤И╨╕╤Е ╨▒╨╕╤В╨░ ╤А╨░╨╖╨╜╤Л╨╡, ╤В╨╛ ╤Н╤В╨╛ ╨┐╨╡╤А╨╡╨┐╨╛╨╗╨╜╨╡╨╜╨╕╨╡). ╨║ ╤Б╨╛╨╢╨░╨╗╨╡╨╜╨╕╤О, ╨╜╨╡╨╗╤М╨╖╤П ╨╛╨▒╤К╨╡╨┤╨╕╨╜╨╕╤В╤М ╤Б ╨┤╨░╨╜╨╜╤Л╨╝╨╕ ╨┤╨╗╤П ╤Д╨╗╨░╨│╨░ P (╤З╤В╨╛╨▒╤Л ╨┐╨╛╤В╨╛╨╝ ╨┐╤А╨╛╨▓╨╡╤А╤П╤В╤М ╤Б ╤Г╤З╤С╤В╨╛╨╝ C), ╤В.╨║. ╨╜╨╡ ╨▓╤Б╨╡ ╨║╨╛╨╝╨░╨╜╨┤╤Л ╨╝╨╡╨╜╤П╤О╤В ╨╛╨┤╨╜╨╛╨▓╤А╨╡╨╝╨╡╨╜╨╜╨╛ P, O, C (╨╗╨╛╨│╨╕╤З╨╡╤Б╨║╨╕╨╡ ╤Б╨┤╨▓╨╕╨│╨╕ - ╤В╨╛╨╗╤М╨║╨╛ O, C).
╤В╨╛╨│╨┤╨░ ╨▓╤Б╨╡ ╤Б╨┤╨▓╨╕╨│╨╕ ╤В╨╛╤З╨╜╨╛ ╤Б╨╛╨╛╤В╨▓╨╡╤В╤Б╤В╨▓╤Г╤О╤В ╤Б╨┤╨▓╨╕╨│╨░╨╝ ╨╜╨░ Z80 (╨╗╨╛╨│╨╕╤З╨╡╤Б╨║╨╕╨╡ - ╤З╨╡╤А╨╡╨╖ rrca/..., ╨░╤А╨╕╤Д╨╝╨╡╤В╨╕╤З╨╡╤Б╨║╨╕╨╡ - ╤З╨╡╤А╨╡╨╖ #cb xx)
╨╜╤Г╨╢╨╜╨╛ ╤Е╤А╨░╨╜╨╕╤В╤М ╨▓ ╤А╨╡╨│╨╕╤Б╤В╤А╨░╤Е:
8 parity data (d'?)
8 overflow data (e'?)

╨╗╤Г╤З╤И╨╡ ╨┤╨╗╤П ╨╡╨┤╨╕╨╜╨╛╨╛╨▒╤А╨░╨╖╨╕╤П ╤Е╤А╨░╨╜╨╕╤В╤М ╨▓╤Б╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╤Л ╨▓ ╨┐╨░╨╝╤П╤В╨╕
parity,overflow ╨▓ ix? ╨╜╨╕╤З╨╡╨│╨╛ ╨╜╨╡ ╨┤╨░╤Б╤В?

fs,gs ╨╜╤Г╨╢╨╜╤Л ╤В╨╛╨╗╤М╨║╨╛ ╨┤╨╗╤П 386?

╨╗╤Г╤З╤И╨╡ CS ╨▓╤Б╨╡╨│╨┤╨░ ╨▓╨║╨╗╤О╤З╨░╤В╤М ╨▓ ╨║╨╛╨╜╨║╤А╨╡╤В╨╜╨╛╨╡ ╨╛╨║╨╜╨╛ (4000) ╨╕ ╤Е╤А╨░╨╜╨╕╤В╤М ╨┐╨╡╤А╨╡╤Б╤З╨╕╤В╨░╨╜╨╜╤Л╨╣ PC
SS ╨▓╤Б╨╡╨│╨┤╨░ ╨▓╨║╨╗╤О╤З╨░╤В╤М ╨▓ ╨┤╤А╤Г╨│╨╛╨╡ ╨║╨╛╨╜╨║╤А╨╡╤В╨╜╨╛╨╡ ╨╛╨║╨╜╨╛ (8000) (sp ╨╜╨╡ ╨┐╨╡╤А╨╡╤Б╤З╨╕╤В╨░╨╜ ╨┤╨╗╤П ╨╡╨┤╨╕╨╜╨╛╨╛╨▒╤А╨░╨╖╨╕╤П, ╨╜╨╛ ╨┐╨╛╤Б╨╗╨╡ ╨╡╨│╨╛ ╨╕╨╖╨╝╨╡╨╜╨╡╨╜╨╕╤П ╨╜╨░╨┤╨╛ encodeSP)
╤В╤А╨╡╤В╤М╨╡ ╨╛╨║╨╜╨╛ (c000) ╨┐╨╛╨┤ ╨┤╨░╨╜╨╜╤Л╨╡

╨║╨░╨║ ╨░╨┤╤А╨╡╤Б╨╛╨▓╨░╤В╤М ╨┐╨░╨╝╤П╤В╤М ╨┐╨╛ ?s:de = (?s*16 + de)/16384 ╨╕ mod 16384:
?s*16 ╤Б╤А╨░╨╖╤Г ╤Е╤А╨░╨╜╨╕╤В╤М ╨║╨░╨║ 24 ╨▒╨╕╤В╨░ (╨┤╨╗╤П ╨▓╤Б╨╡╤Е ?s)




int 10h
ah=10h  ╨г╤Б╤В╨░╨╜╨╛╨▓╨╕╤В╤М ╤А╨╡╨│╨╕╤Б╤В╤А╤Л ╨┐╨░╨╗╨╕╤В╤А╤Л ╨┤╨╗╤П EGA. ╨а╨░╨▒╨╛╤В╨░╨╡╤В ╨┐╤А╨╕ ╨╜╨░╨╗╨╕╤З╨╕╨╕ EGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨╛╨╣ ╨║╨░╤А╤В╤Л.(╨▓╨║╨╗╤О╤З╨░╤П VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╤Л╨╡)

╨Т╤Л╨▒╨╕╤А╨░╨╡╤В ╤Ж╨▓╨╡╤В╨░, ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╨╡╨╝╤Л╨╡ ╨┤╨░╨╜╨╜╤Л╨╝ ╨░╤В╤А╨╕╨▒╤Г╤В╨╛╨╝ ╤Н╨║╤А╨░╨╜╨░. ╤Г╨╝╨░╨╗╤З╨╕╨▓╨░╨╡╨╝╤Л╨╡ ╤Ж╨▓╨╡╤В╨░ ╤В╨╡ ╨╢╨╡, ╤З╤В╨╛ ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╤О╤В╤Б╤П ╤Б CGA (╤Б╨╝. ╨░╤В╤А╨╕╨▒╤Г╤В╤Л ╤Н╨║╤А╨░╨╜╨░ ).

╨Т╤Е╨╛╨┤:
AL      ╨Я╨╛╨┤╤Д╤Г╨╜╨║╤Ж╨╕╤П
0        ╨г╤Б╤В╨░╨╜╨╛╨▓╨╕╤В╤М ╨╛╨┤╨╕╨╜ ╤А╨╡╨│╨╕╤Б╤В╤А ╨┐╨░╨╗╨╕╤В╤А╤Л

BL = ╤А╨╡╨│╨╕╤Б╤В╤А (╨╕╨┤╨╡╨╜╤В╨╕╤Д╨╕╤Ж╨╕╤А╤Г╨╡╤В 4-╨▒╨╕╤В╨╛╨▓╤Л╨╣ ╤Ж╨▓╨╡╤В; 0-15)
BH = ╨╖╨╜╨░╤З╨╡╨╜╨╕╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ (6-╨▒╨╕╤В╨╛╨▓╤Л╨╣ rgbRGB ╨▓╤Л╨┤╨░╨▓╨░╨╡╨╝╤Л╨╣ ╤Ж╨▓╨╡╤В)

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡:
╨б╤Г╤Й╨╡╤Б╤В╨▓╤Г╨╡╤В ╨╜╨╡╨┤╨╛╨║╤Г╨╝╨╡╨╜╤В╨╕╤А╨╛╨▓╨░╨╜╨╜╨░╤П ╨╛╤Б╨╛╨▒╨╡╨╜╨╜╨╛╤Б╤В╤М ╤Н╤В╨╛╨╣ ╤Д╤Г╨╜╨║╤Ж╨╕╨╕ - ╨▓╨╛╨╖╨╝╨╛╨╢╨╜╤Л ╨╖╨╜╨░╤З╨╡╨╜╨╕╤П ╨▓╤Л╤И╤С 15, ╨╛╨┤╨╜╨░╨║╨╛ ╨╝╨╡╨╜╤П╤В╤М ╤Н╤В╨╕ ╤А╨╡╨│╨╕╤Б╤В╤А╤Л ╨║╤А╨░╨╣╨╜╨╡ ╨╜╨╡ ╤А╨╡╨║╨║╨╛╨╝╨╡╨╜╨┤╤Г╨╡╤В╤Б╤П. ╨Т ╤З╨░╤Б╤В╨╜╨╛╤Б╤В╨╕ ╨▓ RBIL ╨┐╤А╨╕╨▓╨╡╨┤╨╡╨╜╨░ ╤Б╨╗╨╡╨┤╤Г╤О╤Й╨░╤П ╨╕╨╜╤Д╨╛╤А╨╝╨░╤Ж╨╕╤П:
 10h attribute mode control register (should let BIOS control this)
 11h overscan color register
 12h color plane enable register (bits 3-0 enable corresponding text attribute bit)
 13h horizontal PEL panning register
 14h color select register
1       ╨г╤Б╤В╨░╨╜╨╛╨▓╨╕╤В╤М ╤А╨╡╨│╨╕╤Б╤В╤А ╤А╨░╨╝╨║╨╕.

BH = ╨╖╨╜╨░╤З╨╡╨╜╨╕╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ (6-╨▒╨╕╤В╨╛╨▓╤Л╨╣ rgbRGB ╨▓╤Л╨┤╨░╨▓╨░╨╡╨╝╤Л╨╣ ╤Ж╨▓╨╡╤В)

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡:
╨Э╨░ ╨╛╤А╨╕╨│╨╕╨╜╨░╨╗╤М╨╜╨╛╨╝ IBM PC ╤Н╤В╨░ ╤Д╤Г╨╜╨║╤Ж╨╕╤П ╨╖╨░╨┐╨╕╤Б╤Л╨▓╨░╨╡╤В ╨┤╨░╨╜╨╜╤Л╨╡ ╨▓ ╨╜╨╡ ╨┐╤А╨░╨▓╨╕╨╗╤М╨╜╤Л╨╣ ╤А╨╡╨│╨╕╤Б╤В╤А
2       ╨г╤Б╤В╨░╨╜╨╛╨▓╨╕╤В╤М ╨▓╤Б╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╤Л ╨┐╨░╨╗╨╕╤В╤А╤Л ╨╕ ╤А╨╡╨│╨╕╤Б╤В╤А ╨│╤А╨░╨╜╨╕╤Ж╤Л

ES:DX => 17 ╨▒╨░╨╣╤В (╤А╨╡╨│╨╕╤Б╤В╤А╤Л ╨┐╨░╨╗╨╕╤В╤А╤Л (╨▒╨░╨╣╤В╤Л 0-15) ╨╕ ╤А╨╡╨│╨╕╤Б╤В╤А ╨│╤А╨░╨╜╨╕╤Ж╤Л (╨▒╨░╨╣╤В╤Л 16))

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡:
╨Э╨╡╨║╨╛╤В╨╛╤А╤Л╨╡ ╨С╨╕╨╛╤Б╤Л ╨╜╨╡ ╨┐╤А╨░╨▓╨╕╨╗╤М╨╜╨╛ ╤А╨░╨▒╨╛╤В╨░╤О╤В, ╨╡╤Б╨╗╨╕ BH ╨╜╨╡ ╤А╨░╨▓╨╡╨╜ ╨╜╤Г╨╗╤О
3       ╨Т╤Л╨▒╤А╨░╤В╤М ╤П╤А╨║╨╛╤Б╤В╤М ╨╕╨╗╨╕ ╨╝╨╡╤А╤Ж╨░╨╜╨╕╨╡

BL,╨▒╨╕╤В7 = 0:╤П╤А╨║╨╛╤Б╤В╤М ╤Д╨╛╨╜╨░ (16 ╨▓╨╛╨╖╨╝╨╛╨╢╨╜╤Л╤Е ╤Ж╨▓╨╡╤В╨╛╨▓ ╤Д╨╛╨╜╨░)
BL,╨▒╨╕╤В7 = 1: ╨╝╨╡╤А╤Ж╨░╨╜╨╕╨╡ (8 ╤Ж╨▓╨╡╤В╨╛╨▓ ╤Д╨╛╨╜╨░ + ╨╝╨╡╤А╤Ж╨░╨╜╨╕╨╡ ╨┐╨╡╤А╨╡╨┤╨╜╨╡╨│╨╛ ╨┐╨╗╨░╨╜╨░)

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡:
╨Э╨╡╨║╨╛╤В╨╛╤А╤Л╨╡ ╨С╨╕╨╛╤Б╤Л ╨╜╨╡ ╨┐╤А╨░╨▓╨╕╨╗╤М╨╜╨╛ ╤А╨░╨▒╨╛╤В╨░╤О╤В, ╨╡╤Б╨╗╨╕ BH ╨╜╨╡ ╤А╨░╨▓╨╡╨╜ ╨╜╤Г╨╗╤О
7       ╨з╤В╨╡╨╜╨╕╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╨┐╨░╨╗╨╕╤В╤А╤Л

BL = ╨╜╨╛╨╝╨╡╤А ╤З╨╕╤В╨░╨╡╨╝╨╛╨│╨╛ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╨┐╨░╨╗╨╕╤В╤А╤Л (0-15).

╨Т╤Л╤Е╨╛╨┤:
BH = ╤Б╨╛╨┤╨╡╤А╨╢╨╕╨╝╨╛╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╨┐╨░╨╗╨╕╤В╤А╤Л.

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡:
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

╨б╤Г╤Й╨╡╤Б╤В╨▓╤Г╨╡╤В ╨╜╨╡╨┤╨╛╨║╤Г╨╝╨╡╨╜╤В╨╕╤А╨╛╨▓╨░╨╜╨╜╨░╤П ╨╛╤Б╨╛╨▒╨╡╨╜╨╜╨╛╤Б╤В╤М ╤Н╤В╨╛╨╣ ╤Д╤Г╨╜╨║╤Ж╨╕╨╕ - ╨▓╨╛╨╖╨╝╨╛╨╢╨╜╤Л ╨╖╨╜╨░╤З╨╡╨╜╨╕╤П ╨▓╤Л╤И╤С 15. ╨┐╨╛╨┤╤А╨╛╨▒╨╜╨╡╨╡ ╨▓ ╨┐╨╛╨┤╤Д╤Г╨╜╨║╤Ж╨╕╨╕ 0
8       ╨з╤В╨╡╨╜╨╕╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╤Ж╨▓╨╡╤В╨░ ╤А╨░╨╝╨║╨╕
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

╨Т╤Л╤Е╨╛╨┤:
BH = ╤Б╨╛╨┤╨╡╤А╨╢╨╕╨╝╨╛╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╤Ж╨▓╨╡╤В╨░ ╤А╨░╨╝╨║╨╕
9       ╨з╤В╨╡╨╜╨╕╨╡ ╨▓╤Б╨╡╤Е ╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ ╨┐╨░╨╗╨╕╤В╤А╤Л
ES:DX - ╤Г╨║╨░╨╖╨░╤В╨╡╨╗╤М ╨╜╨░ 17-╨▒╨░╨╣╤В╨╛╨▓╤Г╤О ╤В╨░╨▒╨╗╨╕╤Ж╤Г.(╤А╨╡╨│╨╕╤Б╤В╤А╤Л ╨┐╨░╨╗╨╕╤В╤А╤Л(╨▒╨░╨╣╤В 0-15) ╨╕ ╤А╨╡╨│╨╕╤Б╤В╤А ╨▒╨╛╤А╨┤╤О╤А╨░ (╨▒╨░╨╣╤В 16))

╨Т╤Л╤Е╨╛╨┤:
╨Я╨╛ ╨░╨┤╤А╨╡╤Б╤Г ES:DX ╤Б╨╛╨┤╨╡╤А╨╢╨╕╤В╤Б╤П ╤В╨░╨▒╨╗╨╕╤Ж╨░, ╨╖╨░╨┐╨╛╨╗╨╜╨╡╨╜╨╜╨░╤П ╨╖╨╜╨░╤З╨╡╨╜╨╕╤П╨╝╨╕ ╨╕╨╖ ╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ ╨┐╨░╨╗╨╕╤В╤А╤Л

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡:
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

╨а╨╡╨║╨╛╨╝╨╡╨╜╨┤╤Г╨╡╤В╤Б╤П ╨╖╨░╨┐╨╛╨╗╨╜╨╕╤В╤М ╤В╨░╨▒╨╗╨╕╤Ж╤Г ╨║╨░╨║╨╕╨╝-╨╗╨╕╨▒╨╛ ╨╕╨╖╨▓╨╡╤Б╤В╨╜╤Л╨╝ ╨▓╨░╨╝ ╨╖╨╜╨░╤З╨╡╨╜╨╕╨╡╨╝, ╤В.╨║. ╤Д╤Г╨╜╨║╤Ж╨╕╤П ╨╜╨╕╨║╨░╨║ ╨╜╨╡ ╤Б╨╛╨╛╨▒╤Й╨░╨╡╤В ╨╛ ╨╜╨╡╤Г╨┤╨░╤З╨╜╨╛╨╝ ╨▓╤Л╨┐╨╛╨╗╨╜╨╡╨╜╨╕╨╕.
10h     ╨г╤Б╤В╨░╨╜╨╛╨▓╨║╨░ ╨╛╨┤╨╜╨╛╨│╨╛ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╨ж╨Р╨Я)
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

BX = ╨╜╨╛╨╝╨╡╤А ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (0-255);
DH = ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╨║╤А╨░╤Б╨╜╨╛╨│╨╛ ╤Ж╨▓╨╡╤В╨░ (6 ╨▒╨╕╤В);
CH = ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╨╖╨╡╨╗╨╡╨╜╨╛╨│╨╛ ╤Ж╨▓╨╡╤В╨░ (6 ╨▒╨╕╤В);
CL = ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╤Б╨╕╨╜╨╡╨│╨╛ ╤Ж╨▓╨╡╤В╨░ (6 ╨▒╨╕╤В).
12h     ╨г╤Б╤В╨░╨╜╨╛╨▓╨║╨░ ╨╜╨╡╤Б╨║╨╛╨╗╤М╨║╨╕╤Е ╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ ╨ж╨Р╨Я)
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

BX = ╨╜╨╛╨╝╨╡╤А ╨┐╨╡╤А╨▓╨╛╨│╨╛ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (0-255);
CX = ╤З╨╕╤Б╨╗╨╛ ╤Г╤Б╤В╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╨╡╨╝╤Л╤Е ╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ (1-256);
ES:DX - ╨░╨┤╤А╨╡╤Б ╨╖╨░╨┐╨╕╤Б╤Л╨▓╨░╨╡╨╝╤Л╤Е ╨┤╨░╨╜╨╜╤Л╤Е. ╨┤╨╛╨╗╨╢╨╡╨╜ ╤Б╨╛╨┤╨╡╤А╨╢╨░╤В╤М cx ╨▒╨╗╨╛╨║╨╛╨▓ ╨┐╨╛ ╤В╤А╨╕ ╨▒╨░╨╣╤В╨░, ╨│╨┤╨╡ ╤Б╤В╨░╤А╤И╨╕╨╣ ╨▒╨░╨╣╤В - ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╨║╤А╨░╤Б╨╜╨╛╨│╨╛ ╤Ж╨▓╨╡╤В╨░, ╤Б╤А╨╡╨┤╨╜╨╕╨╣ - ╨╖╨░╨╗╤С╨╜╨╛╨│╨╛, ╨╝╨╗╨░╨┤╤И╨╕╨╣ - ╤Б╨╕╨╜╨╡╨│╨╛.
13h     ╨Т╤Л╨▒╨╛╤А ╨┐╨╛╨┤╨╝╨╜╨╛╨╢╨╡╤Б╤В╨▓╨░ ╤Ж╨▓╨╡╤В╨╛╨▓
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░
BL = 0  ╨▓╤Л╨▒╨╛╤А ╤А╨╡╨╢╨╕╨╝╨░:
BH = 0 : 4 ╨┐╨╛╨┤╨╝╨╜╨╛╨╢╨╡╤Б╤В╨▓╨░ ╨╕╨╖ 64 ╤Ж╨▓╨╡╤В╨╛╨▓;
BH = 1 : 16 ╨┐╨╛╨┤╨╝╨╜╨╛╨╢╨╡╤Б╤В╨▓ ╨╕╨╖ 16 ╤Ж╨▓╨╡╤В╨╛╨▓;
BL = 1  ╨▓╤Л╨▒╨╛╤А ╨░╨║╤В╨╕╨▓╨╜╨╛╨│╨╛ ╨┐╨╛╨┤╨╝╨╜╨╛╨╢╨╡╤Б╤В╨▓╨░:
BH = ╨╜╨╛╨╝╨╡╤А ╨┐╨╛╨┤╨╝╨╜╨╛╨╢╨╡╤Б╤В╨▓╨░ (0-4 ╨╕╨╗╨╕ 0-15, ╨▓ ╨╖╨░╨▓╨╕╤Б╨╕╨╝╨╛╤Б╤В╨╕ ╨╛╤В ╤Г╤Б╤В╨░╨╜╨╛╨▓╨╛╨║, ╤Б╨┤╨╡╨╗╨░╨╜╨╜╤Л╤Е ╤Б ╨┐╨╛╨╝╨╛╤Й╤М╤О BL=0).

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡:
╨д╤Г╨╜╨║╤Ж╨╕╤П ╨╜╨╡ ╨┐╨╛╨┤╨┤╨╡╤А╨╢╨╕╨▓╨░╨╡╤В╤Б╤П ╨▓ ╨▓╨╕╨┤╨╡╨╛╤А╨╡╨╢╨╕╨╝╨░╤Е ╤Б ╨╜╨╛╨╝╨╡╤А╨╛╨╝ 13h ╨╕╨╗╨╕ ╨▒╨╛╨╗╤М╤И╨╡.
15h     ╨з╤В╨╡╨╜╨╕╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╨ж╨Р╨Я)
BL = ╨╜╨╛╨╝╨╡╤А ╤З╨╕╤В╨░╨╡╨╝╨╛╨│╨╛ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ (0-255).

╨Т╤Л╤Е╨╛╨┤:
DH = ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╨║╤А╨░╤Б╨╜╨╛╨│╨╛ ╤Ж╨▓╨╡╤В╨░ (6 ╨▒╨╕╤В);
CH = ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╨╖╨╡╨╗╨╡╨╜╨╛╨│╨╛ ╤Ж╨▓╨╡╤В╨░ (6 ╨▒╨╕╤В);
CL = ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╤Б╨╕╨╜╨╡╨│╨╛ ╤Ж╨▓╨╡╤В╨░ (6 ╨▒╨╕╤В);

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡:
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

╨Э╨░ ╨╜╨╡╨║╨╛╤В╨╛╤А╤Л╤Е ╤Б╤В╨░╤А╤Л╤Е ╨▒╨╛╨╕╤Б╨░╤Е ╤Д╤Г╨╜╨║╤Ж╨╕╤П ╨╕╨╖╨╝╨╡╨╜╤П╨╡╤В ╨╖╨╜╨░╤З╨╡╨╜╨╕╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ AX
17h     ╨з╤В╨╡╨╜╨╕╨╡ ╨╜╨╡╤Б╨║╨╛╨╗╤М╨║╨╕╤Е ╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ ╨ж╨Р╨Я)
BL = ╨╜╨╛╨╝╨╡╤А ╨┐╨╡╤А╨▓╨╛╨│╨╛ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (0-255);╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (0-255);
CX = ╤З╨╕╤Б╨╗╨╛ ╤Б╤З╨╕╤В╤Л╨▓╨░╨╡╨╝╤Л╤Е ╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ (ES:DX - ╨░╨┤╤А╨╡╤Б ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (CX ╨▒╨╗╨╛╨║╨╛╨▓ ╨┐╨╛ 3 ╨▒╨░╨╣╤В╨░);

╨Т╤Л╤Е╨╛╨┤:
╨Ф╨░╨╜╨╜╤Л╨╡ ╨▓ ╤В╨░╨▒╨╗╨╕╤Ж╨╡ ╨┐╨╛ ╨░╨┤╤А╨╡╤Б╤Г ES:DX.

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

╨в╨░╨▒╨╗╨╕╤Ж╨░ ╤Ж╨▓╨╡╤В╨╛╨▓ ╤Б╨╛╨┤╨╡╤А╨╢╨╕╤В ╨┐╨╛ ╤В╤А╨╕ ╨▒╨░╨╣╤В╨░ ╨╜╨░ ╨╛╨┤╨╕╨╜ ╤А╨╡╨│╨╕╤Б╤В╤А ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓. ╨Т ╨║╨░╨╢╨┤╨╛╨╝ ╨▒╨░╨╣╤В╨╡ ╨╖╨╜╨░╤З╨░╤Й╨╕╨╝╨╕╨╕ ╤П╨▓╨╗╤П╤О╤В╤Б╤П ╤В╨╛╨╗╤М╨║╨╛ ╨╝╨╗╨░╨┤╤И╨╕╨╡ 6 ╨▒╨╕╤В. ╨б╤В╨░╤А╤И╨╕╨╣ ╨▒╨░╨╣╤В - ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╨║╤А╨░╤Б╨╜╨╛╨│╨╛ ╤Ж╨▓╨╡╤В╨░, ╤Б╤А╨╡╨┤╨╜╨╕╨╣ - ╨╖╨░╨╗╤С╨╜╨╛╨│╨╛, ╨╝╨╗╨░╨┤╤И╨╕╨╣ - ╤Б╨╕╨╜╨╡╨│╨╛.
18h     ╨г╤Б╤В╨░╨╜╨╛╨▓╨╕╤В╤М PEL-╨╝╨░╤Б╨║╤Г
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

BL = ╨Э╨╛╨▓╨╛╨╡ ╨╖╨╜╨░╤З╨╡╨╜╨╕╨╡ PEL
19h     ╨з╨╕╤В╨░╤В╤М PEL-╨╝╨░╤Б╨║╤Г
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

BL = ╨Ч╨╜╨░╤З╨╡╨╜╨╕╨╡ PEL BL = ╨Ч╨╜╨░╤З╨╡╨╜╨╕╨╡ PEL
1Ah     ╨Ю╨┐╤А╨╡╨┤╨╡╨╗╨╡╨╜╨╕╨╡ ╤А╨╡╨╢╨╕╨╝╨░ ╨┐╨╛╨┤╨╝╨╜╨╛╨╢╨╡╤Б╤В╨▓╨░ ╤Ж╨▓╨╡╤В╨╛╨▓
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░


╨Т╤Л╤Е╨╛╨┤:
BL = 0 - ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╤О╤В╤Б╤П 4 ╤Ж╨▓╨╡╤В╨╛╨▓╤Л╤Е ╨┐╨╛╨┤╨╝╨╜╨╛╨╢╨╡╤Б╤В╨▓╨░ ╨┐╨╛ 64 ╤Ж╨▓╨╡╤В╨░;
       1 - ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╤О╤В╤Б╤П 16 ╤Ж╨▓╨╡╤В╨╛╨▓╤Л╤Е ╨┐╨╛╨┤╨╝╨╜╨╛╨╢╨╡╤Б╤В╨▓ ╨┐╨╛ 16 ╤Ж╨▓╨╡╤В╨╛╨▓;
BH - ╨╜╨╛╨╝╨╡╤А ╨┐╨╛╨┤╨╝╨╜╨╛╨╢╨╡╤Б╤В╨▓╨░, ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╨╡╨╝╨╛╨│╨╛ ╨▓ ╨┤╨░╨╜╨╜╤Л╨╣ ╨╝╨╛╨╝╨╡╨╜╤В.
1Bh     ╨г╤Б╤В╨░╨╜╨╛╨▓╨║╨░ ╨┐╨░╨╗╨╕╤В╤А╤Л ╨╕╨╖ ╨│╤А╨░╨┤╨░╤Ж╨╕╨╣ ╤Б╨╡╤А╨╛╨│╨╛ ╤Ж╨▓╨╡╤В╨░
╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨░ VGA-╤Б╨╛╨▓╨╝╨╡╤Б╤В╨╕╨╝╨░╤П ╨▓╨╕╨┤╨╡╨╛╨║╨░╤А╤В╨╛╤З╨║╨░

BX = ╨╜╨╛╨╝╨╡╤А ╨┐╨╡╤А╨▓╨╛╨│╨╛ ╤А╨╡╨│╨╕╤Б╤В╤А╨░ ╤В╨░╨▒╨╗╨╕╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (0-255);╤Ж╤Л ╤Ж╨▓╨╡╤В╨╛╨▓ (0-255);
CX = ╤З╨╕╤Б╨╗╨╛ ╨╝╨╛╨┤╨╕╤Д╨╕╤Ж╨╕╤А╤Г╨╡╨╝╤Л╤Е ╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ (1-256).

╨Я╤А╨╕╨╝╨╡╤З╨░╨╜╨╕╨╡:
╨а╨╡╨│╨╕╤Б╤В╤А ╨┐╨░╨╗╨╕╤В╤А╤Л:
╨▒╨╕╤В╤Л 7 ╨╕ 6 ╨╜╨╡ ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╤О╤В╤Б╤П
╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╨╡╨╝╤Л╨╡ ╨▒╨╕╤В╤Л:
     5 - r
     4 - g
     3 - b
     2 - R
     2 - G
     0 - B
╨Я╨╛ ╨╜╨╡╨║╨╛╤В╨╛╤А╤Л╨╝ ╤Б╨▓╨╡╨┤╨╡╨╜╨╕╤П╨╝, ╤Н╤В╨░ ╤Д╤Г╨╜╨║╤Ж╨╕╤П ╤А╨░╨╖╤А╤Г╤И╨░╨╡╤В ╤Б╨╛╨┤╨╡╤А╨╢╨╕╨╝╨╛╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╨╛╨▓ si, di, bp, sp, bx, ax. ╨в╨░╨║ ╤З╤В╨╛ ╨┐╤А╨╕ ╨╡╨╡ ╨╕╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╨╜╨╕╨╕ ╤Б╨╗╨╡╨┤╤Г╨╡╤В ╤Б╨╛╨▒╨╗╤О╨┤╨░╤В╤М ╨╛╤Б╤В╨╛╤А╨╛╨╢╨╜╨╛╤Б╤В╤М ╨╕ ╨▓ ╤Б╨╗╤Г╤З╨░╨╡ ╨╛╤И╨╕╨▒╨╛╨║ ╤Б╨╛╤Е╤А╨░╨╜╤П╤В╤М ╨╕ ╨╖╨░╤В╨╡╨╝ ╨▓╨╛╤Б╤Б╤В╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╤В╤М ╤Г╨┐╨╛╨╝╤П╨╜╤Г╤В╤Л╨╡ ╤А╨╡╨│╨╕╤Б╤В╤А╤Л
╨Ф╨╛╨║╤Г╨╝╨╡╨╜╤В╨░╤Ж╨╕╤П ╨╜╨░ PhoenixBios (rev 6) ╨╜╨╡ ╨╛╨┐╨╕╤Б╤Л╨▓╨░╨╡╤В ╤Н╤В╤Г ╤Д╤Г╨╜╨║╤Ж╨╕╤О. ╨▓╨╛╨╖╨╝╨╛╨╢╨╜╨╛, ╨╛╨╜╨░ ╨╜╨╡ ╨┐╨╛╨┤╨┤╨╡╤А╨╢╨╕╨▓╨░╨╡╤В╤Б╤П


https://ru.wikipedia.org/wiki/Program_Segment_Prefix

http://neurofox.ru/help/dosmz

https://www.old-games.ru/game/2304.html

dosbox debugger https://www.vogons.org/viewtopic.php?f=39&t=3944