下列汇编语句各是什么意思?

(1)addal,byteptrds:[esi+46](2)adddwordptrds:[eax],eax(3)leaedi,dwordptrss:[esp+10](4)... (1)add al,byte ptr ds:[esi+46](2)add dword ptr ds:[eax],eax(3)lea edi,dword ptr ss:[esp+10](4)lea edx,dword ptr ss:[esp+114](5)rep stos dword ptr es:[edi](6)cmp byte ptr ds:[ebx],24(7)and dword ptr ss:[ebp+C],eax(8)int3本人菜鸟一个,只能看懂mov,call,text,cmp,lea,之类较简单的指令,像这样复杂点的就看不懂了。。。请高手勿喷。。。帮忙解释下。。不正面回答问题,邀请我去XX黑客论坛学习的就别来了。。 展开
 我来答
匿名用户
2013-11-13
展开全部
(1)add al,byte ptr ds:[esi+46] :将[esi+46]内存单元中的32位数值取其低8位与 al寄存器中数值做加法运算,结果存放到al寄存器中。(2)add dword ptr ds:[eax],eax:含义同上,eax寄存器32位,dword也代表32位(3)lea edi,dword ptr ss:[esp+10]: lea指令是装入有效地址指令,指令用法你知道的,我估计你是不清楚 dword ptr的含义吧,dword代表32位数据,byte代表8位数据(5)rep stos dword ptr es:[edi]LODS 装入串.   把源串中的元素(字或字节)逐一装入AL或AX中.   ( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. )   STOS 保存串.   是LODS的逆过程.   REP 当CX/ECX<>0时重复. (6)cmp byte ptr ds:[ebx],24 CMP 比较指令.(两操作数作减法,仅修改标志位,不回送结果). byte ptr代表取低8位(7)and dword ptr ss:[ebp+C],eax and逻辑与 AND 可以有任意多个输入,但最少是两个。仅当AND函数的第一个、第二个和第三个输入等都是真,它的输出才是真。 dword ptr 代表32位操作数(8)int 3 : INT 3为断点中断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-13
展开全部
<add>两次累加,<lea>然后把偏移地址存到edi,装载了两次,<rep>edi清零,<cmp>然后比较一下,<and>与运算一下,INT n 其中n为软中断的类型号.希望帮助到你了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式