程序将BX中的二进制数用十六进制形式输出. 应该输出1234.可是上面的程序会不停输出......为什么会不停输出呢?
回不能在“段间”返回,就不能回到DOS状态
push ds可以认為是传递参数,但是递归没有出口实际是死循环,早晚堆栈溢出
那为什么把ret注释掉还会出错呢?
ret到底该怎么用呢?能再详细一点吗,谢谢啦
注釋掉ret还会出错
堆栈失衡,出错是会的注释掉ret,重新编译、链接循环输出应不会!
ret该怎么用?
ret形式上相当POP IP
通常用于子程序结束,但不排除其他用法如:
上面讲到的
push bx
ret
形式上相当
call bx
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案
AND AX,AX 不知AX相加为何意// **AND是与操作不是ADD这个操作目的是判断AX中的1是不是全部移出了,如果没有,继续移这样就沒有你后面的问题了,可能你看错了AND和ADD
你对这个回答的评价是
我现在明白了,AND指令是为下一条间断指令JZ服务的整个循环中只有JZ才可以跳出循环,没有JZ就成了死循环了
你对这个回答的评价是?
下载百度知道APP抢鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许囿别人想知道的答案。