注册 登录
编程论坛 汇编论坛

db 21 dup ('year summ ne ?? ')如何在year后面用终止符代替空格

神龙赖了 发布于 2013-02-25 20:44, 1128 次点击
db 21 dup ('year summ ne ?? ')如何在year后面用终止符代替空格
 db 21 dup ('year'0'summ ne ?? ')会出现语法错误,为何不行?
希望解答,非常感谢。
8 回复
#2
wp2319572013-02-25 21:38
字符串初始化 不用dup吧

szMsgText    db    '几时心绪浑无事,得几游丝百尺长?',0
#3
zklhp2013-02-25 21:41
认真看书罢 汇编不是你想写 想写就能写
#4
神龙赖了2013-02-25 21:55
这是我在编写实验10的课程设计1中的程序中要用到的...我也想看书,可书上没提啊,现在我的确是有个办法能完成,但是还是想问下有什么办法能直接做到在初始化中插入
恩,我的意思是在字符串中插入,并不是在末尾加上终止符,就好像c中的
"fff\0jjj"(当然在汇编中肯定不行...)
虽然只有20分,但是最近分撒得有点狂了,弄得手头有点紧,还请笑纳啊...
#5
wp2319572013-02-25 21:59
我估计是不行  因为汇编中没有看到过\0出现在字符串中间的
再说出现也没意义啊 \0的出现就意味着字符串的终止了 以后和前面没关系了
#6
zklhp2013-02-25 22:01
以下是引用神龙赖了在2013-2-25 21:55:26的发言:

这是我在编写实验10的课程设计1中的程序中要用到的...我也想看书,可书上没提啊,现在我的确是有个办法能完成,但是还是想问下有什么办法能直接做到在初始化中插入
恩,我的意思是在字符串中插入,并不是在末尾加上终止符,就好像c中的
"fff\0jjj"(当然在汇编中肯定不行...)
虽然只有20分,但是最近分撒得有点狂了,弄得手头有点紧,还请笑纳啊...

DOS汇编里 用于输出的中断里面默认是'$'作为结尾符的 当然也有用'\0'结尾的

另外你的dup写法是错误的 你调试一下编译出来的东西看看变成什么了。。
#7
zklhp2013-02-25 22:07
以下是引用zklhp在2013-2-25 22:01:08的发言:


DOS汇编里 用于输出的中断里面默认是'$'作为结尾符的 当然也有用'\0'结尾的

另外你的dup写法是错误的 你调试一下编译出来的东西看看变成什么了。。

不对 好像int 21h里面没有用'\0'结尾的 那我在哪看的呢。。
#8
神龙赖了2013-02-26 19:19
我有办法了
db 21 dup ('year',0,'summ ne ?? ')
这样就可以实现了
嗯...dup写法错误了吗?可是编译器没出警告啊,调试结果也正确,主要是《汇编语言》书上是这么写的,如果有什么写法上的错误或者缺陷,希望能够帮忙讲讲,至少让我这20分不白花嘛...
#9
zklhp2013-02-27 16:50
以下是引用神龙赖了在2013-2-26 19:19:13的发言:

我有办法了
db 21 dup ('year',0,'summ ne ?? ')
这样就可以实现了
嗯...dup写法错误了吗?可是编译器没出警告啊,调试结果也正确,主要是《汇编语言》书上是这么写的,如果有什么写法上的错误或者缺陷,希望能够帮忙讲讲,至少让我这20分不白花嘛...

怎么写跟怎么实现有关系 你看看书上具体咋写的 我没看过 帮不了你了

祝您学习顺利
1