: A 100 [Return] :0100. , Return. , Return . : IBM PC. 2 41 MOV AL,25 [Return] MOV BL,32 [Return] ADD AL,BL [Return] RET [Return] : :0100 MOV AL,25 :0102 MOV BL,32 :0104 ADD AL,BL :0106 RET . Return . , . , . U U (Unassemble) . , ( c 100 106). : U 100,106 [ Return] :0100 B025 MOV AL,25 :0102 B332 MOV BL,32 :0104 00D8 ADD AL,BL :0106 C3 RET , R . T . , . , , - . DEBUG . DEBUG : IBM PC. 2 42 1. . : : DEBUG n:[Return] D E, : W [Return] 2. DEBUG . : DEBUG, A (assemble) E (enter) , : N .COM [Return]. COM (. 6 COM-). , , . :0106 C3 RET 106 () 100 (), .. 6. CX : R CX [Return] CX 0000 ( ) - 6, : W [Return] DEBUG "Writing nnnn bytes." ( nnnn ). nnnn 0, , c. ------------------------------------------------------------ DOS DEBUG , . , E (). . "" , DOS DEBUG . , , , . IBM PC. 2 43 , , , , E, . , p . E . , (IP) 0100. R (register) : R IP [Return] IP . 0100 R ( IP). 0 , . , T, . - , . y CS, DS, SP SS, . DOS DEBUG. : o: (D), (E), (H), (N), (Q), (R), (T) (W). o . ------------------------------------------------------------ 2.1. ) . 4629 AX; ) . 036A AX. 2.2. , : E CS:100 B8 45 01 05 25 00 . 45 54. E , .. 45 54. 2.3. , : E CS:100 B8 04 30 05 00 30 CB ) ? ( ). ) AX 0460, 6004. ? IBM PC. 2 44 ) . ? 2.4. : B0 25 D0 E0 B3 15 F6 E3 CB : - . 25 AL; - AL ( AL 4A); - . 15 BL; - AL BL. (E) CS:100. , . D CS:100 . R T RET. AX ? 2.5. (E) : : 25 15 00 00 : A0 00 00 D0 E0 F6 26 01 00 A3 02 00 CB : - DS:00 (25) AL; - AL ( 4A); - AL DS:01 (15); - AX , DS:02. D . R T (RET). AX 0612. D DS:00 , DS:02 1206. 2.6. (2.5) TRIAL.COM. IBM PC. 2 45 2.7. A , : MOV BX,25 ADD BX,30 SHL BX,01 SUB BX,22 NOP RET NOP. IBM PC. 3 60  3.  ------------------------------------------------------------ : , . ------------------------------------------------------------ 2 . . , - , "" () . , . , , . DOS EDLIN . , . , DOS LINK , . , . ------------------------------------------------------------ , o , . p (;) , , ; . , . , : 1. ; 2. ADD AX,BX ; IBM PC. 3 61 - , , . , - ( ). ------------------------------------------------------------ : [] [()] ( ), ( ) p . - 132 , , 80 ( ). : COUNT DB 1 ;, , MOV AX,0 ;, : : A Z a z : 0 9 : (?) (.) ( ) " " (@) (-) ($) . . - 31 . : COUNT, PAGE25, $E10. . , , AX, DI AL . , ADD AX,BX "", AX BX . , MOV REGSAVE,AX IBM PC. 3 62 REGSAVE , . 3 c . . ( ) , o . , , (MOV) (ADD). , ) ) , . COUNTER : COUNTER DB 0 ; (DB) ; , . : RET ; INC CX ; CX ADD AX,12 ; 12 AX , - . , y . , , DOS EDLIN . ------------------------------------------------------------ , p . . . . 24 . 24 . : PAGE TITLE IBM PC. 3 63 , ( ). PAGE TITLE . PAGE. , , . c PAGE. 60 132 : PAGE 60,132 10 255, - 60 132. PAGE 66,80. , 60. , 60 , e. , , . PAGE . p PAGE. TITLE. , () , p TITLE : TITLE , . , ASMSORT, 60 : TITLE ASMSORT - SUBTTL, , . SEGMENT - . . c SEGMENT : SEGMENT [] . . IBM PC. 3 64 . ENDS , . ENDS . SEGMENT ENDS . SEGMENT , , . 1. . . PARA, . 16 , .. . nnn0. PARA. 2. . ( . " "). : STACK, COMMON, PUBLIC, AT MEMORY. : SEGMENT PARA STACK , : PUBLIC, COMMON MEMORY. , ' , . 3. . , , : SEGMENT PARA STACK 'Stack' . 3.1. SEGMENT . PROC . , PROC. , : - SEGMENT PARA - PROC FAR . . . RET IBM PC. 3 65 - ENDP - ENDS , . FAR DOS, . ENDP , PROC. RET DOS. (. .7). ASSUME SS , DS CS c . . ASSUME, : ASSUME SS:_,DS:__,CS:__ , SS:_ , SS. . ES . ES, ES:NOTHING. END , ENDS , ENDP . END : END [_] , , , , () . o , PROC, o FAR. ------------------------------------------------------------ , . , WORDA : IBM PC. 3 66 MOV AX,BX ; BX AX MOV AX,WORDA ; WORDA AX MOV AX,[BX] ; ; BX AX MOV AX,25 ; 25 AX MOV AX,[25] ; 25 , . ------------------------------------------------------------ : EXE COM. EXE-, COM- 6. DOS EXE-: 1) , c , 2) , DS, , 3) 4) DS . DOS RET. .3.1 : 1. ASSUME - , ; , CODESG - CS, DATASG - DS STACKSG - SS. DATASG STACKSG , : STACKSG SEGMENT PARA STACK Stack 'Stack' DATASG SEGMENT PARA 'Data' , . , : 0, , 2 .. 2. 256- (.100) , PSP. DS PSP. , . , RET DOS. IBM PC. 3 67 3. , (, ). SUB AX, AX, PUSH . 4. DOS SS CS. DS , DS MOV, .3.1. " . II" DS. ------------------------------------------------------------ ------------------------------------------------------------ . 3.1. EXE-. 5. RET DOS, , PUSH DS. INT 20H. , - . , . ------------------------------------------------------------ . 3.2. . - STACKSG - CODESG. STACKSG DB ( ), 12 'STACKSEG'. p , , . CODESG , ASSUME . ASSUME SS STACKSG CS CODESG. , , STACKSG SS CODESG - CS. SS CS. , , , ASSUME p DS. IBM PC. 3 68 , ASSUME - PUSH, SUB PUSH DS . , , DOS, DOS . ( , ). , p.2.1 , . ------------------------------------------------------------ " " . ENDS, - ENDP, - END. ASSUME . EXE- ( COM-, . .6) 32 , PUSH, SUB PUSH DS . ------------------------------------------------------------ 3.1. ? 3.2. : ) PC_AT, ) $50, ) @$_Z, ) 34B7, ) AX? 3.3. , ? 3.4. END, ) , ) , ) ? 3.5. . 3.6. RET END. 3.7. , CDSEG, DATSEG STKSEG . ASSUME. 3.8. DS . IBM PC. 4 79  4.  ------------------------------------------------------------ : , . ------------------------------------------------------------ , , , . , . ------------------------------------------------------------ .3.2. , . DOS EDLIN . EDLIN, DOS. EDLIN DOS A B. , CHKDSK B:. C: B:. EXASM1, EDLIN :EXASM1.ASM [Return] DOS EDLIN "New file" "*-". I , , p . 3.2. , , , , , y. EDLIN . . E ( Return) EDLIN. , DIR B: ( ) DIR B:EXASM1.ASM ( ) IBM PC. 4 80 , . . PRINT ( DOS 2.0 ). DOS : PRINT B:EXASM1.ASM [Return] EXASM.ASM - . p . ------------------------------------------------------------ EXASM1.ASM , . p , . , . OBJ-. 2 x . OBJ- , . OBJ- EXE () , . LINK, DOS, : 1. OBJ- , . ----R. 2. , , () ; , , . 3. EXE- . OBJ- ( ) EXE-, EXE- . , EXE-, , OBJ- OBJ- IBM PC. 4 81 EXE-. , , , , , EXE- . : EXE- o COM-. , , c . 6. ------------------------------------------------------------ , , . a. ASM.EXE - MASM.EXE - . , MASM ( . ). , A, B. p C A B. MASM ( ASM), . : source filename [.ASM]: object filename [filename.OBJ]: source listing [NUL.LST]: cross-reference [NUL.CRF]: , . ( ) : B:EXASM1. ASM, . - ( ). , B:. , . B B: Return. , c . B, B: Return. , Return. , c OBJ, LST CRF-. , , , . source filename [.ASM]:B:EXASM1 [Return] IBM PC. 4 82 object filename [filename.OBJ]:B: [Return] source listing [NUL.LST]:B: [Return] cross-reference [NUL.CRF]:B: [Return] , , OBJ- - . LST-, , . CRF- , , . , LST- , CRF-. 4 " " () 1.0 2.0. . , (, MOVE MOV), p . ASM , , ASM , . 100 . , , (EXASM1.ASM) . . 4.1. , c EXASM1.LST. PAGE TITLE. , SEGMENT, PROC, ASSUME END . , . . . 0000. p SS p. SEGMENT 16- , . . DB, 0000, 12 'STACKSEG'; .0C ( 12) . ASCII . ( ). . 0060, 96 (128). ------------------------------------------------------------ ------------------------------------------------------------ . 4.1. IBM PC. 4 83 0000. p CS . ASSUME , , PUSH DS - (1E),