汇编语言中所有寄存器的作用

汇编语言中所有寄存器的作用越全越好... 汇编语言中所有寄存器的作用越全越好 展开
 我来答
心若初見
2018-07-12 · 超过28用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:28.5万
展开全部
寄存器有点多,介绍常用的,通用寄存器8个,EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP,最后+eip+EFL;
eax多用于计算,函数的返回值等;
ecx多用于计数(count),比如循环中的那个计数,结合eax,ESI,edi。
ebp用于堆栈指针追踪,指低(debug版本),esp用于堆栈跟踪,多跟ebp一起使用(指向顶部,最高,也就是最前)。
esi,edi多用于复制内存。
eip就是固定作用了,CPU指令全靠它了,指那打哪。
efl就是标志寄存器了,16位就够用了,现在64位,完全空着呢,比如位溢出(两个计算数据太大溢出,不够减溢出),凡是条件(除了变态的jmp),无论if,while等,还是运算,或者符号位(数据是正还是负),或者数据检查,奇偶等,都是看它的。也就是说,无论CPU运算还是控制,都看它对应的不同位。
下面给你通用寄存器几个例子:假如eax的值为10,要将一块内存赋值为cc,循环10次,而EDI里面是内存地址的话,那么代码就是:mov EAX,0Xcc
mov ecx,0xa
rep stos byte ptr [edi]
这样,内存就全部被成为“ccccccccccccccccc”,这样的代码到处都是,尤其没有初始化之后,就能见到这样的CC,中文显示就是“烫烫烫”.
从一个内存赋值到另一个内存地址是这样的,假如esi是指针p1的地址,edi是指针p2的地址,那么*p2=*p1就是:
rep movs byte ptr es:[edi],byte ptr ds:[esi]
所以,edi,ESI,以及EBX,
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式