汇编 字符串比较与查找
2022/3/3 14:15:49
本文主要是介绍汇编 字符串比较与查找,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
字符串比较与查找
用字符串处理指令编程程序,处理字符串的比较和查找,显示结果。
要求:(1)字符串的比较程序中,一个字符串在数据段定义,另一个字符串在程序执行时从键盘输入,必须定义键盘缓冲区,并指出不相等的位置。
(2)在字符串中查找某个字符,字符串在数据段定义,要查找的字符在程序执行时从键盘输入,并指出找到的位置。
代码仓库:https://github.com/SKPrimin/HomeWork/tree/main/Assembly/StringCompareFind
一比较程序
DATA SEGMENT BUFF DB 255 DUP('?') DATA ENDS ;定义缓冲区 EXT SEGMENT MESS DB 'skprimin$' EXT ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:EXT START: MOV AX,DATA MOV DS,AX MOV AX,EXT MOV ES,AX ;向缓冲区输入字符串 LEA DX,BUFF MOV AH,0AH INT 21H MOV CL,BUFF+1 LEA SI,BUFF+2 LEA DI,MESS CLD MOV BL,'0' XY:INC BL CMPSB LOOPZ XY ;循环BL+1 JZ YES MOV DL,BL JMP XXXXXXXXXX YES:MOV DL,'v' XXXXXXXXXX:MOV AH,2 INT 21H ;显示字符 MOV AH,4CH INT 21H CODE ENDS END START
2.编译,连接,生成exe文件
- 通过运行exe文件
与在数据段定义的skprimin相比
① 第一次键入skpriman
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
s | k | p | r | i | m | i | n |
s | k | p | r | i | m | a | n |
刚好返回7,指出位置7处不相等
② 第二次键入skprimia
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
s | k | p | r | i | m | i | n |
s | k | p | r | i | m | i | a |
二查找程序
DATAS SEGMENT STRING DB 'abcdefg$' TIP DB 'NOT FOUND$' DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV ES,AX MOV DS,AX MOV AH,01H INT 21H ;键盘输入一个字符并回显 LEA DI,STRING MOV CX,8 CLD MOV BL,'0' FIND: INC BL SCASB LOOPNZ FIND JZ OUTPUT NOFIND: MOV DL,0AH MOV AH,02H INT 21H ;显示字符 LEA DX,TIP MOV AH,09H INT 21H ;显示字符串 JMP DDL OUTPUT: MOV DL,0AH MOV AH,2H INT 21H ;显示输出一个字符 MOV DL,BL MOV AH,2H INT 21H ;显示输出一个字符 JMP DDL DDL: MOV AH,4CH INT 21H ;程序结束 CODES ENDS END START
2、编译,连接
3、运行
a | b | c | d | e | f | g | |
---|---|---|---|---|---|---|---|
a 1 | |||||||
c 3 | |||||||
h NOT FOUND |
这篇关于汇编 字符串比较与查找的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南