★斗 串比较 CMPSB CMPSW 比较地址为DS:SⅠ、ES:DI的两 CMPSD 个字节序字双字 指令前通常加重复前缀 REPZ/REPE,从而 当发现两个串不同时结束比较
6 串比较 CMPSB CMPSW CMPSD 比较地址为DS:SI、ES:DI的两 个字节/字/双字 指令前通常加重复前缀REPZ/REPE,从而 当发现两个串不同时结束比较
★斗 串比较 例: MoSI。 OFFSETS1 MOV DI OFESETS2 MOV CX.XX REPZ CMPSB UNZ Not Equal Equal: Not Equal:
7 例: 串比较 MOV SI, OFFSET S1 MOV DI, OFFSET S2 MOV CX, xx REPZ CMPSB JNZ Not_Equal Equal: …… Not_Equal: …
★斗 串搜索 SCASB SCASW 在首地址为ES:D的串中搜索 SCASD 某个元素(字节字双字) 事先要将待搜索的元素存入 ALJAXEAX 指令前通常加重复前缀 REPNZREPNE, 从而当发现待搜索的元素时结束搜索
8 串搜索 SCASB SCASW SCASD 在首地址为ES:DI的串中搜索 某个元素(字节/字/双字) 事先要将待搜索的元素存入AL/AX/EAX 指令前通常加重复前缀REPNZ/REPNE, 从而当发现待搜索的元素时结束搜索
★斗 串搜索 例: MOVDI, OFFSET String MOV CX. XX MOVAL,‘h REPNZ SCASB JNZ Not found Found: Not found
9 例: 串搜索 MOV DI, OFFSET String MOV CX, xx MOV AL, ‘h’ REPNZ SCASB JNZ Not_Found Found: …… Not_ Found: …
★斗 串装入 LODSB LODSW 将地址为DSS的一个字节/字 LODSD 双字装入 ALAX/EAX 串装入指令没有重复前缀
10 串装入 LODSB LODSW LODSD 将地址为DS:SI的一个字节/字/ 双字装入AL/AX/EAX 串装入指令没有重复前缀