p - p

 

 

pp- p

p IBM PC

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p . .

 

 

 

 

────────────────────────────────────────────────────────────

(C) p- p, 1990

 

p

p

, -

, -

- .

 

 

 

p

1990

 


 

 

- 1 -

 

_Ep_F

 

. . . . . . . . . . . . . . . . . . . . . . . . . 2

. . . . . . . . . . . . . . . . . . . . . . . 3

1. . . . . . . . . . . . . . . . . . . . 5

1.1. BIOS . . . . . . . . . . . . . . . . . . . 5

1.2. BIOS . . . . . . . . . . . . . . . . . . . . 5

1.3. BIOS . . . . . . . . . . . . . . . . . 6

1.4. BIOS . . . . . . . . . . . . . . . . . . . . . 6

2. BIOS . . . . . . . . . . . . . . . . . . . . . 7

2.1. Int 10h - . . . . . . . . . . . . 7

2.2. Int 11h - . . . . . . . . . 46

2.3. Int 12h - . . . . . . . . . . . . . . . . 48

2.4. Int 13h - . . . . . . . . . . . . 49

2.5. Int 14h - RS-232C . . . . . . . . . 67

2.6. Int 15h - . . . . . . . . . . . . . 72

2.7. Int 16h - . . . . . . . . . . 104

2.8. Int 17h - . . . . . . . . . . . 111

2.9. Int 18h - . . . . . . . . . . . 113

2.10. Int 19h - . . . . . . . . . . . . . 114

2.11. Int 1Ah - . . . . . . . . . . . 115

3. , BIOS . . . . . . . . . . . . 123

3.1. , . . 123

3.2. #1 . . . . . . . 127

3.3. #2 . . . . . . . 131

3.4. . . . . . . . . 132

4. BIOS . . . . . . . . . . . . . . . . . . . . . . 139

4.1. . . . . . . . . . . . . . . . 139

4.2. . . . . . . . . . . . . 164

4.3. . . . . . . . . . . . . . . . . . 165

5. . . . . . . . . . . . . . . . . 167

5.1. (POST) . . . . . . . . . 167

5.2. . . . . 170

5.3. . . . . . . . . . . . . . . . . 177

5.4. . . . . . . . . . . . . . . . . 179

6. . . . . . . . . . . . . . . . . . . . . . . 185

6.1. . . . . . . . . . . . . . . . 185

6.2. . . . . . . . . . . . 200

6.3. NETBIOS . . . . . . . . . . . . . . . . 216

7. . . . . . . . . . . . . . . . . . . . . . . . 232

7.1. . . . . . . . . . . . . . . . 232

7.2. . . . . . . . . . . . . . . . . . . 235

7.3. ASCII- - . . . . . . . . . . . . 237

7.4. AT PS/2 . . . . . . . . . . . . 245

. . . . . . . . . . . . . . . . . . . . . . . . 247

p p p . . . . . . . . . . . . 249

 


 

 

- 2 -

 

 

- (BIOS) IBM PC,

IBM PC XT, AT PS/2.

IBM (IBM PC Technical References).

 

,

(, TECH Help!, Norton Guide .).

,

MS-DOS. ,

-,

, , -, -

BIOS .

 

BIOS,

: Microsoft/PC

Mouse LIM/EMS,

NETBIOS.

 

; , ,

, ,

. "" ,

,

.

 

IBM

PC ( )

-

.

 

,

, :

 

620075, . ,

. 81,

- .

. 56-92-54, 56-92-41.

 


 

 

- 3 -

 

 

PC, XT, AT, PCjr, PC Convertible PS/2 -

IBM PC.

,

:

 

PC: 8088, 4.77 ,

5 .

 

PCjr: 8088, .

IBM PC.

.

 

XT: 8088, , 8 .

PC.

 

Turbo PC: ( IBM), PC XT,

8086 V30 NEC, 6

8 . 8 .

 

XT-286: 80286, 8 , 6

( AT 8 ). AT

, PC ,

16- .

 

AT: 80286, 8 , 6 8

.

 

PC Convertible: AT. :

(LCD) , 3.5- ,

.

 

PS/2: IBM. 25 30 -

PC,

, MCGA. 50 60 - 80286, 32-

MicroChannel, ,

VGA. 80 80386.

3.5 .

 

AT-386: , AT,

80386.

 

,

:

 

PC/XT IBM PC XT,

Portable PC

AT IBM PC AT

PS/2 PS/2

 

,

IBM.

 

BIOS XXh e " XXh",


 

 

- 4 -

 

( ) - " ...".

 

,

"h" .

, 256 100h 256.

 

, .

 

.

, ,

:

 

: +, -, *, /, % ( )

: & (), | (), ~ ()

: << >>.

 


 

 

- 5 -

 

1.

1.1. BIOS

 

- (BIOS - Basic Input/Output

System) IBM PC IBM PS/2 -

. BIOS

,

, . .,

-,

. , BIOS

, ,

.

 

BIOS

- ,

. BIOS

, , .

. 5.2.

 

BIOS :

 

- ;

- ;

- .

 

1.2. BIOS

 

BIOS .

BIOS

.

( BIOS),

AH.

 

BIOS Int 10h - Int 1Ah

( . 7.1).

, Int 12h ,

.

 

BIOS

.

,

:

 

MOV AH,1 ; 1 -

MOV CX,HIGH_COUNT ; CX:DX =

MOV DX,LOW_COUNT

INT 1AH ; BIOS,

;

 

:

 

MOV AH,0 ; 0 -

INT 1AH ; BIOS


 

 

- 6 -

 

CX DX.

 

BIOS ,

, .

 

BIOS . 2, ,

BIOS - . 3.

 

1.3. BIOS

 

BIOS - ,

, ,

.

. 4.

 

1.4. BIOS

 

BIOS ,

(, EGA

). IBM

BIOS.

BIOS. IBM BIOS:

 

BIOS

──────────────────────────────────

 

PC 04/24/81

PC 10/19/81

PC 10/27/82

PC XT Portable PC 11/08/82

PC XT 01/10/86

PC XT 05/09/86

PC jr 06/01/83

AT 01/10/84

AT 06/10/85

AT 11/15/85

PC XT-286 04/21/86

PC Convertible 09/13/85

PS/2 Model 30 09/02/86

PS/2 Model 50

PS/2 Model 60

PS/2 Model 80

 

:

1. BIOS

