CMPSB指令的使用示例
时间: 2023-07-11 11:37:13 浏览: 248
IAIS.rar_intel_汇编指令
CMPS指令是汇编语言中的一种指令,用于比较两个内存地址中的数据。它的语法如下:
CMPSB/CMPSW/CMPSD
其中,CMPSB用于比较一个字节的数据,CMPSW用于比较一个字(两个字节)的数据,CMPSD用于比较一个双字(四个字节)的数据。
下面是一个使用CMPSB指令比较两个字符串的示例程序,该程序比较两个字符串是否相等:
```
.MODEL SMALL
.STACK 100h
.DATA
STR1 DB 'Hello, world!',0
STR2 DB 'Hello, world!',0
STR3 DB 'Hello, China!',0
.CODE
MOV AX, @DATA
MOV DS, AX
MOV ES, AX
LEA SI, STR1 ;将STR1的地址放入SI寄存器中
LEA DI, STR2 ;将STR2的地址放入DI寄存器中
MOV CX, 13 ;13是字符串的长度
REP CMPSB ;使用CMPSB指令循环比较STR1和STR2中的每个字符是否相等
JNE NOT_EQUAL ;如果不相等,则跳转到NOT_EQUAL标签处
LEA SI, STR1 ;将STR1的地址放入SI寄存器中
LEA DI, STR3 ;将STR3的地址放入DI寄存器中
MOV CX, 13 ;13是字符串的长度
REP CMPSB ;使用CMPSB指令循环比较STR1和STR3中的每个字符是否相等
JNE NOT_EQUAL ;如果不相等,则跳转到NOT_EQUAL标签处
MOV AH, 4Ch
INT 21h
NOT_EQUAL:
MOV AH, 4Ch
INT 21h
END
```
该程序使用CMPSB指令比较STR1和STR2、STR1和STR3两个字符串是否相等,如果相等则输出"Equal",否则输出"Not equal"。
阅读全文