例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

 

posted @ 2014-05-04 23:24  ASMLearner  阅读(699)  评论(0编辑  收藏  举报