(//), . . .

 

2. PC-

, BIOS

. . . 2.6 5.2 BIOS

.

 


 

 

- 7 -

 

2. BIOS

 

2.1. Int 10h -

 

:

 

─────────────────────────────────────────────────────────────

00h

01h

02h

03h

04h

05h

06h

07h

08h

09h

0Ah

0Bh

0Ch

0Dh

0Eh

0Fh

10h (PCjr, EGA, VGA, MCGA)

11h (EGA, VGA, MCGA)

12h (EGA, VGA, MCGA)

13h ( )

14h (Convertible)

15h (Convertible)

1Ah / (PS/2)

1Bh (PS/2)

1Ch / (VGA)

─────────────────────────────────────────────────────────────

 

. 00h - 0Fh BIOS

( , BIOS

Hercules).

,

(

).

 

2.1.1. 00h -

 

: AH = 00h

AL =

 

:

 

: AL.

, BIOS, . 7.2.

 

.

 

1. BIOS AX,


 

 

- 8 -

 

SP, BP, SI DI.

 

2. .

, . .

(. 06h 07h). PCjr, EGA, VGA, MCGA PC

Convertible ,

AL.

 

3.

( VGA, - .

12h).

 

4. .

 

5. 0, 2 5 RGB-

1, 3 4 . ( )

, 0, 2 5

, . . -.

 

6. 0Fh.

 

7. -

:

 

CGA, PCjr, MCGA - 3;

MDA - 7;

EGA, VGA - 3 7 ;

PC Convertible - 2 7 .

 

8. , 13h:

 

- MCGA 16 ,

240 ;

 

- VGA 64 ,

192 .

 

9. VGA

(200, 350 400) 12h BL=30h.

 

. : Int 10h, 06h

Int 10h, 07h

Int 10h, 0Fh

Int 10h, 12h

 

2.1.2. 01h -

 

: AH = 01h

CH = (0 - 1Fh)

CL = (0 - 1Fh)

 

:

 

: .

CH CL :


 

 

- 9 -

 

──────────────────────────────────────────────────────

CGA 0 - 7 6 - 7

MDA 0 - 13 11 - 12

EGA 0 - 13

VGA 0 - 15

──────────────────────────────────────────────────────

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2.

. CH

CL, , VGA,

; VGA .

 

3. .

 

4. - -

. BIOS ,

5 6 CH ; -

-

.

, ,

- . 02h.

 

5. 03h.

 

6. . . 3 2.1.1.

 

7. PS/2, 30 (MCGA)

: 2*CH 2*CL+1.

 

. : Int 10h, 02h

Int 10h, 03h

 

_E2.1.3. 02h - _F

 

: AH = 02h

BH = (0 - ?)

DH = (0 - 24)

DL = (0 - 39 79)

 

:

 

: BH

.

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 


 

 

- 10 -

 

2. ,

.

 

3.

, .

 

4. , ,

25.

 

5.

(. . 7.2).

.

 

6. -

: 40 80, -

25 30 ( 11h 12h).

 

7. 03h.

 

. : Int 10h, 03h

 

_E2.1.4. 03h - _F

 

: AH = 03h

BH = (0 - ?)

 

: CH = (0 - 1Fh)

CL = (0 - 1Fh)

DH = (0 - 24)

DL = (0 - 39 79)

 

:

BH.

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2. ,

.

 

3.

, .

 

4. (.

01h).

 

5.

(. . 7.2).

.

 

6. 01h,

- 02h.

 


 

 

- 11 -

 

7. MDA Compaq

. MDA CH=6,

CL=7 ( 11 12), Compaq - CH=0, CL=67h

. 01h

.

 

. : Int 10h, 01h

Int 10h, 02h

 

_E2.1.5. 04h - _F

 

: AH = 04h

 

: AH = (0= , 1=)

BX = (0 - 319 639)

CH = (0 - 199)

CX = 0Fh-12h (0-?)

DH = (0 - 24)

DL = (0 - 39 79)

 

:

( ).

,

.

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2. AH=0, PC Convertible PS/2

; , BX, CX

DX . AH=1,

:

.

 

CGA CH

BX, - CX BX.

DH DL.

 

3. : -

2, - 4

320 x 200, 8 640 200.

 

_E2.1.6. 05h - _F

 

: AH = 05h

AL = (0 - ?)

 

:

 

: AL.

 


 

 

- 12 -

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2. .

,

, -

.

 

3.

(. . 7.2).

.

 

4.

0Fh.

 

5. 0.

 

6. PCjr

:

 

: AL = 80h -

 

: AL = 81h -

BL =

 

: AL = 82h -

BH =

 

: AL = 83h -

BL =

BH =

 

:

BL =

BH =

 

. : Int 10h, 0Fh

 

_E2.1.7. 06h - _F

 

: AH = 06h

AL = 0

BH =

CH =

CL =

DH =

DL =

 

:

 

:


 

 

- 13 -

 

. AL=0, (

). ,

, ,

BH.

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2.

.

 

3.

: CGA BH

, ,

,

. EGA

VGA ( !) BH.

 

( 1)

BH=10h,

BH=1 EGA/VGA BH=55h CGA.

 

4. 07h.

 

. : Int 10h, 07h

 

_E2.1.8. 07h - _F

 

: AH = 06h

AL = 0

BH =

CH =

CL =

DH =

DL =

 

:

 

:

. AL=0, (

). ,

, ,

BH.

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2.

.

 

3. BH . . 3 . 2.1.8.


 

 

- 14 -

 

4. 06h.

 

. : Int 10h, 06h

 

_E2.1.9. 08h -

_F

 

: AH = 08h

BH =

 

: AH = ( )

AL = ASCII-

 

:

( ) ,

.

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2. CGA

.

 

3.

,

;

, AL=0. AH

.

 

4.

09h, - 0Ah.

 

. : Int 10h, 09h

Int 10h, 0Ah

 

_E2.1.10. 09h -

_F

 

: AH = 09h

AL = SCII-

BH =

BL = () ()

CX = ( !)

 

:

 

: AL

BL CX .

.

 

.

 

1. BIOS AX,


 

 

- 15 -

 

SP, BP, SI DI.

 

2. CGA

.

 

3. BL

.

, .

 

4. BL

. 7 BL , ,

13h, 2 (XOR)

BL . 13h BL

(0-255), BH - .

,

.

 

5. (. . 20h)

: AL=0Dh

, .

 

6. 4 - 6 128 ASCII

, 128

- ,

Int 1Fh.

256 ASCII .

 

7. () ,

0Ah.

 

. : Int 1Fh

Int 10h, 0Ah

 

_E2.1.11. 0Ah -

_F

 

: AH = 0Ah

AL = SCII-

BH =

CX = ( !)

 

:

 

: AL

CX .

.

 

e. 09h

: () ,

.

 

. : Int 10h, 09h

 


 

 

- 16 -

 

_E2.1.12. 0Bh - _F

 

: AH = 0Bh

BH = (0 1)

BL =

 

:

 

: CGA

.

 

0:

──────────────────────

 

BL = (0 - 31)

 

:

 

- 320 200 ;

- 640 200 (CGA)

;

- 640 200 (EGA/VGA)

;

- ( 16-31 a

).

 

1:

────────────────────────

 

BL = (0 1)

 

320 200, . .

:

 

┌────────────┬───────────────────┬───────────────────┐

│ │ 0 1

├────────────┼───────────────────┼───────────────────┤

0 │ │ │

1

2

3

└────────────┴───────────────────┴───────────────────┘

 

:

 

1. BIOS AX,

SP, BP, SI DI.

 

2. EGA/VGA , . .

,

. 10h, 00h.

 

. : Int 10h, 10h

 


 

 

- 17 -

 

_E2.1.13. 0Ch - _F

 

: AH = 0Ch

AL = (0-15)

CX =

DX =

BH =

 

:

 

:

.

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2. CGA

.

 

3.

(. . 7.2).

 

4. 7 L , ,

13h, 2 (XOR)

AL .

" ".

13h AL 0 255.

 

5.

.

 

. : Int 10h, 0Dh

 

_E2.1.14. 0Dh - _F

 

: AH = 0Dh

CX =

DX =

BH =

 

: AL =

 

:

.

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2. CGA

.

 


 

 

- 18 -

 

3.

(. . 7.2).

 

4.

.

 

. : Int 10h, 0Ch

 

_E2.1.15. 0Eh - _F

 

: AH = 0Eh

AL =

BL = ( )

BH = (. )

 

:

 

:

(

,

).

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2.

.

BL.

 

3. PC (BIOS 04/24/81 10/19/81)

BH .

 

4.

:

 

07h - ;

08h - ;

0Ah - ();

0Dh - ().

 

_E2.1.16. 0Fh - _F

 

: AH = 0Fh

 

: AL =

AH =

BH =

 

: .

 


 

 

- 19 -

 

.

 

1. BIOS AX,

SP, BP, SI DI.

 

2. . 7.2.

 

3. 00h,

- 05h.

 

. : Int 10h, 00h

Int 10h, 05h

 

_E2.1.17. 10h -

(PCjr, EGA, VGA, MCGA)_F

 

: AH = 10h

AL = :

00h -

01h -

02h -

03h -

07h - (VGA)

08h - (VGA)

09h - (VGA)

10h - (VGA, MCGA)

12h - (VGA, MCGA)

13h - (VGA)

15h - (VGA, MCGA)

17h - (VGA, MCGA)

1Ah - (VGA)

1Bh - (VGA, MCGA)

-

 

:

 

: ,

EGA, VGA, MCGA PCjr. 00h -

03h ,

13h, . .

(-

) VGA. 07h - 1Bh

VGA , , MCGA.

 

EGA PCjr 16 1

(overscan). VGA , , 256 ,

6- ,

, .

 

MCGA , .

 


 

 

- 20 -

 

00h:

──────────────────────────────────────

 

: BL = (0 - 15)

BH =

 

:

 

: .

16

:

 

7 6 5 4 3 2 1 0

┌─┬─┬──┬──┬──┬──┬──┬──┐

│X│X│r │g │b │R │G │B │ :

└─┴─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ────

└──> 0: 2/3

└─────> 1: 2/3

└────────> 2: 2/3

└───────────> 3: 1/3

( MGA)

└──────────────> 4: 1/3

( MGA)

└─────────────────> 5: 1/3

 

, BH=02h , BH=10h - -,

BH=12h - - .

 

CGA:

 

┌─────────────────────────────┬──────────────────────────────┐

├─────────────────────────────┼──────────────────────────────┤

0 00h 8 38h

1 01h 9 39h -

2 02h 10 3Ah -│

3 03h 11 3Bh

4 04h 12 3Ch

5 05h 13 3Dh

6 14h 14 3Eh

7 07h -│ 15 3Fh

└─────────────────────────────┴──────────────────────────────┘

 

: MCGA BX=0712h,

,

.

 

01h:

───────────────────────────────

 

: BH =

 

:

 

: ,


 

 

- 21 -

 

, .

0.

 

: EGA

NNN x 200. MCGA .

 

02h:

──────────────────────────────────────

 

: ES:BX =

 

:

 

:

. ES:BX

17 ; 16

, 17- - . MCGA

.

 

03h:

────────────────────────────────────

 

: BL = 0 -

1 -

 

:

 

: 7

. : BL=1

, BL=0 - .

 

07h:

──────────────────────────────────────

 

: BL = (0 - 15)

 

: BH =

 

:

. MCGA .

 

08h:

───────────────────────────────

 

:

 

: BH =

 

: . MCGA

.

 


 

 

- 22 -

 

09h:

──────────────────────────────────────

 

: ES:BX = 17-

 

:

 

:

. ES:BX 17

; 16 ,

17- - . MCGA

.

 

10h:

────────────────────────────────────

 

: BX = (0-255)

CH = (0-3Fh)

CL = (0-3Fh)

DH = (0-3Fh)

 

:

 

:

.

 

12h:

───────────────────────────────────────

 

: BX =

CX =

ES:BX =

 

:

 

: CX

, BX.

: ,

, .

 

13h:

─────────────────────────────────

 

: BL = 0 - :

BH = 0 - 4 64 ;

1 - 16 16 .

 

BL = 1 - :

BL = (0-3 0-15)

 

:

 

: BL=0

. BL=1

.


 

 

- 23 -

 

:

 

1. 13h.

 

2. 00h ( ) 4

64 .

-

.

 

3. MCGA .

 

15h:

────────────────────────────────────

 

: BX = (0-255)

 

: CH = (0-3Fh)

CL = (0-3Fh)

DH = (0-3Fh)

 

:

.

 

17h:

───────────────────────────────────────

 

: BX =

CX =

ES:BX =

 

:

 

: ES:BX CX

, BX.

:

, , .

 

1Ah:

─────────────────────────────────

 

:

 

: BL = (0 1)

BH = (0-3 0-15)

 

:

(. 13h). MCGA

.

 


 

 

- 24 -

 

1Bh:

──────────────────────────────

 

: BX =

CX =

 

:

 

:

. CX ,

BX, :

,

 

30% + 59% + 11%

 

.

.

 

_E2.1.18. 11h -

(EGA, VGA, MCGA)_F

 

: AH = 11h

AL = :

00h -

01h - 8 x 14

02h - 8 x 8

03h -

04h - 8 x 16 (VGA, MCGA)

10h -

11h - 8 x 14

12h - 8 x 8

14h - 8 x 16 (VGA, MCGA)

20h -

Int 1Fh

21h -

Int 43h

22h - 8 x 14

23h - 8 x 8

24h - 8 16 (VGA, MCGA)

30h -

-

 

:

 

: ,

EGA, VGA MCGA.

VGA , MCGA -

, 10h-14h 00h-04h, EGA

, 04h, 14h, 24h.

 


 

 

- 25 -

 

00h:

────────────────────────────────────────────────

 

: ES:BP =

CX =

DX = ASCII-

BL = (0-3 0-7)

BH = (8, 14 16)

 

:

 

: -

. ES:BP

8 x n, n BH.

CX, -

DX. , (256

) DX=0, CX=256.

 

.

 

1. ,

.

 

2. 64 EGA

. EGA

(256K) 4 (0 - 3).

 

3. VGA 8 (0 - 7),

MCGA - 4 (0 - 3).

 

01h: 8 x 14

─────────────────────────────────────────

 

: BL = (0-7)

 

:

 

:

8 14 -

. . 00h.

 

02h: 8 x 8

───────────────────────────────────────

 

: BL = (0-7)

 

:

 

:

8 8 . .

00h.

 


 

 

- 26 -

 

03h:

───────────────────────

 

: BL =

 

:

 

:

, .

3 . :

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X X │ │ :

└──┴──┴┬─┴┬─┴──┼──┴──┼──┘ ────

└──> 0-1: , 3=0

└────────> 2-3: , 3=1

└─────────────> 4: , 3=0

└────────────────> 5: , 3=1

 

. 0, 1 4 ( VGA)

, , 3-

0; 2, 3 5 ( VGA) - ,

, 3- 1.

, 3

.

 

.

 

1.

.

 

2. IBM

:

 

mov ax,1000h

mov bx,0712h

int 10h

 

EGA/VGA

.

 

04h: 8 x 16

────────────────────────────────────────

 

: BL = (0-3)

 

:

 

:

8 16 . .

00h.

 


 

 

- 27 -

 

10h:

11h: 8 x 14

12h: 8 x 8

14h: 8 x 16

────────────────────────────────────────────────

 

: 00h - 04h,

, :

 

- 0;

- -

;

- -

, :

 

1. n = .

 

[(200 350) / n] -1.

 

2.

 

x x 2

 

3. :

 

R9 = n - 1

R10 = n - 2

R11 = n - 1

R12 = x n x 2 - 1 - CGA

x n -1 -

R14 = n - 1 - 7

 

 

20h:

Int 1Fh

────────────────────────────────────────────────

 

: ES:BP =

 

:

 

: Int 1Fh

. ES:BP

, 8 8

ASCII 128 - 255 ( - 8 128 = 2048 ).

 


 

 

- 28 -

 

21h:

Int 43h

────────────────────────────────────────────────

 

: ES:BP =

CX =

BL = :

0 -

1 - 14

2 - 25

3 - 43

DL = BL=0

 

:

 

: Int 43h

. ES:BP

, 256

8 8 ( - 8 x 256 = 4096 ).

 

22h: 8 x 14

────────────────────────────────────────

 

: BL = :

0 -

1 - 14

2 - 25

3 - 43

DL = BL=0

 

:

 

: Int 43h

(8 14),

.

 

23h: 8 x 8

────────────────────────────────────────

 

: BL = :

0 -

1 - 14

2 - 25

3 - 43

DL = BL=0

 

:

 

: Int 43h

8 8, .

 


 

 

- 29 -

 

24h: 8 16

────────────────────────────────────────

 

: BL = :

0 -

1 - 14

2 - 25

3 - 43

DL = BL=0

 

:

 

: Int 43h

8 16, .

 

 

30h:

─────────────────────────────────────────

 

: BH = :

0 - Int 1Fh

1 - Int 43h

2 - 814

3 - 88

4 - 88

( 128 )

5 -

914

6 - 816

7 -

916

 

: ES:BP =

CX =

DL = - 1

 

:

.

 

_E2.1.19. 12h - (EGA, VGA, MCGA)_F

 

: AH = 12h

BL = :

10h - EGA/VGA (EGA, VGA)

20h -

(EGA, VGA)

30h -

(VGA)

31h - (VGA, MCGA)

32h - (VGA, MCGA)

33h - (VGA, MCGA)

34h - (VGA)

35h - (VGA, MCGA)

36h - (VGA)

-


 

 

- 30 -

 

:

 

:

EGA, VGA MCGA. 10h 20h

EGA VGA; 30h, 34h 36h - VGA, 31h, 32h, 33h 35h -

VGA MCGA.

 

10h: EGA/VGA

───────────────────────────────────────

 

:

 

: BH = :

0 - ( 3DXh)

1 - ( 3BXh)

BL = :

0 - 64K

1 - 128K

2 - 192K

3 - 256K

CH = (feature bits):

0 = FEAT0 ( 19);

1 = FEAT1 ( 17);

2-7 - .

CL = DIP- (. )

 

: EGA

VGA . CL

:

 

0Fh MDA

EGA 4025

 

0Eh MDA

EGA 8025

 

0Dh MDA

EGA ( CGA)

 

0Ch MDA

EGA ( EGA)

 

0Bh CGA 4025

EGA

 

0Ah CGA 8025

EGA

 

09h EGA 40x25

MDA

 

08h EGA 80x25

MDA

 

07h EGA ( CGA)


 

 

- 31 -

 

MDA

 

06h EGA ( EGA)

MDA

 

05h EGA

CGA 4025

 

04h EGA

CGA 8025

 

03h - 00h

 

: VGA DIP-,

.

 

20h:

──────────────────────────────────────────────────

 

:

 

:

 

:

PrtSc

.

.

 

. : Int 05h

 

30h:

─────────────────────────────────────────────────────────

 

: AL = :

0 - 200 ;

1 - 350 ;

2 - 400 .

 

: AL = 12h, BIOS

 

:

. 00h (

).

 

31h:

────────────────────────────────────

 

: AL = 0 -

1 -

 

: AL = 12h, BIOS

 

: AL=0,

, ;


 

 

- 32 -

 

AL=1,

. ,

.

 

. : Int 10h, 10h

 

32h:

──────────────────────────────────

 

: AL = 0 -

1 -

 

: AL = 12h, BIOS

 

: -

, .

 

33h:

────────────────────────────────────

 

: AL = 0 -

1 -

 

: AL = 12h, BIOS

 

:

. ,

00h ( ) 10H

( ).

 

. : Int 10h, 10h, 1Bh

 

34h:

───────────────────────────────────────

 

: AL = 0 -

1 -

 

: AL = 12h, BIOS

 

: .

, , 01h,

.

.

 

35h:

───────────────────────────────

 

: AL = (. )

-

 

: AL = 12h, BIOS

 

: BIOS,


 

 

- 33 -

 

, BIOS,

. ,

BIOS ().

, BIOS 32h (

). (

AL):

 

0 - BIOS ;

ES:DI (

128 );

1 - BIOS ;

2 - ;

ES:DI (

128 );

3 - ;

ES:DX

.

 

. -

BIOS . BIOS

:

 

- AL=0;

- AL=1;

 

BIOS BIOS

AL=2 AL=3.

 

36h:

─────────────────────────────

 

: AL = 0 -

1 -

 

: AL = 12h, BIOS

 

:

. ,

.

 

_E2.1.20. 13h - ( )_F

 

: AH = 13h

AL = :

00h -

01h -

02h -

03h -

-

 

:

 

:

, .

 


 

 

- 34 -

 

.

 

1. XT, 01/19/86

, AT, PC Convertible, PS/2 EGA,

VGA MCGA.

 

2. BIOS

AX, SP, BP, SI DI.

 

3. -

:

 

07h - ;

08h - ;

0Ah - ();

0Dh - ().

 

00h:

───────────────────────────────────────────────────────

 

: BH =

BL =

CX =

DH =

DL =

ES:BP =

 

:

 

: CX ES:BP

(DH, DL).

BL. .

 

01h:

───────────────────────────────────────────────────────

 

: BH =

BL =

CX =

DH =

DL =

ES:BP =

 

:

 

: CX ES:BP

(DH, DL).

BL.

.

 


 

 

- 35 -

 

02h:

──────────────────────────────────────────────────

 

: BH =

CX =

DH =

DL =

ES:BP =

 

:

 

: CX ES:BP

(DH, DL).

(, ).

.

 

03h:

──────────────────────────────────────────────────

 

: BH =

CX =

DH =

DL =

ES:BP =

 

:

 

: CX ES:BP

(DH, DL).

(, ). -

.

 

_E2.1.21. 14h -

(PC Convertible)_F

 

: AH = 14h

AL = :

00h -

01h -

02h -

-

 

:

 

: , PC Convertible,

(LCD) .

 


 

 

- 36 -

 

00h:

───────────────────────────────────────────

 

: ES:DI =

CX = (1 - 256)

DX = ASCII-

BL = :

0 -

1 -

BH = (1 - 255)

 

:

 

:

.

- .

ES:DI 8 x n,

n BH. CX,

- DX. , -

(256 ) DX=0,

CX=256.

 

01h:

─────────────────────────────────

 

: BL = :

0 -

1 -

 

:

 

:

, . BL,

- .

 

02h:

───────────────────────────────────────

 

: BL = :

0 - ;

1 - ;

2 - ;

3 -

(0 - , 1 - )

 

:

 

: ( 4

) .

,

.

 


 

 

- 37 -

 

_E2.1.22. 15h -

(PC Convertible)_F

 

: AH = 15h

 

: AX = :

00h -

5140h -

5153h - CGA

5151h -

ES:DI = 7-

 

:

:

 

────────────────────────────────────────────────────────────────

────────────────────────────────────────────────────────────────

┌────────┐

+00h 2

├────────┤

+02h 2

├────────┤

+04h 2

├────────┤

+06h 2

├────────┤

+08h 2

├────────┤

+0Ah 2

├────────┤

+0Ch 2

└────────┘

0Eh

────────────────────────────────────────────────────────────────

 

:

 

─────────────────────────────────────────────────────────

CGA

─────────────────────────────────────────────────────────

1 5151h 5153h 5140h 5140h

2 0 0498h 08E1h 0

3 0 0A15h 0987h 0

4 0 00C8h 00C8h 0

5 0 0280h 0280h 0

6 0 0352h 0172h 0

7 0 0184h 0172h 0

─────────────────────────────────────────────────────────

 

. PC Convertible

6 7

(01B8h 019Ah). . .


 

 

- 38 -

 

_E2.1.23. 1Ah - /

(PS/2)_F

 

: AH = 1Ah

AL = :

00h -

01h -

-

 

:

 

: PS/2

,

(DCC). DCC - ,

:

 

00h -

01h - 5151 ()

02h - CGA 5153/4 ()

03h -

04h - EGA 5153/4 ()

05h - EGA 5151 ()

06h - PGA 5175 ()

07h - VGA

08h - VGA

09h -

0Ah -

0Bh - MCGA

0Ch - MCGA

0Dh-FEh -

FFh -

 

00h:

──────────────────────────────────────────

 

:

 

: AL = 1Ah, BIOS

BL = DCC

BH = DCC

 

: DCC ( )

. AL 1Ah,

BIOS .

 

01h:

──────────────────────────────────────────

 

: BL = DCC

BH = DCC

 

: AL = 1Ah, BIOS

 

: DCC

. AL 1Ah, BIOS


 

 

- 39 -

 

.

 

_E2.1.24. 1Bh - (PS/2)_F

 

: AH = 1Bh

BX = 00h

ES:DI = 64

 

: AL = 1Bh, BIOS

ES:DI = ,

 

: , PS/2,

:

 

────────────────────────────────────────────────────────────────

────────────────────────────────────────────────────────────────

┌────────┬────────┐

+00h 4 ││ │ A

├────┬───┴────────┘

+04h 1

├────┴───┐

+05h 2

├────────┤

+07h 2

├────────┤

+09h 2

├────────┤

+0Bh 2 0

├────────┤ (, )

+0Dh 2 1

├────────┤ (, )

+0Fh 2 2

├────────┤ (, )

+11h 2 3

├────────┤ (, )

+13h 2 4

├────────┤ (, )

+15h 2 5

├────────┤ (, )

+17h 2 6

├────────┤ (, )

+19h 2 7

├────────┤ (, )

+1Bh 2

├────────┤

+1Dh 2

├────────┤

+1Eh 2

├────┬───┘ (3B8h - , 3D8h - )

+20h 1 . 3x8h

└────┘


 

 

- 40 -

 

────────────────────────────────────────────────────────────────

(p)

────────────────────────────────────────────────────────────────

┌────┐

+21h 1 . 3x9h

├────┤

+22h 1

├────┴───┐

+23h 2 DCC

├────────┤

+25h 2 DCC

├────────┤

+27h 2

├────┬───┘

+29h 1 -

├────┤

+2Ah 1

├────┤ (0=200, 1=350, 2=400, 3=480)

+2Bh 1 (0-255)

├────┤

+2Ch 1 (0-255)

├────┤

+2Dh 1 (. )

├────┼────┬────┐

+2Eh 3

├────┼────┴────┘

+31h 1

├────┤ (0=64K, 1=128K, 2=192K, 3=256K)

+32h 1 (. )

├────┼────┬────┐

+33h 13 │... │

└────┴────┴────┘

40h

────────────────────────────────────────────────────────────────

 

.

 

1.

PS/2, 30. . 11h, 03h.

 

2. :

 

7 6 5 4 3 2 1 0

┌─┬─┬──┬──┬──┬──┬──┬──┐

│X│X│ │ :

└─┴─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ────

└──> 0: 1=" "

└─────> 1: 1=

└────────> 2: 1=

└───────────> 3: 1=

└──────────────> 4: 1=

( 30 0)

└─────────────────> 5: 0= , 1=

 


 

 

- 41 -

 

3. :

 

7 6 5 4 3 2 1 0

┌─┬─┬──┬──┬──┬──┬──┬──┐

│X│X│ │ :

└─┴─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ────

└──> 0: 1=

└─────> 1: 1=

└────────> 2: 1=

└───────────> 3: 1=

└──────────────> 4: 1=

└─────────────────> 5: 1=

 

4.

,

. :

 

────────────────────────────────────────────────────────────────

────────────────────────────────────────────────────────────────

┌────┬────┬────┐

+00h 3

├────┼────┼────┼────┐

+03h 4

├────┼────┴────┴────┘

+07h 1

├────┤

+08h 1

├────┤

+09h 1

├────┤

+0Ah 1 1

├────┤

+0Bh 1 2

├────┼────┐

+0Ch 2

├────┼────┘

+0Eh 1

├────┤

+0Fh 1

└────┘

10h

────────────────────────────────────────────────────────────────

 


 

 

- 42 -

 

.

 

0:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│ : :

└┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ──── ──────

└──> 0: 1= 0 a&01h

└─────> 1: 1= 1 a&02h

└────────> 2: 1= 2 a&04h

└───────────> 3: 1= 3 a&08h

└──────────────> 4: 1= 4 a&10h

└─────────────────> 5: 1= 5 a&20h

└────────────────────> 6: 1= 6 a&40h

└───────────────────────> 7: 1= 7 a&80h

 

1:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│ : :

└┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ──── ──────

└──> 0: 1= 08h a&01h

└─────> 1: 1= 09h a&02h

└────────> 2: 1= 0Ah a&04h

└───────────> 3: 1= 0Bh a&08h

└──────────────> 4: 1= 0Ch a&10h

└─────────────────> 5: 1= 0Dh a&20h

└────────────────────> 6: 1= 0Eh a&40h

└───────────────────────> 7: 1= 0Fh a&80h

 

2:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X │X │X │X │ │ : :

└──┴──┴──┴──┴┬─┴┬─┴┬─┴┬─┘ ──── ──────

└──> 0: 1= 10h a&01h

└─────> 1: 1= 11h a&02h

└────────> 2: 1= 12h a&04h

└───────────> 3: 1= 13h a&08h

 

:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X │X │X │X │X │ │ : :

└──┴──┴──┴──┴──┴┬─┴┬─┴┬─┘ ──── ──────

└──> 0: 1= 200 a&01h

└─────> 1: 1= 350 a&02h

└────────> 2: 1= 400 a&04h

 


 

 

- 43 -

 

.

 

1:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│ :

└┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ────

└──> 0: 1=" "

( 30 0)

└─────> 1: 1=

└────────> 2: 1=

└───────────> 3: 1=

└──────────────> 4: 1=

└─────────────────> 5: 1= EGA

└────────────────────> 6: 1=

└───────────────────────> 7: 1=

( 30 0)

 

2:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X │X │X │X │ │ :

└──┴──┴──┴──┴┬─┴┬─┴┬─┴┬─┘ ────

└──> 0: 1=

└─────> 1: 1=/

( 30 0)

└────────> 2: 1= /

└───────────> 3: 1=

 

:

 

7 6 5 4 3 2 1 0

┌─┬─┬──┬──┬──┬──┬──┬──┐

│X│X│ │ :

└─┴─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ────

└──> 0: 1=

└─────> 1: 1=

└────────> 2: 1=

└───────────> 3: 1=

└──────────────> 4: 1=

└─────────────────> 5: 1=

( 30 0)

 


 

 

- 44 -

 

_E2.1.25. 1Ch - /

(VGA)_F

 

: AH = 1Ch

AL = :

00h -

01h -

02h -

CX = :

0 = 1 -

1 = 1 - BIOS

2 = 1 -

3 - 15

-

 

: AL = 1Ch - BIOS

-

 

: VGA

.

.

 

.

.

:

 

- ( 00h)

;

 

- ( 01h)

( 02h);

 

- ;

 

- ( 02h).

 

00h:

─────────────────────────────────────────────

 

: CX = (. )

 

: AL = 1Ch - BIOS

BX = 64

 

: ,

.

 


 

 

- 45 -

 

01h:

──────────────────────────────

 

: CX = (. )

ES:BX =

 

: AL = 1Ch - BIOS

ES:BX =

 

: -

.

 

02h:

─────────────────────────────────

 

: CX = (. )

ES:BX =

 

: AL = 1Ch - BIOS

 

:

.

 


 

 

- 46 -

 

_E2.2. Int 11h - _F

 

:

 

: AX=

 

: AX .

POST

:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X │ │ :

└──┼──┴──┼──┴──┴┬─┴┬─┴┬─┘ ────

└──> 0: 1=

└─────> 1: 1= 8087/287

└────────> 2: 1= (PS/2)

└───────────────> 4-5: :

00 - EGA VGA

01 - CGA, 40

10 - CGA, 80

11 -

└─────────────────────> 6-7: - 1

 

1 1 1 1 1 1

5 4 3 2 1 0 9 8

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X │ :

└──┼──┴┬─┴┬─┴──┴┬─┴──┴──┘ ────

└────────> 9-11: RS-232C

└──────────────> 12: 1=

└─────────────────> 13: 1= (PC Conv)

└─────────────────────> 14-15:

 

:

 

1. BIOS

00410h.

 

2. IBM PC, XT PCjr 2-3

16 (, 00=16, 11=64).

 

3. 2 PC, XT, AT PC Convertible.

XT-286 PS/2

(pointing device).

 

4. 12 1 PCjr.

 

5. 13 PC

Convertible, PCjr

.

 

6. DIP- PC XT ,

BIOS . ,

, -


 

 

- 47 -

 

.

 

7. Int

13h, 08h.

 

. :

Int 13h, 08h

 


 

 

- 48 -

 

_E2.3. Int 12h - _F

 

:

 

: AX=

 

: AX

( 640), POST

DIP- PC/XT CMOS AT PS/2.

 

.

 

1. BIOS

00413h.

 

2.

Int 15h, 88h.

Int 67h, 42h.

 

. :

Int 15h, 88h

Int 67h, 42h

 


 

 

- 49 -

 

_E2.4. Int 13h - _F

 

Int 13h

. BIOS

2 ,

.

:

 

-

;

 

- AH;

 

- ,

,

0, 80h.

C:,D: E:,

80 ;

 

- 10-

( C - , CL - 2

6 7);

 

-

, ,

0:442h. - 7

;

 

-

, AH,

0:441h () 0:474 ()

01h.

 

- BIOS XT 0 5

.

BIOS (

BIOS XT),

, ,

INT 13h

0:100h

INT 40h;

 

- BIOS XT 0 14h.

- AT, XT-286, PC Convertible PS/2;

 

- ,

, ;

 

- ,

,

4

.


 

 

- 50 -

 

,

, ,

;

 

- , ,

,

64- ,

;

 

- AT, XT-286, PC Convertible PS/2

BIOS INT 15h, 90h

(" ") 00h

01h . BIOS

INT 15h, 91h - "

".

, BIOS INT 15h, 90h, 0FDh

- " ".

:

( )

,

;

 

-

Change Line ( ),

,

32h '

INT 21h .

,

17h 18h, ,

.

BIOS

,

;

 

- BIOS

.

1Eh,

41h,

46h.

. 3.4.

.

,

BIOS XT "

-", .

 


 

 

- 51 -

 

:

 

────────────────────────────────────────────────────────────────

00h

01h

02h

03h

04h

05h ()

06h

" "

07h ,

08h

09h

0Ah

0Bh

0Ch

0Dh

0Eh

0Fh

10h

11h

12h

13h

14h

15h

16h Change Line

17h

18h

19h (PS/2)

1Ah (PS/2)

──────────────────────────────────────────────────────────────

 

_E2.4.1. 00h - _F

 

: AH = 00h

DL -

 

: CF=1 - , AH (. 2.4.2)

CF=0 -

 

: DL 80h,

. DL 80h,

. , AH

,

. ,

,

0:441h. 01h.

 

BIOS

( , . .),

00h .

,


 

 

- 52 -

 

.

 

,

.

 

_E2.4.2. 01h -

_F

 

: AH = 01h

DL = 00h 80h

 

: AH - INT 13h.

 

:

. :

 

───────────────────────────────────────────────────────────

00h

01h

02h

03h

04h

05h

06h

07h

08h

09h 64-

0Ah

0Bh

0Ch

0Dh

0Eh

0Fh

10h

11h -

20h

40h

80h

BBh

CCh

E0h

FFh

───────────────────────────────────────────────────────────

 

0:441h

0:474h .

 


 

 

- 53 -

 

_E2.4.3. 02h - _F

 

: AH = 02h

AL -

2 CL -

CL -

DH -

DL -

ES:BX -

 

: AH -

AL -

CF=1

 

:

(, , ).

 

,

. 128

.

 

,

AL, .

 

11h BIOS ,

-.

.

BIOS XT

0Ah,

.

11h

.

 

_E2.4.4. 03h - _F

 

: AH = 03h

AL -

2 CL -

CL -

DH -

DL -

ES:BX -

 

: AH -

AL -

CF=1

 

:

(, , ).

 

,

. 128


 

 

- 54 -

 

.

 

,

AL, .

 

_E2.4.5. 04h - _F

 

: AH = 04h

AL -

2 CL -

CL -

DH -

DL -

 

: AH -

AL -

CF=1

 

:

(,

, ) .

 

,

. 255

.

 

,

AL, .

 

_E2.4.6. 05h - ()_F

 

_E:_F

 

: AH = 05h

AL -

CH 2 CL -

DH -

DL -

ES:BX -

 

: AH -

CF=1

 

:

.

 

ES:BX .

.

,

BIOS ,

. 4

:


 

 

- 55 -

 

C - ( 0)

H - ( 0)

R - ( 1)

N - :

0 - 128

1 - 256

2 - 512

3 - 1024

. .

 

0

0 MS DOS 36

:

 

0 0 1 2 ; 1

0 0 2 2 ; 2

0 0 3 2 ; 3

0 0 4 2 ; 4

0 0 5 2 ; 5

0 0 6 2 ; 6

0 0 7 2 ; 7

0 0 8 2 ; 8

0 0 9 2 ; 9

 

(

1Eh) .

,

,

.

3 5,

, .

 

( 360 1.2 5-

),

17h 18h

,

, .

 

_E :_F

 

: AH = 05h

CH 2 CL -

DL -

 

:

:

AL= ;

AT, XT-286 PS/2:

ES:BX 512- , 2*(

) 2


 

 

- 56 -

 

. = 0 - , 80h

- . ( 1).

 

: CF=1 -

AH -

 

:

.

 

(interleave factor)

.

, , , 3, 2

1.

2

.

" -",

.

 

AT , ,

,

- , , 3.

, , 3,

.

 

( ) ,

17 3:

 

db 00h, 01h, 00h, 07h, 00h, 0Dh, 00h, 02h, 00h, 08h, 00h, 0Eh

db 00h, 03h, 00h, 09h, 00h, 0Fh, 00h, 04h, 00h, 0Ah, 00h, 10h

db 00h, 05h, 00h, 0Bh, 00h, 11h, 00h, 06h, 00h, 0Ch

 

_E2.4.7. 06h -

" "_F

 

: AH = 06H

AL -

CH 2 CL -

DH -

DL -

 

: F=1 -

AH -

 

:

, . AT,

XT-286, PC Convertible PS/2 .

 


 

 

- 57 -

 

_E2.4.8. 07h - ,

_F

 

: AH = 07h

AL -

H 2 CL -

DL -

 

: F=1 -

AH -

 

:

.

05h. .

 

_E2.4.9. 08h - _F

 

: AH = 08h

DL -

: CH 2 CL -

CL -

DH -

 

:

 

AH -

DL -

CF=1 -

 

:

AX=0

BL - 3 0 - CMOS:

00h -

01h - 360K, 5.25 , 40

02h - 1.2M, 5.25 , 80

03h - 720K, 3.5 , 80

04h - 1.44, 3.5 , 80

BH = 0

DL -

ES:DI - 11-

.

 

:

.

, .

PC Convertible, XT-286 AT BIOS

1/10/84.

 

:

 

- (AH 7);

 

-

(AH 1).

 


 

 

- 58 -

 

:

 

- CMOS;

- CMOS;

- CMOS.

 

, , BL

0.

 

.

 

_E2.4.10. 09h -

_F

 

: AH = 09h

DL -

 

: CF=1 -

AH -

 

:

()

.

INT 41h ,

- INT 46h.

 

XT ,

(80h-87h)

, .

 

AT

.

 

_E2.4.11. 0Ah - _F

 

: AH = 0Ah

AL -

2 CL -

CL -

DH -

DL -

ES:BX -

 

: AH -

AL -

CF=1

 

: 512

4

(ECC). BIOS' XT,

AT,


 

 

- 59 -

 

.

 

,

.

127 .

 

,

AL, .

 

BIOS XT Seagate

" ", 1.

 

11h BIOS ,

-.

.

BIOS XT

0Ah.

11h .

 

_E2.4.12. 0h - _F

 

: AH = 0h

AL -

2 CL -

CL -

DH -

DL -

ES:BX -

 

: AH -

AL -

CF=1

 

: 512

4

(ECC). BIOS' XT

AT,

.

 

,

.

127 .

 

BIOS XT Seagate

" ", 1.

 

,

AL, .

 


 

 

- 60 -

 

_E2.4.13. 0Ch - _F

 

: AH = 0Ch

CH 2 CL -

DL -

DH -

 

: CF=1 -

AH -

 

:

.

 

,

, ,

.

 

_E2.4.14. 0Dh - _F

 

: AH = 0Dh

DL -

 

: CF=1 -

AH -

 

:

/.

 

,

(,

).

 

_E2.4.15. 0Eh - _F

 

: AH = 0Eh

AL -

2 CL -

CL -

DH -

DL -

ES:BX -

 

: AH -

AL -

CF=1

 

:

,

.

,

. 512 .

 


 

 

- 61 -

 

,

,

,

:

 

- AL 128;

- , .

 

.

 

_E2.4.16. 0Fh - _F

 

: AH = 0Fh

AL -

2 CL -

CL -

DH -

DL -

ES:BX -

 

: AH -

AL -

CF=1

 

:

,

.

 

,

,

,

:

 

- AL 128;

- , .

 

.

 

 

@2.4.17. 10h - _F

 

: AH = 10h

DL -

 

: CF=1 -

AH -

 

:

.

 

CF=0,

, CF=1 - AH ,

.


 

 

- 62 -

 

_E2.4.18. 11h - _F

 

: AH = 11h

DL -

 

: CF=1 -

AH -

 

: /

0.

 

00h 0Dh

"" /

.

 

_E2.4.19. 12h -

_F

 

: AH = 12h

 

: CF=1 -

AH - .

 

:

.

,

XT , AT - ,

(POST).

 

_E2.4.20. 13h - _F

 

: AH = 13h

DL -

 

: CF=1 -

AH -

 

:

.

 

,

0Bh.

 

_E2.4.21. 14h - _F

 

: AH = 14h

 

: CF=1 -

AH -

 

:


 

 

- 63 -

 

: , ,

.

 

_E2.4.22. 15h - _F

 

: AH = 15h

DL -

 

: CF=1 -

AH - :

00 -

01 - , Change Line

02 - , Change Line

03 -

 

: (

),

(Change Line)

.

 

CX:DX (CX - )

.

 

17h.

 

( CF=1) ,

01h.

 

_E2.4.23. 16h - Change Line_F

 

: AH = 16h

DL -

 

: CF=1 -

AH - :

00 -

01 -

06 -

80h-

 

: ,

.

,

Change Line ( , 15h).

 

CF 1 AH 0, . .

AH=6, ,

.

 

BIOS

,


 

 

- 64 -

 

.

 

_E2.4.24. 17h -

_F

 

: AH = 17h

AL = 1 - 320/360 360

2 - 360 1.2

3 - 1.2 1.2

4 - 720 720

DL -

 

: CF=1 -

AH -

 

:

.

,

.

, 05h,

.

 

4 AL BIOS'

6/10/85 .

 

_E2.4.25. 18h -

_F

 

: AH = 18h

CH 2 CL -

CL -

DL -

 

: CF=1 -

AH -

ES:DI - 11-

( ).

 

:

,

BIOS .

.

 

BIOS

11/15/85.

 

BIOS

.

 

BIOS,

05h.

 


 

 

- 65 -

 

_E2.4.26. 19h - (PS/2)_F

 

: AH = 19h

DL -

 

: CF=1 -

AH -

 

: PS/2

.

 

_E2.4.27. 1Ah - (PS/2)_F

 

: AH = 1Ah

DL -

AL = ():

0 - ;

>0 -

ES:BX =

CL = (. )

 

: CF=1 -

AH -

 

: IBM

ESDI Adapter/A PS/2

.

 

:

1.

.

 

2. .

 

3. :

 

7 6 5 4 3 2 1 0

┌─┬─┬─┬──┬──┬──┬──┬──┐

│0 0 0│ │ :

└─┴─┴─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ────

└──>0: 1=

└─────>1: 1=

└────────>2: 1=

└───────────>3: 1=

└──────────────>4: 1=

 

4 ,

. ,

Int 15h, 0Fh AL, :

 

0 - ;

1 - ;

2 - .

 


 

 

- 66 -

 

CF

.

 

3

.

.

 


 

 

- 67 -

 

_E2.5. Int 14h - RS-232C_F

 

(

RS-232C) :

 

─────────────────────────────────────────────────────────────

00h

01h

02h

03h

04h (PS/2)

05h (PS/2)

─────────────────────────────────────────────────────────────

 

.

 

1. 01h - 03h BIOS , 04h 05h

- PS/2.

 

2. : 0 -

COM1, 1 - COM2 . . PS/2

0 3, - 0 1.

00400h.

 

. : BIOS

 

_E2.5.1. 00h - _F

 

: AH = 00h

AL = (. )

DX = (0 - COM1, 1 - COM2 . .)

 

: AH = (. 03h)

AL = (. 03h)

 

: RS-232 -

, AL :

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│ :

└──┴┬─┴──┴──┼──┴┬─┴──┼──┘ ────

└───> 0-1: :

10=7 , 11=8

└────────> 2: -:

0=1 , 1=2

└────────────> 3-4: :

x0=, 01=, 11=

└────────────────────> 5-7: , :

000=110; 100=1200

001=150; 101=2400

010=300; 110=4800

011=600; 111=9600

 


 

 

- 68 -

 

. 9600

PS/2 . 04h 05h.

 

. : Int 14h, 03h

Int 14h, 04h

Int 14h, 05h

 

_E2.5.2. 01h - _F

 

: AH = 01h

AL =

DX = (0 - COM1, 1 - COM2 . .)

 

: AH = (. 03h)

 

: AL

AH (AL ). ,

7 AH. AH

.

03h.

 

. : Int 14h, 03h

 

_E2.5.3. 02h - _F

 

: AH = 02h

DX = (0 - COM1, 1 - COM2 . .)

 

: AH = (. 03h)

AL =

 

:

AL; AH.

, 7 AH.

AH .

03h.

 

. : Int 14h, 03h

 

_E2.5.4. 03h - _F

 

: AH = 03h

DX = (0 - COM1, 1 - COM2 . .)

 

: AH =

AL =

 

:

.

 


 

 

- 69 -

 

AH ( ):

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│ :

└┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ───

└─> 0:1=

└────> 1:1=

└───────> 2:1=

└──────────> 3:1= -

└─────────────> 4:1=

└────────────────> 5:1=

└───────────────────> 6:1=

└──────────────────────> 7:1=

 

AL ( ):

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│ :

└┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ───

└──> 0:1= CTS

└─────> 1:1= DSR

└────────> 2:1= RI

└───────────> 3:1= DCD

└──────────────> 4: CTS

└─────────────────> 5: DSR

└────────────────────> 6: RI

└───────────────────────> 7: DCD

 

:

 

1. " ..." ,

RS-232

RS-232.

 

2. (

AH), AX .

 

3. BIOS PC , -

"

" " ".

 


 

 

- 70 -

 

_E2.5.5. 04h - (PS/2)_F

 

: AH = 04h

AL = :

0 -

1 -

BH = :

0 -

1 -

2 -

3 -

4 -

BL = -:

0 - 1 -

1 - 1.5, 5 ,

2

CH = :

0 - 5

1 - 6

2 - 7

3 - 8

CL = :

0 - 110

1 - 150

2 - 300

3 - 600

4 - 1200

5 - 2400

6 - 4800

7 - 9600

8 - 19200

DX = (0 - COM1, 1 - COM2 . .)

 

: AH = (. 03h)

AL = (. 03h)

 

: PS/2.

RS-232 .

 

. : Int 14h, 03h

Int 14h, 00h

 


 

 

- 71 -

 

_E2.5.6. 05h - (PS/2)_F

 

: AH = 05h

AL = :

00h -

01h -

BL =

( 01h)

DX = (0 - COM1, 1 - COM2 . .)

 

: AH = (. 03h)

AL = (. 03h)

BL =

( 00h)

 

: PS/2.

( 00h) ( 01h)

, :

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│0 │0 │0 │ │ :

└──┴──┴──┴┬─┴┬─┴┬─┴┬─┴┬─┘ ───

└──> 0: 1= DTR

└─────> 1: 1= RTS

└────────> 2: 1= OUT1 (-

, )

└───────────> 3: 1= OUT2 (

)

└──────────────> 4: 1= (

)

 

. : Int 14h, 03h

 


 

 

- 72 -

 

_E2.6. Int 15h - _F

 

,

- , :

 

──────────────────────────────────────────────────────────────

00h (PC, PCjr)

01h (PC, PCjr)

02h (PC, PCjr)

03h (PC, PCjr)

0Fh (PS/2)

21h POST (PS/2)

40h (Convertible)

41h (Convertible)

42h (Convertible)

43h (Convertible)

44h (Convertible)

4Fh ()

80h ()

81h ()

82h ()

83h ()

84h ()

85h SysReq ()

86h (AT, XT-286, PS/2)

87h (AT, XT-286, PS/2)

88h (AT, XT-286, PS/2)

89h (AT, XT-286, PS/2)

90h ()

91h ()

C0h ()

C1h BIOS (PS/2)

C2h (PS/2)

C3h (PS/2)

C4h (PS/2)

──────────────────────────────────────────────────────────────

 

01h - 04h -

, PC PCjr

. 0Fh -

,

IBM ESDI Adapter/A. 40h - 44h

PC Convertible. 86h - 89h

80286 80386, 21h C1h - C4h -

PS/2. ,

.

 


 

 

- 73 -

 

_E2.6.1. 00h -

(PC, PCjr)_F

 

: AH = 00h

 

: PC PCjr:

AH = 00h

CF = 0

 

:

AH = 86h

CF = 1

 

: PC PCjr -

.

CF.

 

: 2 -

8253.

 

_E2.6.2. 01h -

(PC, PCjr)_F

 

: AH = 01h

 

: PC PCjr:

AH = 00h

CF = 0

 

:

AH = 86h

CF = 1

 

: PC PCjr -

.

CF.

 

: 2 -

8253.

 


 

 

- 74 -

 

_E2.6.3. 02h -

(PC, PCjr)_F

 

: AH = 02h

ES:BX =

DX =

 

: PC PCjr:

ES:BX + 1

DX =

CF = 0 -

1 -

PCjr CF = 1

AH = :

0 -

2 -

4 -

 

:

AH = 86h

CF = 1

 

: PC PCjr

CF

; PCjr

.

CF.

 

:

 

1. 2

8253.

 

2.

, BIOS

.

 


 

 

- 75 -

 

_E2.6.4. 03h -

(PC, PCjr)_F

 

: AH = 03h

ES:BX =

DX =

 

: PC PCjr:

ES:BX + 1

DX =

CF = 0 -

1 -

PCjr CF = 1

AH = :

0 -

2 -

4 -

 

:

AH = 86h

CF = 1

 

: PC PCjr

CF

; PCjr

.

CF.

 

:

 

1. 2

8253.

 

2.

, BIOS

.

 

_E2.6.5. 0Fh - _F

 

: AH = 0Fh

AL = :

1 -

2 -

 

: CF = 0 -

1 -

 

PC PCjr:

AH = 80h

CF = 1

 

:

AH = 86h

CF = 1

 


 

 

- 76 -

 

:

IBM ESDI Adapter/A.

,

, , .

CF=1.

 

_E2.6.6. 21h - POST (PS/2)_F

 

: AH = 21h

AL = :

0 - POST

1 - POST

 

: PS/2, 30:

 

PC PCjr:

AH = 80h

CF = 1

 

:

AH = 86h

CF = 1

 

: PS/2,

30. :

 

00h: POST

──────────────────────────────────────────────

 

:

 

: AH = 0

CF = 0

ES:DI =

BX =

 

: ,

, POST. BX

( , ).

 

01h: POST

───────────────────────────────────────

 

: BH =

BL =

 

: CF = 0 -

1 -

AH = 0 -

1 -

 

:

.


 

 

- 77 -

 

. : POST

 

_E2.6.7. 40h -

(Convertible)_F

 

: AH = 40h

AL = :

0 -

1 -

2 -

3 -

 

: PC Convertible:

CF = 0 -

1 -

AL = 00h -

80h -

-

 

PC PCjr:

AH = 80h

CF = 1

 

:

AH = 86h

CF = 1

 

: PC Convertible

.

,

(

).

 


 

 

- 78 -

 

:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X X X X X X X X │

└──┴──┴──┴──┴──┴──┴──┴──┘

 

1 1 1 1 1 1

5 4 3 2 1 0 9 8

┌──┬──┬──┬──┬──┬──┬──┬──┐

│1 │1 │1 0 │0 0 │0 │0 │ :

└┬─┴┬─┴──┼──┴──┼──┴┬─┴┬─┘ ────

└─> 8: 1=-

└────> 9: 1=

└────────> 10-11: :

00=

01=

10=

11=

└──────────────> 12-13: :

00=

01=4025, CGA/LCD

10=8025, CGA/LCD

11=80x25, LCD

└───────────────────> 14: 1=

""

└──────────────────────> 15: :

0=, 1=

 

:

1

5 . . . 8 7 . . . 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

. . . . . . │ :

└──┴──┼──┴──┴──┴──┼──┴──┘ ─────

└──────> 0-7: ,

, ,

(0= )

└──────────────────>8-15: , -

, ,

(0= )

 


 

 

- 79 -

 

:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X X X X X X X X │

└──┴──┴──┴──┴──┴──┴──┴──┘

 

1 1 1 1 1 1

5 4 3 2 1 0 9 8

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X X │0 │0 1 1 │1 0 │ :

└──┴──┴┬─┴──┴┬─┴──┴──┼──┘ ────

└──> 8-9: , :

00=110, 01=300, 10=1200, 11=2400

└──────────>10-12: :

000=, 7

001=, 7

010=, 7

011=, 7

100= , 7

101-111=

└────────────────> 13: 0= , 1=

 

00h:

─────────────────────────────────

 

:

 

: BX =

CX =

 

: .

 

01h:

──────────────────────────────────────

 

: BX =

CX =

 

:

 

: .

 

02h:

────────────────────────────────────────────

 

:

 

: BX =

 

: .

 


 

 

- 80 -

 

03h:

─────────────────────────────────────────────────

 

: BX =

 

:

 

: .

 

_E2.6.8. 41h -

(Convertible)_F

 

: AH = 41h

AL = :

00h =

01h = , ES:[DI] = BH

02h = , ES:[DI] != BH

03h = , ES:[DI] & BH != 0

04h = , ES:[DI] & BH = 0

11h = , in(DX) = BH

12h = , in(DX) != BH

13h = , in(DX) & BH != 0

14h = , in(DX) & BH = 0

BH =

BL = 55 ; 0 -

ES:DI =

( AL 01h-04h)

DX = - ( AL 11h-14h)

 

: PC Convertible:

CF = 0 -

1 -

 

PC PCjr:

AH = 80h

CF = 1

 

:

AH = 86h

CF = 1

 

:

. PC

Convertible. ,

.

, .

 

, AL.

.

 


 

 

- 81 -

 

_E2.6.9. 42h - (Convertible)_F

 

: AH = 42h

AL =

0 -

1 -

 

: PC Convertible:

CF = 0 -

1 -

AX

 

PC PCjr:

AH = 80h

CF = 1

 

:

AH = 86h

CF = 1

 

: .

,

. PC

Convertible.

 

:

 

1. AL=1 (. . 2.6.7)

,

, .

 

2. .

 

. : Int 15h, 40h

 

_E2.6.10. 43h -

(Convertible)_F

 

: AH = 43h

 

: PC Convertible:

CF = 0 -

1 -

AL = (. )

AH

 

PC PCjr:

AH = 80h

CF = 1

 

:

AH = 86h

CF = 1

 

: , PC Convertible,


 

 

- 82 -

 

:

 

7 6 5 4 3 2 1 0

┌──┬──┬──┬──┬──┬──┬──┬──┐

│X │ │ : :

└┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴──┴┬─┘ ──── ──────

└──> 0: 1=LCD- a&01

└────────> 2: 1=-- a&04

└───────────> 3: 1= a&08

└──────────────> 4: 1= a&10

└─────────────────> 5: 1= a&20

└────────────────────> 6: 1= a&40

└───────────────────────> 7: 1= "" a&80

 

:

 

1. ,

.

 

2. . . 2.11.9.

 

. : Int 1Ah, 08h

 

_E2.6.11. 44h -

(Convertible)_F

 

: AH = 44h

AL = 0 -

1 -

 

: PC Convertible:

CF = 0 -

1 -

AL = 00h -

80h -

 

PC PCjr:

AH = 80h

CF = 1

 

:

AH = 86h

CF = 1

 

: , PC Convertible,

. AL=0

, AL=1

(. . 2.6.7).

 

. : Int 15h, 40h

 


 

 

- 83 -

 

_E2.6.12. 4Fh - _F

 

: AH = 4Fh

AL = -

 

: PC PCjr:

AH = 80h

CF = 1

 

XT 11/08/82 AT 01/10/84:

AH = 86h

CF = 1

 

:

CF = 0 - -

1 - -

AL = - ( )

 

: , PC, PCjr, XT

11/08/82 AT 01/10/84.

(Int 09h),

.

- ,

,

:

 

- : CF

;

 

- - : -

AL, CF ;

 

- ( ):

CF .

 

: ,

, Int 15h, C0h.

 

. : Int 15h, C0h

Int 09h

 

_E2.6.13. 80h - _F

 

: AH = 80h

BX =

CX =

 

: PC PCjr:

AH = 80h

CF = 1

 

XT 11/08/82:

AH = 86h

CF = 1

 


 

 

- 84 -

 

:

CF = 0

 

: , PC, PCjr XT

11/08/82.

,

.

 

.

,

.

 

_E2.6.14. 81h - _F

 

: AH = 81h

BX =

CX =

 

: PC PCjr:

AH = 80h

CF = 1

 

XT 11/08/82:

AH = 86h

CF = 1

 

:

CF = 0

 

: , PC, PCjr XT

11/08/82.

,

.

 

.

,

.

 

_E2.6.15. 82h - _F

 

: AH = 82h

BX =

 

: PC PCjr:

AH = 80h

CF = 1

 

XT 11/08/82:

AH = 86h

CF = 1

 

:

CF = 0

 

: , PC, PCjr XT


 

 

- 85 -

 

11/08/82.

,

.

 

.

,

.

 

_E2.6.16. 83h - _F

 

: AH = 83h

AL = :

0 -

1 -

 

: PC PCjr:

AH = 80h

CF = 1

 

XT:

AH = 86h

CF = 1

 

:

 

: , PC XT.

 

00h:

──────────────────────────────────

 

: ES:BX -

CX:DX -

976 ( ,

CX)

 

: CF = 0 -

1 -

 

:

( )