[汇编]”add”与”+”的区别
汇编中为什么有”add”和”+”这两种求和的运算呢?既然有了”add”,哪有何必又要”+”,高级语言只有个”+”也够用的了.疑惑了?论坛提问吧.
得到了下面的结果,虽不知对错,但感觉挺靠谱的.
问题:
mov ax,2
mov bx,1
add ax,bx
mov ax,2+1
上面的两种运算有什么本质的区别,既然可以直接用加号,那又何必需要add 指令呢?
答案:
后者3=2+1由编译器算出来,运行时就直接是mov ax,3 是一条指令
前者运行时ax先是2,然后变成3,共三条指令
是完全不同的程序
不存在“+”这个指令,“+”是写给编译器看的,机器硬件只认识add指令
编译时,编译器在识别这个“+”时,归根结底也要用add算出3来(恰恰就是第一种程序),然后把代码翻译为mov ax,3
本文出自 纳百川,转载时请注明出处及相应链接。
本文永久链接: https://www.bicner.com/172.html
一条评论
这年头 坚持写文章 都是毅力啊