4.1. NORTON -(dubl.asm):
.286
TITLE DUBL (COM)
CODESG SEGMENT PARA 'Code'
ASSUME CS:CODESG,DS:CODESG,SS:CODESG,ES:CODESG
ORG 100H; PSP
BEGIN: JMP MAIN;
;-------------------------------------------------------
PATTERN DB '***___'
DISAREA DB 42 DUP(?)
;--------------------------------------------------------
MAIN PROC NEAR
CLD
MOV CX,21
LEA DI,DISAREA
LEA SI,PATTERN
REP MOVSW
RET
MAIN ENDP
CODESG ENDS
END BEGIN
MOVSW (**) PATTERN DISAREA, (*_) (__). DI DISAREA+6, SI - PATTERN+6. MOVSW , DISAREA DISAREA+6, DISAREA+2 DISAREA+8, DISAREA+4 DISAREA+10 .. 0. DISAREA.
4.2. . .
4.3. DEBUG . D CS:100 RET. D CS:100, .
5. : .
5.1. NORTON -(exring.asm):
.286
TITLE EXRING (COM)
CODESG SEGMENT PARA 'Code'
ASSUME CS:CODESG,DS:CODESG,SS:CODESG,ES:CODESG
ORG 100H; PSP
BEGIN: JMP MAIN;
;-------------------------------------------------------
NAMEPAR LABEL BYTE;
MAXNLEN DB 31;
ACTNLEN DB?;
NAMEFLD DB 31 DUP(' ');
PROMPT DB 'Name?','$'
NAMEDSP DB 31 DUP(' '),13,10,'$'
ROW DB 00
;--------------------------------------------------------
MAIN PROC NEAR;
MOV AX,0600H
CALL Q10SCR;
SUB DX,DX
CALL Q20CURS; 0
A10LOOP:CALL B10INPT;
CALL F10CLNM;
TEST ACTNLEN,0FFH; ? (.. )
JZ A90; -
CALL D10SCAS;
CMP AL,'*';?
JE A10LOOP; -
CALL E10RGHT;
CALL A10LOOP
A90: RET
MAIN ENDP
;
; -----------------------------
B10INPT PROC
MOV AH,09
LEA DX,PROMPT;
INT 21H
MOV AH,0AH
LEA DX,NAMEPAR
INT 21H
RET
B10INPT ENDP
;
; -----------------------
D10SCAS PROC
CLD
MOV AL,'*'
MOV CX,30; 30
LEA DI,NAMEFLD
REPNE SCASB; ?
JE D20; -
MOV AL,20H; - * AL
D20: RET
|
|
D10SCAS ENDP
;
; -----------------------------
E10RGHT PROC
STD
SUB CH,CH
MOV CL,ACTNLEN; REP
LEA SI,NAMEFLD
ADD SI,CX;
DEC SI;
LEA DI,NAMEDSP+30;
REP MOVSB;
MOV DH,ROW
MOV DL,48
CALL Q20CURS;
MOV AH,09
LEA DX,NAMEDSP;
INT 21H
CMP ROW,20; ?
JAE E20
INC ROW; -
JMP E90
E20: MOV AX,0601H; -
CALL Q10SCR
MOV DH,ROW
MOV DL,00
CALL Q20CURS;
E90: RET
E10RGHT ENDP
;
; -----------------------
F10CLNM PROC
CLD
MOV AX,2020H
MOV CX,15
LEA DI,NAMEDSP
REP STOSW; 15
RET
F10CLNM ENDP
;
; ----------------
Q10SCR PROC;
MOV BH,30; (07 /)
MOV CX,00
MOV DX,184FH
INT 10H
RET
Q10SCR ENDP
;
; -----------------
Q20CURS PROC;DX
MOV AH,02
SUB BH,BH
INT 10H
RET
Q20CURS ENDP
CODESG ENDS
END BEGIN
:
B10INPT 30 .
D10SCAS SCASB , *.
E10RGHT MOVSB , . ACTNLEN .
F10CLNM STOSW .
5.2. . .
5.3. NORTON. . .
:
1. .
2. .
:
1. :