扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
DEX:MOV R7,#180
成都创新互联公司专注于企业全网营销推广、网站重做改版、邯山网站定制设计、自适应品牌网站建设、H5网站设计、商城系统网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为邯山等各大城市提供网站开发制作服务。
DE1: NOP
DJNZ R7,DE1
RET
DEX,DE1是两个标志,也就是JMP的要跳到的地方;R7是一个CPU内的一个寄存器(一共有8个,Ri,i=0~7),RET表示返回,相当于C语言中的return;NOP就表示什么都没做,起等待的作用。你这应该是一个子函数的一部分吧,很久没写汇编了,凭影像,你要详细了解可以去看一下微机原理。
scanf函数成功输入的数值个数 我们可以通过判断if(scanf("%d",man)==1)判断是否输入成功
ret语句并不是像你想象的那样作为一个跳转语句的返回值使用的。
ret语句是和call语句配套出现的。就像c语言里面的两个大括号一样,有左边的,就要相应的有右边的。
当你调用call命令的时候,PC寄存器的内容被压栈,程序转去执行call指令指向的地址,也就是PC寄存器被赋于新值。
当你调用ret命令的时候,堆栈栈顶元素被返回到PC里面,然后pc++,从刚才的断点继续执行。
RET是汇编语言指令,有相应的一系列操作,用于子程序返回;END是伪指令,没有相应操作,只是向编译器提示代码结束。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流