10000011 4 , 2, - 2 - , - 3. - 131 &H83 (. , - ). 11000010 193 (&HC1). 4 2 CHR$(&H83) + CHR$(&HC1). 8 , 8 . PAINT . , - : 100 LINE (100,110)-(150,150),1,B ' 110 PAINT (125,125),CHR$(&H83)+CHR$(&HC1),1 ' , , PAINT , . PAINT. , . DRAW, , . [4.4.5]. " " ( ) , . DRAW P, - . 1 , 3 DRAW "U10R10D10L10BH1P3,1". , 'BH' , , 'P' - . . , . , , . . - , . , , GET. [5.4.3], . GET , , , . , . - , GET (80,40)-(120,60),ARRAY3 , ARRAY3. , , - DIM. . - . 4 + INT ((x* + 7)/8)* y. "" 1 2 - . x y - . INT . , . 2 , 4 - 8 - - . PUT. , . . , PUT (40,30),ARRAY1 , 40 30. PUT , , . , , GET. PUT (40,30),ARRAY1,PSET. . PSET PRESET, 0 - 3 , 1 - 2 . , AND, OR XOR. PRESET PSET - . - . . , 1 . , 2 , - . AND ( ). - , "". . . 01, - 10, - 00, . OR , , . - OR - . . 1(01) 2(10) 3(11), 0(00) 3(11). , , XOR , . - - (1 1 0, 1 0 - 1). . . , , - . . , - XOR , .. . - . , - , . , , - , . - , , . - , . , IBM PC - BIOS, - : MOV AX,0B800H ;ES MOV ES,AX ; MOV CX,8192 ; MOV AX,0 ; 0 MOV DI,0 ;DI REP STOSW ; 8192 , . , - . , . . - . , - 1 . 01, - : 01010101. NOT , 10101010. XOR ; , , 1 , . NOT , , - 00. TEST 00. , . , . MOV AL,ES:[BX] ; XOR AL,10101010B ; NOT AL ; TEST AL,11000000B ; 7-6 JZ FOUND_BOUND ; TEST AL,00110000B ; 5-4 JZ FOUND_BOUND ; TEST AL,00001100B ; 3-2 JZ FOUND_BOUND ; TEST AL,00000011B ; 1-0 JZ FOUND_BOUND ; MOV AL,FILL_COLOR ; , MOV ES:[BX],AL ; . . FOUND_BOUND: , , , , . , - , - [4.3.4] - . , , , . 4.4.7 . , , - . , 8*8. , - , [4.3.4]. , . - , . . , . . , 2 2 . [4.3.4] 1FH , . DOS BIOS. , . - , - , . ;--- CHARACTER_DATA DB 00110000B ; DB 01100111B DB 01100111B DB 00110011B DB 00011111B DB 00001111B DB 00001111B DB 00000111B DB 00000011B ; DB 10001100B DB 10011000B DB 00110000B DB 11100000B DB 11000000B DB 11000000B DB 10000000B DB 00001111B ; DB 00011111B DB 00011100B DB 00011000B DB 00011000B DB 00110000B DB 01100000B DB 00010000B DB 11000000B ; DB 11000000B DB 11000000B DB 11000000B DB 01100000B DB 01100000B DB 00010000B DB 00011110B DB 00000000B ;--- PUSH DS ; DS MOV DX,OFFSET CHAR_DATA ; DX MOV AX,SEG CHAR_DATA ; DS MOV DS,AX ; MOV AH,25H ; MOV AL,1FH ; INT 21H ; POP DS ; DS ;--- ;--- MOV AH,2 ; MOV DH,13 ; 13 MOV DL,20 ; 20 MOV BH,0 ; 0 INT 10H ; ;--- MOV DL,128 ; 128 MOV AH,2 ; / INT 21H ; MOV DL,129 ; 129 INT 21H ; ;--- MOV DH,14 ; 14 MOV DL,20 ; 20 MOV AH,2 ; INT 10H ; ;--- MOV DL,130 ; 130 MOV AH,2 ; / INT 21H ; MOV DL,131 ; 131 INT 21H ;  5. . - - . , . . - . , - . , . . " "; , . , [4.5.3]. , . 4.5.1 . , 2- 25- 1- 24-, 25- . , , - . . . - . - , , 10H, . . - . , 0 24 0 79. , : (6 7, ), ( 0, ) ( "" - 7). . , . 100 ''' 110 DATA &H55, &H8B, &HEC, &H8B, &H76, &H12, &H8A 120 DATA &H24, &H8B, &H76, &H10, &H8A, &H04, &H8B 130 DATA &H76, &H0E, &H8A, &H2C, &H8B, &H76, &H0C 140 DATA &H8A, &H0C, &H8B, &H76, &H0A, &H8A, &H34 150 DATA &H8B, &H76, &H08, &H8A, &H14, &H8B, &H76 160 DATA &H06, &H8A, &H3C, &HCD, &H10, &H5D, &HCA 170 DATA &H0E, &H00 180 ''' &H2000 190 DEF SEG = &H2000 ' &H2000 200 FOR N = 0 TO 43 '44 210 READ Q ' 220 POKE N,Q ' 230 NEXT ' 300 ''' 310 GOSUB 500 ' 320 LOCATE 1,1: PRINT TEXT$(LINEPTR); ' 500 ''' 510 DEFINT A-Z ' 520 TLR = 0 ' 530 TLC = 0 ' 540 BRR = 24 ' 550 BRC = 79 ' 560 NUMROWS = 1 ' 570 DIR = 7 ' 580 FILL = 7 ' 590 DEF SEG = &H2000 ' 600 SCROLL = 0 ' 1- 610 CALL SCROLL(DIR,NUMROWS,TLR,TLC,BRR,BRC,FILL) 620 RETURN ' . 6 10H , 7 - . AL , AL = 0, , . CH:CL , DH:DL - - . - BH. ;--- MOV AH,6 ; MOV AL,1 ; MOV CH,0 ; MOV CL,0 ; MOV DH,24 ; MOV DL,79 ; MOV BH,7 ; INT 10H ; . , - . 160 (80 * 2 - ) . , , , PCjr. [4.3.1]. - , . , . , . " " , - , . BIOS, . , - , . 3 3D8H. 1 . - . , , 3 - . - ( [4.1.2]). PCjr 1 . [4.1.1] . 4.5.2 . , . . - - . , , - 5 . 5 , , 5 . , 10 , , 5 5 . , - 5 , 5 . - 5 . [4.5.1], 0 . 4-6 . . 5 . . . ;--- 10 MOV AX,0B000H ; MOV ES,AX ; MOV DS,AX ; MOV SI,10 ; SI ... MOV DI,0 ;... DI MOV CX,1995 ; 5 REP MOVSW ; ;--- MOV AH,6 ; MOV AL,0 ; 0 MOV CH,0 ; MOV CL,75 ; MOV DH,24 ; MOV DL,79 ; MOV BH,7 ; INT 10H ; 4.5.3 . , , , , . , - , . . : 0 8 B800 1 8 B800 2 8 B800 3 8 B800 4 1 B800 5 1 B800 6 1 B800 7 1/8 B800 8 B800 9 B800 A B800 D 2/4/8 A000 E 1/2/4 A000 F 1/2 A000 10 1/2 A000 8-A - PCjr; - , . 2K 4K - , 32K - 16 16K - . D-10 EGA. - . F 10 - 128K . 7 - 8 EGA. - . , . ( B000:0000). "". , , . , - . , - . , - " ", . , , - . BIOS , , . 0 7. 0040:0062. . SCREEN , ( ) ( ). 0 3 80 0 7 40-. - SCREEN . SCREEN,,2 , PRINT 2. - . SCREEN,,,1 , 1. , - , . PCjr - CLEAR. , , 16384 . 16K, CLEAR,,,32768. 4096 . , , SCREEN - . PCjr SCREEN, (.. ). . PCOPY PCjr. . , PCOPY 2,1 2 - 1. , "". . - . . ( .) 4000 - , , . &H2000, &H2200. 9- 10- . , &H2000 &H00, &H20 DATA. , . , 1234:0000, 9 10 &H34, &H12. , . 230-260 (ASCII 32) (32 "" ). , . , - , - . 100 ''' 110 DATA &H1E, &H06, &HB8, &H00, &HB0, &H8E, &HC0 120 DATA &HB8, (3&H00, &H20), &H8E, &HD8, &HBF, &H00 130 DATA &H00, &HBE, &H00, &H00, &HFC, &HB9, &HD0 140 DATA &H07, &H26, &H8B, &H1D, &HAD, &HAB, &H89 150 DATA &H5D, &HFE, &HE2, &HF6, &H07, &H1F, &HCB 160 ''' 170 DEF SEG = &H2200 ' 180 FOR N = 0 TO 34 ' 190 READ Q ' 200 POKE N,Q ' 210 NEXT ' 220 ''' 230 DEF SEG = &H2000 ' 240 FOR N = 0 TO 3999 ' 250 POKE N,32 ' 32 260 NEXT ' 500 ''' 510 DEF SEG = &H2000 ' 520 S$ = "PSEUDOPAGE" ' 530 M = LEN(S$) ' 540 FOR N = 1 TO M ' 550 POKE N*2+2000, ASC(MID$(S$,N,1)) ' 560 NEXT ' 600 ''' 610 PRINT "SCRREN 1" ' 620 DEF SEG = &H2200 ' 630 PSEUDOPAGE = 0 ' 640 CALL PSEUDOPAGE ' 650 CALL PSEUDOPAGE ' 660 ... . 5 10H . AL: ;--- MOV AH,5 ; MOV AL,2 ; ( 0) INT 10H ; , . BIOS, ( 10H), . MS DOS - . , "" 10H. F 10H, . BH. . - , . 12 ( ) 13 ( ) 6845, . , - B800 : 40 80 0 0000H 0000H 1 0400H 0800H 2 0800H 1000H 3 0C00H 1800H 4 1000H 5 1400H 6 1800H 7 1C00H [4.1.1] 6845, [4.5.4] . BX . , - . - - . , - . 4000 . - , , . - . ;--- PPAGE DW 2000 DUP(720H) ; ;--- MOV AX,0B000H ; MOV ES,AX ; MOV AX,SEG PPAGE ; MOV DS,AX ; REPEAT: MOV DI,0 ;DI MOV SI,OFFSET PPAGE ;SI CLD ; MOV CX,2000 ; 2000 NEXT_WORD: MOV BX,ES:[DI] ; BX LODSW ; AX STOSW ; AX MOV DS:[DI]-2,BX ; BX LOOP NEXT_WORD ; PCjr 3DFH. : 2-0 ( 0 7) 5-3 ( 0 7) B800H 7-6 = 00 = 01 16K = 11 32K 4.5.4 . - , . . - , . - . , , , - . 80 "" , 80 - . 40 80 40. . 4-7 . , - , -, . , (96 80- 48 40- ) 6845 - . , , . BIOS . 0040:004EH. . 12 ( ) 13 ( ) 6845. [4.1.1] . 3D5H, 3D4H. - . START_ADDRESS - . MOV BX,START_ADDRESS ; ADD BX,80 ; 1 (80 ) MOV DX,3D4H ; MOV AL,12 ; 12 OUT DX,AL ; INC DX ; MOV AL,BH ; AL OUT DX,AL ; 12 DEC DX ; MOV AL,13 ; 13 OUT DX,AL ; INC DX ; MOV AL,BL ; AL OUT DX,AL ; 13  5. .  1. . , , , . - , , - . , 5 1/4 40 MS DOS 2.0 9 (15 1.2 17 ). 512 , 512 * 9 * 40 * 2 360K. 512 MS DOS. , - , . . " - ". , - . - , . - . , , . , , . , , . - . DOS FDISK ( ) . . , . - . BIOS 1-8, 1-9 1-15, . - , / . 0 39 5 1/4 , . BIOS , . DOS , , - , 0, . ( 0, 1) , , - MS DOS. , (- ). - , - , . , DOS IBMBIO.COM IBMDOS.COM, - C