从一个函数里读取字符串,怎样判断这个字符串已经到末尾了?

rookit 2009-02-21 09:01:10
int main(void)
{
char a[] = "2156";
int u = uatoi(a);
printf("%d\n", u);
}


其中uatoi函数用汇编写
把字符串带入%eax后,逐个读取字符
怎样判断已经读到最后一个?
...全文
220 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rookit 2009-02-21
  • 打赏
  • 举报
回复
恩,知道了
非常感谢
cnzdgs 2009-02-21
  • 打赏
  • 举报
回复
对你这种汇编语法不太了解,如果(%eax,%ecx)表示取eax+ecx的地址中的1字节数据,这样就是对的,否则不对。
rookit 2009-02-21
  • 打赏
  • 举报
回复

......
mov $0,%ecx
L1:cmp $0,(%eax,%ecx)
je L2
......
inc %ecx
jmp L2
L2:......


这样写,对吗?
cnzdgs 2009-02-21
  • 打赏
  • 举报
回复
$是DOS提供的int 21h中断9号功能要求的,其它地方基本都是用0表示结尾。
xtdumpling 2009-02-21
  • 打赏
  • 举报
回复
汇编一般是'$'
rookit 2009-02-21
  • 打赏
  • 举报
回复
汇编里也是0吗?
cnzdgs 2009-02-21
  • 打赏
  • 举报
回复
字符串最后用一个0表示结尾。
xtdumpling 2009-02-21
  • 打赏
  • 举报
回复
C里面的字符串是以0结束的

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