, ( 2-2). , 0 7, 0 .
, . .. 16 , 0 15. , , , , 15- - . i486 . . .
. 2-1
, . .. 32 , 0 31. , , , , 31- - . . . .
, . , . , - , i486 32- , , , . , . , - . ( ) , .
2-2.
2-3. ,
.. , , . ( 2-4):
- : , 32- , 16- 8- . . 7 , 15 31 . 0 1 . 8- -128 |127, 16- -32768 |32767, 32- -2**31 |2**31-1.
- : , 32- , 16- 8- . 0 255, 0 65535 0 2**32-1.
- : 32- , . .
- : 48- : 16- 32- . , . : , .
- 0 2**32-1 4 . : , .
- 32 . : .
- (2**32-1) .
- - (): 0 9. . . , .
- - (): 0 9. . . 0 99.
- ( ).
2-4.
|
|
.
, . UNIX.
1965 - Bell labs Multix - UNIX, . ( ) Multix .
1971 - UNIX PDP - 11
1977 - , .. C (AT&T system V)
1981 - Intel . 8088, 8086, 80286, etc. MS-DOS, 10 - . Intel UNIX.
80 90 . . Microsoft Windows NT Win32. Windows 95 , NT, MS-DOS. 64- , UNIX, Alpha DEC. .
|
|
2. . . .
. . : - - . . - , , , . , . . . - , . -. . , . - . .
, .
: (IBM PC Apple Macintosh ), ( Targa, Silicon Graphics), ( IBM, Cray, ).
- ( , -) (-) :
1) .
2) , .
3) .
4) -.
5) , .
1) .
. (1).
1. . 4- .
, . 4 , , , , , . . , . . 3 , . , . , . PC ISA, EISA, PCI, VLB.
() , . , , - , . , . , .
, . . , , . , 10-1000 .
|
|
. , , , - .
1. . . .
2. . : .
8086.
, , , .. , . 8 , .. 1 . 16- , 65536 (FFFFh) 64 (1K=1024 ) . . ( 16) ( ). , 8086, , 640. , , (.2.3).
20- 4 16- 16- . 20- , 1 (1M=1024K=1048576 ). SSSS:0000, e SSSS ; 0000 . 16 .
.
:
1) .
2) . :
) ;
) .
:
1) .
2) .
3) .
4) (, , ).
1. -, .
- . , , . - . , . , , .
2. . IBM 370, PDP11/VAX, Intel 80X86, RISC.
, .
( , IBM 370) - . :
- ;
- ;
- , ;
- -, .
|
|
- , - . , - .
, ( ), , .
, , , , /1, , , , .
PDP-11 , , , , () , "O " (). O , , , , . , 56 .
, -.
. , , , . , . , .
VAX 11 , PDP-11. 32- 4. PDP-11, 2 . , . VAX . , .. .
IBM PC : - ;
- ;
- .
:
- , (, , ..);
- ;
- ;
- .
- . :
- - ;
- - , ;
- - ;
- - ;
- - .
3. . : , , .
. 2 , . . . , . : 1012=(1*22)+(0*21)+(1*20)=510.
. . , , 1.
x=M*Pq, , P , q . :
M , |M| < 1.
Q .
P .
|
|
M P. , , , .. , - , (Pmax-Pmin)log2Q.
4. .
5. . , . .
, . : -1*Qp<x<1*Qp. x, R*(1+x) , R. , . ( , , ). , . :
) .
) (lost precision). , 2 .
) . .
) (underflow) .
) .
6. . , ASCII, EBSDIC, UNICODE. .
0..9 A..Z a..z .. ... . . ASCII, EBSDIC. 128 (7 ).
.
1. - |_|_|_|_|_|_|_|.
2. ASCIIZ - |_|_|_|_|_|_|0|. ( ). C.
3. Variable Lenght - |x|_|_|_|_|_|. . PASCAL.
, , 128 . :
1) ASCII 8 , 256 ;
2) UNICODE 7 , 1 ( , 8- ).
8- . , . - ) ; ) () . , . . , (160-175, 224-239, 240-241). . , MIC, -8, ISO-8859, ..
1. , , , .
, - , (. . 13) . - - (), . -, . ( ), , . .
, . , . .
( ), , (bitmap). , , (. dpi ( )). , (, 1024768).
1 . , . , 8 256 . , .
2. , .
:
) - . , . 8 16 ( 8- 16- )
) . 8, 8 , 10, 80. - . , .
.. , . : , 2 . CD- 44K, .
, .
- , .
:
VOC - Creative.
WAV Microsoft.
Layer 1, 2, 3 audio MPEG ( 10 ) - .
3. ASM. . . .
- , 2 . 1) 2) , . .
: ( + ), , , , , .
.. , , (. 19)
5 : (EQU), (DB), (PUBLIC, EXTRN), (SEGMENT, PROC), (END).
.. ( , . ).
; .
. .. . , :.
.
.
BYTE ( , , )
WORD ( )
DWORD ,
32- 16- .
( .) 32, 64, 80 .
.
ENUM , . - .
RECORD , . .
STRUC , 1 , .
UNION () , , , 1 .
:
[:] [] [;]
.
:
[ ]
...
... ( )
4. , , .
.. (, , )
ten EQU 10
antiten EQU 10
bitmask EQU 10001001b
video EQU 0A000h
s EQU string data'
. . , :. . .
, , . C:
Ifxxx
;,
ELSE
;, ,
ENDIF
ELSEIF, IF.
5. -, ().
, . . .. , .
. . , .
3 .
1) .
2) , , .
3) , (relocation table), , . . , .
1. . , .
, , , . . , . - 8- , .
, . 8086 1024 , 1048576 . , - , , , .
20- . 8086 "" 20 , 20- . . , - FFFFF . 1024 PC 16 64 , . , 64 - , OFFFF, 64 - F, FOOOO FFFFF.
, 8086
, , . ( 640 ) . PC , , 9 . , . , .
1. , . . , , -.
.
, , (), (mem), , (imm), (sr). :
- . . .
- , - . , , :
mov , DATA; DATA
- , - . , .
- , - . .
- , - . .
- , - . , CS .
- , - . .
, , , .
. Assembler :
;
;
;
;
;
;
-.
, : push DS mov BP,SP
, - : mov DATA,
, : mov AX,4Ch
, ,SI DI, : mov L, [], mov , [SI].
, :
mov , [ + 6]
mov [ + Delta],
SI DI , , :
mov DX, [SI+5]
mov ES: [DI]+6, AL
- , , , :
mov , [BP][SI]
mov ES:[BX+DI],AX
- , , . -. , .
20. . RISC .
21. . . . .
, , , . 8086 IP. 8088, 8 . . , , , JCXZ, . , CMP, . : JA, JE, JNE, JB, JZ, JL. JMP .
, , . - . , .
2
) ( - , , 9). , 0.
) .
(). , (NMI). , .
22. .
: , , , .
. . (PASCAL) (ASSEMBLER). + . , , , .
. , , , , ( ).
. . @A[i]=@A[0]+i*l, l- . 2 . @A[i,j]=@A[0]+i*l+j*l-, l , l- . , , . . .
. . , , , .
, . . .
. . 1 , 0 . 8 8 . .
23. : , , , .
, . ( ) ( ).
- (LIFO).
PUSH, POP (, ).
PUSH SP 1, 1.
PUSH POP. , 2 :
) SP
) - .
FIFO , .
HP , tp . HP=TP .
ENQ x -
HP=HP+1
A[HP]=x
DEQ x -
TP=TP+1
x = A[TP]
- .
.. (heap). , . 2 : ALLOCATE FREE. . , . , .
, , . 1 , 2 , . - . , - .
. - , NULL .
, , , . . .
. - .
24. : , , . .
. .
. ( ), .
, . .
, . . , .
. .. (heap). , . 2 : ALLOCATE FREE. . , . , . , . .
, , , .. . , , , . - , .
25. : , .
26. : , , .
. . ( ) ( ). , . , .
. , , , , .. . , , , - . , .
27. . .
26 2 .
28. . , , .
. , , . 8086 . , .
. .
, , .. .
BP. , , .
.
29. 8086 BP, , , .
26, 28 (. , )
BP .
push bp
mov bp, sp
mov ax, word ptr [bp-2];
.
.
, , BP, .
30. . , .
. , . , .
) .
) .
) . 3- .
4 .
) . . , , . EXEC.
3 :
)
) ,
) . , (BSS).
, BSS.
16- , .. DS CS . .
. C ASSEMBLER, , Trubo Pascal, LARGE.
TINY () (64). . COM.
SMALL () 2 (128K). .
COMPACT () 1 . , .
MEDIUM () , , 1 .
LARGE () . .
HUGE () , LARGE + . .
32- , .. 4.
31. 8086. .
. 30.
32. . . .
, .
, . , , 4 :
) .
) .
) , .
) , . .
, , , , API . , , .
: POSIX API UNIX :
1)
2)
3) - ,
4) .
POSIX API Win32 .. PI , (TAPI Win32)
33. : (public names)
, . EXTRN. :
EXTRN maybe:far
. PUBLIC. :
maybe PROC far
PUBLIC maybe
, , , , EXTRN, PUBLIC. - EXTRN PUBLIC, unresolved external <_>, .
:
) ;
) ;
) .
34. . , , .
, . .
(), . (debug info).
, .. 2 :
) ( MS-DOS *.COM)
) , . 17.
.
.
35. , . 17, 33.
36. , .
. 30.
, , . .. PRIVATE ( . ), PUBLIC () .
, , . .
, , . : BYTE , , WORD (DWORD) ( ), PARA 16- , ..
, 16 32- .
, , , .
37. , , .
. 33, 17.
, ( , , PUBLIC). , . -. , .
, , -, , ..
38. . .
. 17, 33, 34.
.
. .
) , .. . ( )
) DLL . DLL , - . . 1) DLL, 2) .
DLL .
39. , . .
(, EXE DOS) , . . , , , , . . , , , . , (, ). . , ) [ Borland Pascal 7.0]. , , - , . [ BP ] . ) . , - .
MS-DOS, , DOS- : XMS, EMS. , , DLL. , . DLL .
40. . . .
:
1) .
2) , .
3) .
4) -.
5) , .
6) .
- - . . , .
41. . . .
, , . . 2 . . . . . , , , . 386 .
, . , 4- , . 4- , . .
. .