From Ghost: calls to PCIBIOS services

git-svn-id: svn://kolibrios.org@586 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge)
2007-07-23 17:50:42 +00:00
parent 93e2c279ba
commit a4f10b7565
8 changed files with 281 additions and 61 deletions

View File

@@ -1,23 +1,25 @@
$Revision$
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; ;;
;; PCI32.INC ;;
;; ;;
;; 32 bit PCI driver code ;;
;; ;;
;; Version 0.2 December 21st, 2002 ;;
;; ;;
;; Author: Victor Prodan, victorprodan@yahoo.com ;;
;; Credits: ;;
;; Ralf Brown ;;
;; Mike Hibbett, mikeh@oceanfree.net ;;
;; ;;
;; See file COPYING for details ;;
;; ;;
;; PCI32.INC ;;
;; ;;
;; 32 bit PCI driver code ;;
;; ;;
;; Version 0.3 April 9, 2007 ;;
;; Version 0.2 December 21st, 2002 ;;
;; ;;
;; Author: Victor Prodan, victorprodan@yahoo.com ;;
;; Mihailov Ilia, ghost.nsk@gmail.com ;;
;; Credits: ;;
;; Ralf Brown ;;
;; Mike Hibbett, mikeh@oceanfree.net ;;
;; ;;
;; See file COPYING for details ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -108,6 +110,7 @@ pci_make_config_cmd:
; read a register from the PCI config space into EAX/AX/AL
; IN: ah=bus,device+func=bh,register address=bl
; number of bytes to read (1,2,4) coded into AL, bits 0-1
; (0 - byte, 1 - word, 2 - dword)
;***************************************************************************
align 4
@@ -238,6 +241,7 @@ pci_read_reg_err:
; IN: ah=bus,device+func=bh,register address (dword aligned)=bl,
; value to write in ecx
; number of bytes to write (1,2,4) coded into AL, bits 0-1
; (0 - byte, 1 - word, 2 - dword)
;***************************************************************************
align 4
@@ -361,3 +365,118 @@ pci_write_reg_err:
xor eax,eax
dec eax
ret
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
; VendID (2), DevID (2), Revision = 0 (1), Class Code (3), FNum (1), Bus (1)
pci_emu_dat: times 30*10 db 0
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
align 4
sys_pcibios:
cmp [pci_access_enabled], 1
jne .unsupported_func
mov edi, [pci_bios_entry]
test edi, edi
jz .emulate_bios
xchg ebx, eax
xchg ecx, eax
xchg edx, eax
xchg esi, eax
mov edi, eax
push ds
mov ax, pci_data_sel
mov ds, ax
mov eax, ebp
call pword [cs:pci_bios_entry]
pop ds
jmp .return
;-=-=-=-=-=-=-=-=
.emulate_bios:
cmp ebp, 1 ; PCI_FUNCTION_ID
jnz .not_PCI_BIOS_PRESENT
mov edx, 'PCI '
xor ah, ah
mov al, [OS_BASE+0x2F0000 + 0x9020]
mov bx, [OS_BASE+0x2F0000 + 0x9022]
mov cl, [OS_BASE+0x2F0000 + 0x9021]
jmp .return
.not_PCI_BIOS_PRESENT:
cmp ebp, 2 ; FIND_PCI_DEVICE
jne .not_FIND_PCI_DEVICE
mov esi, pci_emu_dat
..nxt: cmp [esi], cx
jne ..no
cmp [esi + 2], bx
jne ..no
dec dx
jns ..no
mov bx, [esi + 4]
xor ah, ah
jmp .return
..no: cmp word[esi], 0
je ..dev_not_found
add esi, 10
jmp ..nxt
..dev_not_found:
mov ah, 0x86 ; DEVICE_NOT_FOUND
jmp .return
.not_FIND_PCI_DEVICE:
cmp ebp, 3 ; FIND_PCI_CLASS_CODE
jne .not_FIND_PCI_CLASS_CODE
mov esi, pci_emu_dat
shl ebx, 8
..nxt2: cmp [esi], ebx
jne ..no2
mov bx, [esi]
xor ah, ah
jmp .return
..no2: cmp dword[esi], 0
je ..dev_not_found2
add esi, 10
jmp ..nxt2
..dev_not_found2:
mov ah, 0x86 ; DEVICE_NOT_FOUND
jmp .return
.not_FIND_PCI_CLASS_CODE:
cmp ebp, 8 ; READ_CONFIG_*
jb .not_READ_CONFIG
cmp ebp, 0x0A
ja .not_READ_CONFIG
mov ebx, esi
mov bh, al
mov edx, ebp
mov al, dl
call pci_read_reg
mov ecx, eax
xor ah, ah ; SUCCESSFUL
jmp .return
.not_READ_CONFIG:
cmp ebp, 0x0B ; WRITE_CONFIG_*
jb .not_WRITE_CONFIG
cmp ebp, 0x0D
ja .not_WRITE_CONFIG
mov ecx, ebx
mov ebx, esi
mov bh, al
mov edx, ebp
inc edx
mov al, dl
call pci_write_reg
xor ah, ah ; SUCCESSFUL
jmp .return
.not_WRITE_CONFIG:
.unsupported_func:
mov ah, 0x81 ; FUNC_NOT_SUPPORTED
.return:mov dword[esp + 8 ], edi
mov dword[esp + 12], esi
mov dword[esp + 24], ebx
mov dword[esp + 28], edx
mov dword[esp + 32], ecx
mov dword[esp + 36], eax
ret

