⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asslandat99.dat

📁 是关于汇编指令的一个小字典,用起来很舒服,对初学者应该有些帮助的
💻 DAT
字号:
 重复前缀的说明 
 在串操作指令前加上重复前缀,可以对字符串进重复处理。由于加上重复前缀后,对应的指令代码是不同的,所以指令的功能便具有重复处理 的功能,重复的次数存放在CX寄存器中。 
 重复前缀形式有:REP   ;CX<>0,重复执行字符串指令 
 REPZ/REPE   ;CX<>0,且ZF=1重复执行字符串指令 
 REPNZ/REPNE   ;CX<>0,且ZF=0重复执行字符串指令 
 REP与MOVS或STOS串操作指令相结合使用,完成一组字符的传送或建立一组相同数据的字符串。 
 REPZ/REPE常用与CMPS串操作指令结合使用,可以完成两组字符串的比较。当串未结束(CX)<>0且当对应串元素相同(ZF=1)时,继续重复执 行字符串指令。它可用来判定两字符串是否相同。 
 REPZ/REPE常与SCAS指令结合使用,可以完成在一个字符串中搜索一个关键字。只要当字符串未结束(CX<>0)且当关键字与元素相同(ZF=1) 时,继续重复执行串搜索指令,用于在字符串中查找与关键字不相同的数据的位置。 
 REPNZ/REPNE与CMPS指令结合使用,表示当串未结束(CX=1)且当对应串元素不相同(ZF=0)时,继续重复执行串比较指令。它可在两字符串 中查找相同数据的位置。 
 REPNZ/REPNE与SCAS指令结合使用,表示串未结束(CX=1)且当关键字与串元素不相同(ZF=0)时,继续重复执行串搜索指令。它可用来在字 符串中查找关键字相同的的数据位置。 

 重复前缀应用的程序举例如下: 
 例1  对两个字符串STR1与STR2进行比较 
 MOV SI,OFFSET STR1 
 MOV DI,OFFSET STR2 
 MOV CX,COUNT   ;COUNT为串长度 
 CLD 
 REPZ CMPSB 
 JNZ NEQU   ;串不相同,送0FFH标志 
 MOV AL,0   ;串相同,送0FFH标志 
 JMP OVR 
 NEQU:MOV AL,0FFH 
 OVR:MOV RESULT,AL   ;将比较结果送RESULT 
 HLT 
 例2 字符串中搜索关键字,记下搜索的次数和关键字在串中的位置 
 CLD 
 MOV DI,OFFSET BLOCK  ;DI为目的串指针 
 MOV CX,COUNT   ;CX为串长度 
 MOV AL,CHAR   ;AL中为搜索的关键字 
 REPNE SCASB   ;重复搜索关键字 
 JZ FOUND    ;找到,转FOUND 
 MOV DI,0   ;未找到,退出程序 
 JMP DONE 
 FOUND:DEC DI    ;DI为关键字的位置 
 MOV POINTER,DI   ;保存关键字的位置 
 MOV BX,OFFSET BLOCK  
 SUB DI,BX   ;DI中为查找的次数 
 MOV POINTER+2,DI   ;保存搜索次数 
 DONE:HLT 
 注意:若找到该关键字,由于DI是自增的,这时DI已经指向关键字的下一个字符,故DI减1才是真正关键字在字符串的位置。当前关键字的位  置减去串首址,即得到搜索的次数。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -