看看,不知道这对代码是什么意思

gehao2531050 2009-12-02 12:34:43
STRLEN PROC
PUSH DS
POP ES
XOR AL,AL
MOV CX,0FFFFH
REPNZ: SCANSB
MOV AX,CX
MOV CX,0FFFFH
SUB CX,AX
RET
...全文
50 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jason69181 2009-12-14
  • 打赏
  • 举报
回复
按字节依次扫描字符串,把CX的开始值 与使用完REPZ(重复串操作)后,

CX的值,相减,最后得到的数值,就是字符串的长度
j8727 2009-12-02
  • 打赏
  • 举报
回复
取字符串的长度。
你的程序不完整吧。这里应该是字符串放在DS段,DI指向字符串的首地址,字符串以0为结尾。
SCANSB是把AL与ES,DI指向的内存单元的一个字节相减,不保留结果,只根据结果设置标志位。
因为AL等于0,当AL-(ES,DI)=0是停止SCANSB,最后的CX就是字符串的长度

21,459

社区成员

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

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