3.1. tabsrc1.asm NORTON :
.286
TITLE TABSRC2 (COM)
CODESG SEGMENT PARA 'Code'
ASSUME CS:CODESG,DS:CODESG,SS:CODESG,ES:CODESG
ORG 100H; PSP
BEGIN: JMP SHORT MAIN;
;-------------------------------------------------------
STOKNIN DB '123';
STOKTAB DB '035','Excavators';
DB '038','Lifters '
DB '049','Presses '
DB '102','Valves '
DB '123','Processors'
DB '127','Pumps '
DB '999', 10 DUP (' ');
DESCRN DB 10 DUP(?)
;--------------------------------------------------------
MAIN PROC NEAR
CLD
LEA SI,STOKTAB;.
A20: MOV CX,03; 3
LEA DI,STOKNIN;
REPE CMPSB;
JE A30; -
JA A40; -
ADD SI,CX;
ADD SI,10; .
JMP A20; .
A30: MOV CX,05; 5
LEA DI,DESCRN;
REP MOVSW;
RET
A40: CALL R10ERR;
RET
MAIN ENDP
R10ERR PROC
RET; < >
R10ERR ENDP
CODESG ENDS
END BEGIN
STOKTAB, '999' . STOKNIN.
, REPE CMPS. REPE CMPS , , SI DI.
03, SI DI 05 02 . (035:123) , SI 06, DI - 03, - 02. SI 18, DI - 02. DI STOKNIN.
, SI, , (, ) . , , - 02. SI , :
SI REPE CMPSB 06
02
10
-------------------------------------
. 18 (12)
, ( ), : , . , 00, SI .
3.2. . .
3.3. DEBUG . . REP MOVSW. REP MOVSW. .