(练手备忘)汇编实现将输入的字符串中的空格去掉后反序输出
来源:互联网 发布:身份证被盗用开淘宝店 编辑:程序博客网 时间:2024/05/16 03:23
功能:任意输入一个字符串,去掉其中的空格后反序输出
注:使用 int 21h 里的 0AH 功能 输入一个字符串时,字符串的第一个字节存储的是字符串的最大长度,第二个字节存储的是实际读入字符的个数
编译器使用的是MASMPlus
;#Mode = DOSMAXLEN = 64 ;设置字符串的最大长度SPACE = ' ' ;空格datasg segmentbuffer db MAXLEN+1,0,MAXLEN+1 dup(0) ;字符串输入缓冲区string db MAXLEN+3 dup(0) ;字符串反序后的结果datasg endsassume cs:codesg,ds:datasgcodesg segmentstart: ;ds:dx指向输入缓冲区首址mov ax,datasgmov ds,axmov dx,offset buffer;输入字符串mov ah,10int 21h;判断字符串长度是否为0xor ch,chmov cl, buffer[1] ;cl为字符串长度jcxz ok ;长度为0则结束;长度不为0mov si,offset buffer xor bh,bhadd bl,buffer[1]add si,bx inc si ;设置ds:si指向字符串末尾 mov ax,datasgmov es,axmov di,offset string ;设置es:di指向翻转字符串首地址;翻转字符串xor ah,ahmov al,SPACEok1:cmp al,BYTE ptr [si]jz ok2 ;去掉空格mov bl,BYTE ptr [si]mov BYTE ptr [di],blinc diok2:dec siloop ok1;计算字符串长度mov cx,disub cx,offset string;---------------------------------------------------自定义输出--------------------------------------------------------;ds:si 指向源地址mov ax,datasgmov ds,axmov si,offset string;es:di 指向目的地址mov ax,0b800hmov es,axmov di,160*5+2*10 ;设置显示的位置;输出 mov bh,02h ;设置显示字体的属性next:mov bl,BYTE ptr ds:[si]mov BYTE ptr es:[di],blinc dimov BYTE ptr es:[di],bhinc siinc diloop next;---------------------------------------------------自定义输出--------------------------------------------------------; 输出翻转后的字符串;mov BYTE ptr [di],'$';mov dx,offset string;mov ah,09h;int 21hs: jmp s ;死循环,防止一闪而过,看不到结果;程序结束ok:mov ax,4c00hint 21hcodesg endsend start
4 0
- (练手备忘)汇编实现将输入的字符串中的空格去掉后反序输出
- 汇编-将输入的字符串逆序输出
- 在终端输出字符串,然后封装一个函数,这个函数的功能是:去掉输入的字符串中的空格
- 去掉一个字符串中的非字母字符,并将结果反序输出。(时间复杂度为n)
- 输入一个字符串,实现其反序输出
- 去掉输入字符串中间的空格
- C/C++学习之C提高-----非空格的字符串长度、去掉字符串前后空格、字符串反转、键值对字符串、const练习、二级指针做输入/输出的特性、将字符串按逗号分开,并放入二维数组打印出来
- 输入字符串反序输出
- 输入字符串,反序输出
- 【字符串处理算法】将输入字符串中的各个单词反序的算法设计及C代码实现
- 输入一个字符串,如果第二个字符是字母(a~z ,A~Z),则将其大写变小写,小写变大写,如果不是字母则将其修改为空格,并将修改后的字符串输出。
- 去掉字符串中的空格
- 去掉字符串中的空格
- 去掉字符串中的空格
- 关于汇编的基本小程序——将输入字符串中的小写字母转换成大写字母并输出
- 汇编实现输入字符串逆向输出
- 将带空格的字符串去掉空格.join()函数
- IOS中如何将字符串中的空格去掉
- 有符号数与无符号数;数在计算机的表示形式
- 自定义FireFox的样式[userChrome.css]和去除地址栏内的小箭头
- UML图 依赖、关联、聚合、组合
- VC++Redistributable的安装判断
- 【转载】深度学习概述:从感知机到深度网络
- (练手备忘)汇编实现将输入的字符串中的空格去掉后反序输出
- cocos2dx 3.0 TTF中文字体的使用说明
- javascript中继承(一)-----原型链继承的个人理解
- 2014/5/10对自己的以后似乎有了新的想法
- 通过二叉树的中序和后序遍历序列构造二叉树(非递归)
- ACM 三角形判断
- 设计模式之代理模式
- 线程的创建
- 生产者消费者