CASL的疑问。

kidjoy829 2003-09-26 03:55:39
CALL CMPSTR
JNZ NXTMEM

CMPSTR PUSH 0,GR3
CMPNXT LD GR3,0,GR1
CPL GR3,0,GR2
JNZ CMPEND
LEA GR1,1,GR1
LEA GR2,1,GR2
SUB GR0,CONST1
JNZ CMPNXT
CMPEND POP GR3
RET
那JNZ NXTMEM这句是否依据子程序返回前最后执行的语句即SUB GR0,CONST1的GR0的值来执行,还是其他呢?
...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ocean413 2003-09-26
  • 打赏
  • 举报
回复
同意楼上的观点
pebble 2003-09-26
  • 打赏
  • 举报
回复
如果
CPL GR3,0,GR2
JNZ CMPEND ;如果这一条语句执行时候跳转到POP GR3 然后ret,那么

JNZ NXTMEM 就会跳转,这句的依据就是上面CPL GR3, 0, GR2的结果
Goldbach 2003-09-26
  • 打赏
  • 举报
回复
程序的所有出口都是标志寄存器为零。
commandconque 2003-09-26
  • 打赏
  • 举报
回复
这个子程序的所有出口都是标志寄存器为零。
因此 JNZ NXTMEM 实际不会发生转移的,除非是陷阱指令,程序发生非正常情况,强行转跳到子程序中。
wangmin_yjitx 2003-09-26
  • 打赏
  • 举报
回复
根据 JNZ CMPEND

2,959

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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