View File

@@ -6,6 +6,7 @@ $Revision$
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
dpl0 equ 10010000b ; data read dpl0
drw0 equ 10010010b ; data read/write dpl0
drw3 equ 11110010b ; data read/write dpl3
cpl0 equ 10011010b ; code read dpl0

View File

@@ -196,7 +196,7 @@ iglobal
dd user_events ; 54-User events
dd sound_interface ; 55-Sound interface
dd undefined_syscall ; 56-reserved
dd undefined_syscall ; 57-reserved
dd sys_pcibios ; 57-reserved
dd file_system ; 58-Common file system interface
dd undefined_syscall ; 59-reserved
dd sys_IPC ; 60-Inter Process Communication

View File

@@ -4,10 +4,10 @@ $Revision$
flm db 0
preboot_lfb db 0
preboot_bootlog db 0
bx_from_load: dw 'r1' ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> bx ; {SPraid}[13.03.2007]
; a,b,c,d - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, r - <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; # <20><><EFBFBD><EFBFBD><EFBFBD>... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><><EFBFBD><EFBFBD>. '1', <20> <20><> 1
boot_drive db 0
bx_from_load: dw 'r1' ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> bx ; {SPraid}[13.03.2007]
; a,b,c,d - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, r - <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; # <20><><EFBFBD><EFBFBD><EFBFBD>... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><><EFBFBD><EFBFBD>. '1', <20> <20><> 1
align 4
old_ints_h:

View File

@@ -117,6 +117,8 @@ syslang dd 1
boot_y dd 10
pci_bios_entry dd 0
dw pci_code_sel
if __DEBUG__ eq 1
include_debug_strings
@@ -164,6 +166,24 @@ app_data_l:
db drw3
dw G32+D32+(new_app_base shr 16)+0xF;
; ------------- PCI BIOS ------------------
pci_code_32:
dw 0 ;lim 0-15
dw 0 ;base 0-15
db 0 ;base 16-23
db cpl0 ;type
db D32 ;lim 16-19+props
db 0 ;base 24-31
pci_data_32:
dw 0 ;lim 0-15
dw 0 ;base 0-15
db 0 ;base 16-23
db dpl0 ;type
db D32 ;lim 16-19+props
db 0 ;base 24-31
; --------------- APM ---------------------
apm_code_32:
dw 0x0f ; limit 64kb

