![]() | 第5章 子程序和串处理 | -95- | |||||||||||||||||||
main code |
endp ends end |
main |
|||||||||||||||||||
这种解决问题的方法显得有点儿累,它不适合逆序显示任意长度的字符串。下面我们换一种思路来考虑这个问题。 这个问题可以分成两种情况:(1)字符串只有一个字符;(2)字符串有一个以上的字符。 对于第一种情况,我们只要将此字符显示出来即可,对于第二种情况,我们可以将多字符组成的字符串分解成"首字符+其余字符组成的新字串",那么逆序显示这个字符串的问题就变成了"先逆序显示'其余字符组成的新字串',再显示'首字符'"。图5-2描绘出这个算法: |
|||||||||||||||||||||
![]() 图5-2 字符串逆序输出算法 |
|||||||||||||||||||||
程序DISP2.ASM就是据此思路编制出的: | |||||||||||||||||||||
DISP2.ASM | |||||||||||||||||||||
data mess data code main |
segment assume db 'Welcome to PC wo ends segment assume proc mov mov |
ds:data rld',0dh,0ah,24h cs:code far ax,data ds,ax |
;初始化DS寄存器指向数据段 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |