帮忙给每行注释下.越详细越好.MOV\x05\x05CX,100MOV\x05\x05AL,待搜索的对象LEA\x05\x05DI,BLOCKMOV\x05\x05AX,SEG BLOCKMOV\x05\x05ES,AXREPNE SCASBDEC\x05\x05DI循环的是哪几句?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/21 12:36:20
帮忙给每行注释下.越详细越好.MOV\x05\x05CX,100MOV\x05\x05AL,待搜索的对象LEA\x05\x05DI,BLOCKMOV\x05\x05AX,SEGBLOCKMOV\x05

帮忙给每行注释下.越详细越好.MOV\x05\x05CX,100MOV\x05\x05AL,待搜索的对象LEA\x05\x05DI,BLOCKMOV\x05\x05AX,SEG BLOCKMOV\x05\x05ES,AXREPNE SCASBDEC\x05\x05DI循环的是哪几句?
帮忙给每行注释下.越详细越好.
MOV\x05\x05CX,100MOV\x05\x05AL,待搜索的对象LEA\x05\x05DI,BLOCKMOV\x05\x05AX,SEG BLOCKMOV\x05\x05ES,AXREPNE SCASBDEC\x05\x05DI
循环的是哪几句?

帮忙给每行注释下.越详细越好.MOV\x05\x05CX,100MOV\x05\x05AL,待搜索的对象LEA\x05\x05DI,BLOCKMOV\x05\x05AX,SEG BLOCKMOV\x05\x05ES,AXREPNE SCASBDEC\x05\x05DI循环的是哪几句?
MOV CX,100 ;设置循环次数100次
MOV AL,待搜索的对象 ;设置待匹配对象
LEA DI,BLOCK ;将BLOCK偏移地址赋给DI,作为目的串起始地址
MOV AX,SEG BLOCK ;将BLOCK段地址赋给AX
MOV ES,AX ;将目的串段地址赋给附加段
REPNE SCASB ;重复字节串搜索指令,每次CX-1,至CX=0或ZF=1为止;每次搜索完DI位于匹配处的下一单元
DEC DI ;所以最后一次结束后DI位于串结尾的下一个单元,通过自减一得到匹配处的偏移地址
[补充] SCASB作用是在字节串中搜索AL中的值,根据DF值设置每次结束后DI是值,DF=0(默认)时,DI自增,DF=1时,DI自减