1. 21h
21H , DOS. -, DOS. .5.4 , . AH 21H.
ֲ DOS INT 21H
DOS INT 21H. AH:
00 ( INT 20H).
01 .
02 .
03 . .
04 . .
2. /
: Ѳ DOS
DOS , AH 09 ( DOS) DOS INT 21H. o ($), :
NAMPRMP DB '' ?','$
MOV AH,09;
LEA DX,NAMPRMP; .
INT 21H; DOS
"$" c ( ), :
' ?$', DB '$'.
, "$". , , , "$" '.
LEA NAMPRMP DX DOS . NAMPRMP, DX LEA, o, DOS DS DX (DS:DX).
: ˲ ASCII
256 ASCII , . 00 FF , ASCII . 20.
. 8.1 COM-, ASCII. ; B10CLR, C10SET D10DISP. B10CLR , C10SET 00,00. D10DISP CTR, 00 1 , . FF.
08 0D c, . : , , COM-. ', , :ASCII.COM. (.00), " " (. 01 02) (.03, 04 05). 07 . 06 "", 08 0D . 0D " " () . 0E - . 7F . . , 08 0D. , o , , 08 ( ) 0D ( ):
|
|
CMP CTR,08H; 08?
JB D30; -
CMP CTR,0DH; / 0D?
JBE D40; -
D30:
MOV AH,40H; < 08
INT 21H; > 0D
D40:
INC CTR
²: Ѳ DOS
, . , DOS, c , , INT. -, , . , ; , . -, , . , . LABEL BYTE. , . , - FF 255. DOS . , .
NAMEPAR LABEL BYTE; :
MAXLEN DB 20;
ACTLEN DB?;
NAMEFLD DB 20 DUP (' ');
LABEL , NAMEPAR MAXLEN a '. MASM STRUC. , ' , , , , c 24 " ". AH - 10 (. 0AH), (NAMEPAR ) DX INT 21H:
MOV AH,0AH;
LEA DX,NAMEPAR;
INT 21H; DOS
INT , , c , (20 ). Return. (. 0D) (NAMEFLD ). , , ' BROWN (Return), c :
|
|
.::20:5: : R: O: W: N: #:::::...
.::14:05:42:52:4F:57:4E:0D:20:20:20:20:...
(ACTLEN ) - 05. Return NAMEFLD +5. # , 0D . 20 .0D, 19 .
:
EXE-, . 8.2, , ' . , Return . , ' TED SMITH:
1. 09 2 4,
2. ³ 40, 36
SHR E10CENT 09 o , 2. 00001001 00000100. NEG +4 -4. ADD 40, DL - 36. 12 36 ' :
12: TED SMITH
: 36 40
E10CODE , c (07) :
MOV NAMEFLD[BX],07
BX , MOV , BX NAMEFLD, 07. , 05 07 NAMEFLD+05 ( Return). E10CODE "$" 07. , F10CENT ', p .
Return
, , , o Return. ', Return, y : (.)::14:00:0D:. , , Return . p .
Return
, , , : , , . , , ' Return (.0D) NAMEFLD (.20). NAMELEN 0D. , , NAMELEN 05, 0D NAMEFLD+5. BX NAMEFLD:
MOV BH,00; BX
MOV BL,NAMELEN; 0005
MOV NAMEFLD[BX],20H; 0D
MOV (.20) , : NAMEFLD BX, NAMEFLD+5.