View File

@@ -41,7 +41,7 @@
* esi = 0xXYRRGGBB - 梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* RR, GG, BB <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> ᠬ 梥<>
* Y=0 - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, Y=1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD><EFBFBD>
* X <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: X=0 - <20><><EFBFBD> <20><EFBFBD><E0A0A4><EFBFBD><EFBFBD><EFBFBD>,
* X <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: X=0 - <20><><EFBFBD> <20><EFBFBD><E0A0A4><EFBFBD><EFBFBD><EFBFBD>,
X=8 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A4><EFBFBD><EFBFBD>,
<20><><EFBFBD> <20><><EFBFBD><EFBFBD> <> II X=4 - <20><><EFBFBD><EFBFBD><EFBFBD><E2A8A2><EFBFBD> <20><EFBFBD><E0A0A4><EFBFBD><EFBFBD>
* <20><><EFBFBD><20><><EFBFBD><EFBFBD><E7A5AD> X <20> Y <20><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD>
@@ -67,7 +67,7 @@
<20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> (<28><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>) <20><><EFBFBD><EFBFBD><E2A0A5><EFBFBD> <20><EFBFBD>, <20> <20><20> <20><><EFBFBD>
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 ࠧ<><E0A0A7><EFBFBD> (<28><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>)
<20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E0A0A7><EFBFBD> <20><><EFBFBD>.
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>稬 xpos,ypos,xsize,ysize - <20><><EFBFBD><EFBFBD><E7A5AD>, <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20> ebx,ecx. <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><EFBFBD><E0A8A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E5ADA5>
<> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ⠪<><E2A0AA> <20><><EFBFBD><E0A0A7>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (0,0), <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD>
@@ -675,7 +675,7 @@
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A8A2><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 7.
======================================================================
<20><EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪⮢ <20> ᥪ㭤<E1A5AA>.
<20><EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪⮢ <20> ᥪ㭤<E1A5AA>.
======================================================================
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>묨 ⠪⠬<E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2A0A8><EFBFBD><EFBFBD>
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 hlt).
@@ -696,7 +696,7 @@
* eax = ⠪⮢<E2A0AA><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2^32 ⠪⮢ = 4<><34><EFBFBD>)
======================================================================
<20><EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 6 - <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><><E0A0AC><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD> <20><>᪥.
<20><EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 6 - <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><><E0A0AC><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD> <20><>᪥.
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 18 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
@@ -786,7 +786,7 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><20><EFBFBD><E0A5AD> <20>㭪樨 9 <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><E0A0A7><EFBFBD><EFBFBD>.
* <20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E5AEA4> <20><><EFBFBD> <20><><EFBFBD><E2A8A2><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E5AEA4> <20><><EFBFBD> <20><><EFBFBD><E2A8A2><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 3.
* <20><><EFBFBD><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><><E1A2AE><EFBFBD><E7A8A2><EFBFBD>/ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><E7A8A2><EFBFBD><> <20><><EFBFBD><EFBFBD>:
<><E1A2AE><EFBFBD><E7A8A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -1039,7 +1039,7 @@ dd 533
* eax = 0 - <20>ᯥ譮
* eax = 1 - <20><> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 21.
======================================================================
@@ -1055,7 +1055,7 @@ dd 533
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3A4AE><EFBFBD><EFBFBD><E2A2AE><EFBFBD><EFBFBD> <20><EFBFBD><E1ABAE><EFBFBD><EFBFBD> 0x100<=ecx<=0xFFFF.
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><><E0A0A1><EFBFBD> <20>㭪樨 20.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 26.
======================================================================
@@ -1085,7 +1085,7 @@ dd 533
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD>, <20><>᫥ 祣<> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2A0A5><EFBFBD> 0x60;
<20><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD>.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 2 <20>㭪樨 26.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<><E1A0AC> <20><><20><> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @panel <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD>
@@ -1103,7 +1103,7 @@ dd 533
* eax = 0
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><EFBFBD> CD <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> 24.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 26.
======================================================================
@@ -1119,7 +1119,7 @@ dd 533
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3A4AE><EFBFBD><EFBFBD><E2A2AE><EFBFBD><EFBFBD> <20><EFBFBD><E1ABAE><EFBFBD><EFBFBD> 0x100<=ecx<=0xFFFF.
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><><E0A0A1><EFBFBD> <20>㭪権 25, 28, 55.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 4 <20>㭪樨 26.
======================================================================
@@ -1157,7 +1157,7 @@ dd 533
* <20><><><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><EFBFBD>
<20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 7 <20>㭪樨 26.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A0AA> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC><><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><E2AAAE> <20><>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A0AA> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC><><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><E2AAAE> <20><>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 8.
======================================================================
@@ -1180,9 +1180,9 @@ dd 533
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 8
<20>㭪樨 26.
* <20><EFBFBD><20><> <20><><EFBFBD>४⭮<E0A5AA><E2ADAE><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᫮ ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᫮ ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 11 <20>㭪樨 18.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A0AA> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2AAAE> <20><>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A0AA> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2AAAE> <20><>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 7.
======================================================================
@@ -1198,7 +1198,7 @@ dd 533
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 55.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 10 <20>㭪樨 26.
======================================================================
@@ -1284,13 +1284,13 @@ dd 533
* ebx = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A8AA><EFBFBD><><E0A0A7><EFBFBD>⪨ (<28> <20><>)
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5A6><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E0A0A9><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A0A9><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><EFBFBD><EBA7AE><EFBFBD>
<20>㭪樨 <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
* <20><20><EFBFBD> ⮫쪮 ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD>, 楫<><EFBFBD><EFBFBD><E0A0A7><EFBFBD> <20><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD>
<20><EFBFBD><E3ADAA><EFBFBD> 14 <20> <20><><EFBFBD>⮬ ⮣<>, <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD> <20><> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
======================================================================
= <20><EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 13, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 3 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5A6>.
= <20><EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 13, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 3 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5A6>.
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 21 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
@@ -1303,7 +1303,7 @@ dd 533
* eax = 0 - <20>ᯥ譮
* ebx, ecx ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E0A0A9><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A0A9><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><EFBFBD><EBA7AE><EFBFBD>
<20>㭪樨 <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A5A6><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><E2A0A1><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A0A5><EFBFBD>
<20>㭪樥<E3ADAA> <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
@@ -1322,7 +1322,7 @@ dd 533
* eax = 0 - <20>ᯥ譮
* ebx, ecx ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E0A0A9><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A0A9><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><EFBFBD><EBA7AE><EFBFBD>
<20>㭪樨 <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
======================================================================
@@ -1342,7 +1342,7 @@ dd 533
* eax = 0 - <20>ᯥ譮
* ebx, ecx ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E0A0A9><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A0A9><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><EFBFBD><EBA7AE><EFBFBD>
<20>㭪樨 <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
* <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><><E4A8A7><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> (<28><><20><><EFBFBD><EFBFBD><E1A5AB>) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
@@ -1423,7 +1423,7 @@ dd 533
* eax = 0 - <20>ᯥ譮
* eax = 1 - <20><> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
* <20> ᥪ㭤<E1A5AA> 75 <20><EFBFBD><E0A5A9><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 60 ᥪ㭤.
* <20><EFBFBD><E3ADAA><EFBFBD> <20><EFBFBD><EFBFBD><E0AEAD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E7A0AB><EFBFBD>
@@ -1444,7 +1444,7 @@ dd 533
* <20><><EFBFBD><><E2A0A1><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E0ACA0> <20> <20><><EFBFBD><E0AEA6><EFBFBD><><E2A0AA> <20><>, <20><><EFBFBD> <20> <20><><EFBFBD>
ATAPI-CD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 43h (READ TOC), <20><><EFBFBD><EFBFBD><><E2A0A1><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 00h).
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0ACA0> MSF.
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
* <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0ACA0><EFBFBD> ⮫쪮 <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 祬 100
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEA6><EFBFBD>. <20> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮.
@@ -1459,7 +1459,7 @@ dd 533
* eax = 0 - <20>ᯥ譮
* eax = 1 - <20><> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
======================================================================
@@ -1477,7 +1477,7 @@ dd 533
* eax = 1 - <20><> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB
* eax = 2 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 4 <20>㭪樨 21.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A0AA> <20><EFBFBD><E3ADAA><EFBFBD> 28
<20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> SB16.
@@ -1491,7 +1491,7 @@ dd 533
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* eax = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 21.
======================================================================
@@ -1524,7 +1524,7 @@ dd 533
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD>, <20><>᫥ 祣<> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2A0A5><EFBFBD> 0x60;
<20><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD>.
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 2 <20>㭪樨 21.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<><E1A0AC> <20><><20><> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @panel <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD>
@@ -1644,7 +1644,7 @@ dd 533
* eax = 0/1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> LBA-<2D><EFBFBD><E2A5AD> (<28><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 8 <20>㭪樨 58).
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 11 <20>㭪樨 21.
======================================================================
@@ -1659,7 +1659,7 @@ dd 533
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E0A0A1><EFBFBD> <20><><E8A8AD> PCI (<28><EFBFBD><E3ADAA><EFBFBD> 62).
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><20><><EFBFBD> ecx.
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 12 <20>㭪樨 21.
======================================================================
@@ -1676,7 +1676,7 @@ dd 533
* eax = 1 - <20><> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB
* eax = 2 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樨 4 <20>㭪樨 21.
* <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><EFBFBD><E0A5A4><EFBFBD><E2A0A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD>,
<20><EFBFBD><E3ADAA><EFBFBD> 25.
@@ -1913,7 +1913,7 @@ dd 533
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* eax = [<5B><><EFBFBD>]*65536 + [<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E0A0A7>஢ 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> -
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><><E0A0A7>஢ 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> -
<20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 1 <20>㭪樨 15. <20><><20><><EFBFBD><EFBFBD>ன, ࠧ㬥<E0A0A7><E3ACA5><EFBFBD><EFBFBD>, ᫥<><E1ABA5><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>.
@@ -1932,7 +1932,7 @@ dd 533
* <20><><><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> <20> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><E0ADAE>
ᬥ饭<E1ACA5><E9A5AD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
* <20><><EFBFBD><EFBFBD><E9A5AD> <20><><20> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD> (x,y) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (x+y*xsize)*3.
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><20><><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> -
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><20><><><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD> -
<20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 2 <20>㭪樨 15.
======================================================================
@@ -1945,7 +1945,7 @@ dd 533
* eax = 1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eax = 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <><E0A5A6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><> -
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <><E0A5A6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><> -
<20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 4 <20>㭪樨 15.
======================================================================
@@ -2079,7 +2079,7 @@ dd 533
<20><><EFBFBD> <20><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><> IRQ.
======================================================================
= <20><EFBFBD><E3ADAA><EFBFBD> 46 - <20><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD>/<2F><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>/<2F><EFBFBD><EBA2AE>.
= <20><EFBFBD><E3ADAA><EFBFBD> 46 - <20><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD>/<2F><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>/<2F><EFBFBD><EBA2AE>.
======================================================================
<EFBFBD> <20><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> in/out (४<><E0A5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A5AC> ᯮᮡ) <20> <20><EFBFBD><EBA7AE><EFBFBD> <20>㭪樨 43
@@ -2171,7 +2171,7 @@ dd 533
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* <20><EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><20><EFBFBD><EBA7AE> <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20>㭪樨 ᫥<><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>
* <20><><20><EFBFBD><EBA7AE> <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20>㭪樨 ᫥<><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 0.
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20>㭪樥<E3ADAA> 8.
@@ -2188,7 +2188,7 @@ dd 533
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* <20><EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><20><EFBFBD><EBA7AE> <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20>㭪樨 ᫥<><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>
* <20><><20><EFBFBD><EBA7AE> <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20>㭪樨 ᫥<><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 0.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E2A0A1><EFBFBD><EFBFBD><><EFA2AD> <20><><EFBFBD><E0A0A7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 3) <20>
@@ -2302,7 +2302,7 @@ dword-
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><> <20><><EFBFBD> y.
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A0AA> <20><EFBFBD><E3ADAA><EFBFBD> 14,
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD>.
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E7A5AD><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E7A5AD><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -
<20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 5.
* <20><><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><E2AEAC><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<E1AEA2><EBA2A0> <20><>࠭, <20><><> <20><><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1A8AC><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
@@ -2426,7 +2426,7 @@ dword-
* <20><><EFBFBD><EFBFBD><EFBFBD> eax = TID - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD>
======================================================================
= <20><EFBFBD><E3ADAA><EFBFBD> 52, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A5A2><EFBFBD> <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
= <20><EFBFBD><E3ADAA><EFBFBD> 52, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A5A2><EFBFBD> <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 52 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
@@ -2451,7 +2451,7 @@ dword-
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 3.
======================================================================
<20><EFBFBD><E3ADAA><EFBFBD> 52, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A5A2><EFBFBD> <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
<20><EFBFBD><E3ADAA><EFBFBD> 52, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E4A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A5A2><EFBFBD> <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 52 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
@@ -2799,7 +2799,7 @@ dword-
* <20><EFBFBD><20><> <20><EFBFBD><E0A0A2><EFBFBD><ECADAE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
======================================================================
<20><EFBFBD><E3ADAA><EFBFBD> 53, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 255 - <20><EFBFBD><E2ABA0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0ACA0><EFBFBD> <20><><EFBFBD><E2A5A2><EFBFBD> <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
<20><EFBFBD><E3ADAA><EFBFBD> 53, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 255 - <20><EFBFBD><E2ABA0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0ACA0><EFBFBD> <20><><EFBFBD><E2A5A2><EFBFBD> <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 53 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
@@ -2916,6 +2916,18 @@ dword-
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0A0A9><EFBFBD> <20><><EFBFBD><EFBFBD>
<20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA8><EFBFBD><EBA2A0><EFBFBD>.
======================================================================
============================ <20><EFBFBD><E3ADAA><EFBFBD> 57 ==============================
====================== <20><EFBFBD> <20><>ࢨᮢ PCIBIOS ========================
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 57
* ebp = ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> al <20><><><E1AFA5><EFBFBD>樨 PCIBIOS
* <20><><EFBFBD><E2A0AB><EFBFBD><EFBFBD><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> <20><><><E1AFA5><EFBFBD>樨 PCIBIOS
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* CF <20><> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD>
* <20><><EFBFBD><E2A0AB><EFBFBD><EFBFBD><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> <20><><><E1AFA5><EFBFBD>樨 PCIBIOS
======================================================================
============== <20><EFBFBD><E3ADAA><EFBFBD> 58 - ࠡ<><E0A0A1><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E2A5AC>. ==============
======================================================================
@@ -3076,8 +3088,8 @@ dword-
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - 512 <20><><EFBFBD><EFBFBD>; <20><><EFBFBD><E2A0A5><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
* <20><><><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>,
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <20><EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20><><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><EFBFBD> LBA-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 11 <20>㭪樨 21. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
* <20><EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20><><EFBFBD><><E0A0A7><EFBFBD><EFBFBD><EFBFBD> LBA-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 11 <20>㭪樨 21. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA7AE><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 11 <20>㭪樨 26.
* LBA-<2D><EFBFBD><E2A5AD> <20><><EFBFBD><E1AAA5> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A8A7><EFBFBD><EFBFBD><E1AAAE> <20><><EFBFBD><EFBFBD><E2AAAE> <20><>᪠;
@@ -3091,7 +3103,7 @@ dword-
<20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯥ宬 (eax=0).
======================================================================
= <20><EFBFBD><E3ADAA><EFBFBD> 58, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 15 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0ACA0><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
= <20><EFBFBD><E3ADAA><EFBFBD> 58, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 15 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0ACA0><EFBFBD> <20><><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 58 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
@@ -3978,7 +3990,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
<20><><20><><EFBFBD><EFBFBD><E1A0AD>).
======================================================================
<20><EFBFBD><E3ADAA><EFBFBD> 69, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 7 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2ABA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<20><EFBFBD><E3ADAA><EFBFBD> 69, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 7 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2ABA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 69 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨

