【80X86汇编语言学习】【字符串处理】字符串操作举例strcat
来源:互联网 发布:win10 触摸屏手势软件 编辑:程序博客网 时间:2024/05/16 09:27
例子:写一个在字符串1后追加字符串2的子程序。折字符串均为0结尾
DSEGSEGMENTBUFFER1 DB'Hello World ',0 DB50 DUP(0)BUFFER2 DB' Welcome !!!',0DSEGENDSCSEGSEGMENTASSUMEDS:DSEG,CS:CSEGSTART:MOVAX,DSEGMOVDS,AX;MOVSI,OFFSETBUFFER1CALLDMESSCALLNEWLINE ;显示buff1信息;MOVSI,OFFSETBUFFER2CALLDMESSCALLNEWLINE ;显示buff2信息;MOVSI,OFFSETBUFFER1MOVDI,OFFSETBUFFER2CALLSTRCAT ;将字符串2添加到字符串1中MOVSI,OFFSETBUFFER1CALLDMESS ;显示添加之后的字符串CALLNEWLINEMOVAX,4C00HINT21H;子程序名:DMESS;功 能:显示一个以0结尾的字符串;入口参数:SI = 显示字符串的首地址;出口参数:无DMESS PROCDMESS1:MOVDL,[SI]INCSIORDL,DL;OR操作使CF=0,ZF会反映运算结果JZDMESS2MOVAH,2INT21HJMPDMESS1DMESS2:RETDMESS ENDPNEWLINEPROCPUSHAXPUSHDXMOVDL,0DHMOVAH,2 INT21HMOVDL,0AHMOVAH,2 INT21HPOPDXPOPAXRETNEWLINE ENDP;子程序名:STRCAT;功 能:在字符串1末尾,添加字符串2;入口参数:DS:SI = 字符串1其实地址的段值:偏移; DS:DI = 字符串2起始地址的段值:偏移;出口参数:无;说 明:不考虑在字符串1后是否留有足够的空间STRCATPROCPUSHESPUSHAXPUSHCXPUSHSIPUSHDICLD ;清DF的方向标志位PUSHDSPOPES ;使ES等于DSPUSHDI ;保存DIMOVDI,SI ;将SIXORAL,AL ;清空AL,使AL = 0 MOVCX,0FFFFHREPNZSCASB ;扫描SI指向的字符串,将DI指向字符串的结尾处LEASI,[DI-1] ;将SI指向字符串中的最后一个字符,非零POPDI ;MOVCX,0FFFFHREPNZSCASBNOTCX ;确认字符串中的长度SUBDI,CX ;将DI,重新指向字符串的开头XCHGSI,DI ;交换SI 与 DI TESTSI,1 ;判断SI指向的字符串的地址是否奇数地址JZSTRCAT1 MOVSB ;如果是奇数地址,首先保存一个字节DECCXSTRCAT1:SHRCX,1REPZMOVSWJNCSTRCAT2MOVSBSTRCAT2:POPDIPOPSIPOPCXPOPAXPOPESRETSTRCATENDPCSEGENDSEND START
0 0
- 【80X86汇编语言学习】【字符串处理】字符串操作举例strcat
- 【80X86汇编语言学习】【字符串处理】字符串操作指令REP
- 【80X86汇编语言学习】【字符串处理】字符串操作指令REPNZ/REPNE
- 80x86汇编语言:字符串移动
- 80x86 汇编语言:查找字符串
- 80x86汇编语言:输入字符串、转换、输出
- 80x86 汇编语言:键入字符串,然后存盘
- 字符串处理函数学习整理之二 strcat
- 80x86汇编语言编程:查找字符串中的最大、最小值
- 80x86 汇编语言编程:输入字符串,排序输出
- 用80x86汇编语言:在字符串中删除一个字符
- 80x86 汇编语言:输入字符串、显示其中数字
- 80x86 汇编语言:实现两个字符串内容交换
- 汇编语言---字符串操作指令
- python字符串操作举例
- 汇编语言学习 字符串输出
- 字符串基本处理函数(strlen,strcpy,strcat)
- 字符串处理(一)strcat和strncat
- Set Matrix Zeroes
- 玩命牛的成长记录(二十五)——变形
- 欢迎使用CSDN-markdown编辑器
- 黑马程序员--多态总结--java
- 【黑马程序员】OC之self关键字的介绍
- 【80X86汇编语言学习】【字符串处理】字符串操作举例strcat
- 玩命牛的成长记录(二十五)——各种变形效果
- scala学习之Scala中类的使用
- Python网络爬虫(一):初步认识网络爬虫
- Maven tools.jar not found
- ext校验
- Unity3D避免玩家作弊
- 一个人,一个网站,5.75亿美元卖掉
- 【C++语法】关于operator[]重载的注意点