谁能帮我解释一下这段汇编代码
作者:晨曦发布时间:2023-02-01浏览:460
PUSH EBX
PUSH ESI
PUSH EDI ;保存EBX,ESI,EDI寄存器
MOV ESI,EAX
MOV EDI,EDX ; edi<-edx,esi<-eax,由此可以知道该函数的输入值在eax,edx中
CMP EAX,EDX
JE L071 ; 如果输入值相等,函数结束
TEST ESI,ESI
JE L055 ;如果esi为零,到LO55
TEST EDI,EDI
JE L058 ;如果edi为零,到L058
MOV EAX,DWORD PTR DS:[ESI-4] ;如果esi,edi都不为零
MOV EDX,DWORD PTR DS:[EDI-4] ;重新给eax,edx赋值
;(eax<-[esi-4]),(edx<-[edi-4])
SUB EAX,EDX ;eax=eax-edx
JA L016 ;如果eax<edx,edx=edx+eax,否则去l016
ADD EDX,EAX
L016:
PUSH EDX ;保存edx
SHR EDX,2 ;右移2位
JE L036 ;如果为0,去l036
L019:
MOV ECX,DWORD PTR DS:[ESI]
MOV EBX,DWORD PTR DS:[EDI]
CMP ECX,EBX ;如果ebx<>ecx,去LO61
JNZ L061
DEC EDX
JE L034
MOV ECX,DWORD PTR DS:[ESI+4]
MOV EBX,DWORD PTR DS:[EDI+4]
CMP ECX,EBX
JNZ L061
ADD ESI,8
ADD EDI,8
DEC EDX
JNZ L019
JMP L036
L034:
ADD ESI,4
ADD EDI,4
L036:
POP EDX
AND EDX,3
JE L053
MOV ECX,DWORD PTR DS:[ESI]
MOV EBX,DWORD PTR DS:[EDI]
CMP CL,BL
JNZ L071
DEC EDX
JE L053
CMP CH,BH
JNZ L071
DEC EDX
JE L053
AND EBX,0FF0000
AND ECX,0FF0000
CMP ECX,EBX
JNZ L071
L053:
ADD EAX,EAX
JMP L071
L055:
MOV EDX,DWORD PTR DS:[EDI-4]
SUB EAX,EDX
JMP L071
L058:
MOV EAX,DWORD PTR DS:[ESI-4]
SUB EAX,EDX
JMP L071
L061:
POP EDX
CMP CL,BL
JNZ L071
CMP CH,BH
JNZ L071
SHR ECX,10
SHR EBX,10
CMP CL,BL ;junk code
JNZ L071 ;junk code
CMP CH,BH ;junk code
L071:
POP EDI ;恢复寄存器
POP ESI
POP EBX
RETN
不想说什么了,太乱了。帮你翻了一点,郁闷
什么程序啊,一片混乱。懒得玩了
相关推荐
- 汽车水温上升慢怎么办
- 求书:女主被男主囚禁了,三番两次的想要逃跑
- 有没有男主囚禁女主女主逃跑被打断腿古言小说或者这种类型的校园小说
- 大众-速腾 - 速腾1.4T手动豪华版:水温表上来很慢
- 创建文明城市动员会发言稿
- 瓜子仁是芝麻一类吗?
- 有一部电视剧,男主角在电视剧里叫李海,这部电视剧叫什么
- 浙江缙云县是那个地区
- 什么是工业自动化产品
- 高三动员会发言稿
- 李海是哪部电视剧中的男主角
- 黑芝麻有真假,真黑芝麻仁是黑还是白仁
- 工业电气自动化产品怎么写品类词
- 阿里云的云大使做的人多吗?
- 缙云在哪个省哪个市
- 小鹏g9参数
- 龙王口令是什么?
- 动物管理局陈赫是什么纲目
- 小鹏G9技术亮点有什么?
- 解决qq登录后电脑右下角任务栏不显示qq图标