View File

@@ -159,6 +159,69 @@ proc init_page_map
ret
endp
align 4
init_BIOS32:
mov edi, 0xE0000
.pcibios_nxt:
cmp dword[edi], '_32_' ; "magic" word
je .BIOS32_found
.pcibios_nxt2:
add edi, 0x10
cmp edi, 0xFFFF0
je .BIOS32_not_found
jmp .pcibios_nxt
.BIOS32_found: ; magic word found, check control summ
movzx ecx, byte[edi + 9]
shl ecx, 4
mov esi, edi
xor eax, eax
cld ; paranoia
@@: lodsb
add ah, al
loop @b
jnz .pcibios_nxt2 ; control summ must be zero
; BIOS32 service found !
mov ebp, [edi + 4]
mov [bios32_entry], ebp
; check PCI BIOS present
mov eax, '$PCI'
xor ebx, ebx
push cs ; special for 'ret far' from BIOS
call ebp
test al, al
jnz .PCI_BIOS32_not_found
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> PCI BIOS
add ebx, OS_BASE
dec ecx
mov [(pci_code_32-OS_BASE)], cx ;limit 0-15
mov [(pci_data_32-OS_BASE)], cx ;limit 0-15
mov [(pci_code_32-OS_BASE)+2], bx ;base 0-15
mov [(pci_data_32-OS_BASE)+2], bx ;base 0-15
shr ebx, 16
mov [(pci_code_32-OS_BASE)+4], bl ;base 16-23
mov [(pci_data_32-OS_BASE)+4], bl ;base 16-23
shr ecx, 16
and cl, 0x0F
mov ch, bh
add cx, D32
mov [(pci_code_32-OS_BASE)+6], cx ;lim 16-19 &
mov [(pci_data_32-OS_BASE)+6], cx ;base 24-31
mov [(pci_bios_entry-OS_BASE)], edx
; jmp .end
.PCI_BIOS32_not_found:
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pci_emu_dat
.BIOS32_not_found:
.end:
align 4
proc test_cpu
locals

View File

@@ -74,6 +74,8 @@ graph_data equ (3+graph_data_l-gdts)
tss0 equ (tss0_l-gdts)
app_code equ (3+app_code_l-gdts)
app_data equ (3+app_data_l-gdts)
pci_code_sel equ (pci_code_32-gdts)
pci_data_sel equ (pci_data_32-gdts)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -237,6 +239,7 @@ B32:
call test_cpu
bts [cpu_caps-OS_BASE], CAPS_TSC ;force use rdtsc
call init_BIOS32
; MEMORY MODEL
call mem_test
call init_mem
@@ -255,7 +258,9 @@ B32:
jmp pword os_code:high_code
align 4
bios32_entry dd ?
tmp_page_tabs dd ?
use16
org $-0x10000
include "boot/shutdown.inc" ; shutdown or restart