例5. 写一个程序判定从地址0040:0000H开始的2048个内存字节单元中是否有字符‘A’。如有则把第一个(按地址由小到大为序)含此指定字符的储单元的地址偏移送到0000:03FEH单元中;如没有则把特征值0FFFFH送上述指定单元。
1 ;程序名:T3-13.ASM 2 ;功 能: 说明由计数和条件双重控制的循环 3 ;常量定义 4 SEGADDR = 40H 5 OFFADDR = 0 6 COUNT =2048 7 KEYCHAR ='A' 8 SEGRESU =0 9 OFFRESU =3FEH 10 CSEG SEGMENT 11 ASSUME CS:CSEG 12 START: 13 MOV AX,SEGADDR 14 MOV DS,AX 15 16 MOV SI,OFFADDR 17 MOV CX,2048 18 MOV AL,KEYCHAR 19 NEXT:CMP AL,[SI] 20 JZ OK 21 INC SI 22 LOOP NEXT 23 MOV SI,0FFFFH 24 OK : MOV AX,SEGRESU 25 MOV DS,AX 26 MOV BX,OFFRESU 27 MOV [BX],SI 28 MOV AH,4CH 29 INT 21H 30 CSEG ENDS 31 END START