社区
语言基础/算法/系统设计
帖子详情
请问下面嵌入汇编函数的返回值?
kmfangxun
2007-11-24 04:10:25
请问下面嵌入汇编的函数返回值,是EAX吗?
function Start:DWORD;stdcall;
asm
CALL @@1
@@1:
POP EAX
SUB EAX, 5
end;
//转为C嵌入汇编如下,对不对?
DWORD __stdcall Start()
{
DWORD rs;
asm{
CALL @@1
@@1:
POP EAX
SUB EAX, 5
MOV rs, EAX
}
return rs;
}
...全文
264
9
打赏
收藏
请问下面嵌入汇编函数的返回值?
请问下面嵌入汇编的函数返回值,是EAX吗? function Start:DWORD;stdcall; asm CALL @@1 @@1: POP EAX SUB EAX, 5 end; //转为C嵌入汇编如下,对不对? DWORD __stdcall Start() { DWORD rs; asm{ CALL @@1 @@1: POP EAX SUB EAX, 5 MOV rs, EAX } return rs; }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kmfangxun
2007-11-26
打赏
举报
回复
to pig4210:
在Cbuilder下是可以的。
http://topic.csdn.net/u/20071123/12/ddefb0fa-ffc7-40da-a73c-7b4443b6debc.html
pig4210
2007-11-26
打赏
举报
回复
其实那个局部变量可以不要吧,因为反正最后也是mov eax,[rs]&retn。但没有实际编译过,不清楚能不能编译通过。
另外,C++就不支持@@标志。好像也不支持标记在使用之后声明的写法。
ly_liuyang
2007-11-25
打赏
举报
回复
哈哈~是获取EIP的~最常见的Shell,Patch和Virus技术手段
kshuangshuzhen
2007-11-25
打赏
举报
回复
顶一下
kmfangxun
2007-11-25
打赏
举报
回复
多谢各位, 本人Pascal比较菜,见到有函数好像不返回,就有些疑惑,呵呵!
Syant
2007-11-24
打赏
举报
回复
这样的问题试一下就知道了,,,
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:dword;
begin
i:=0;
i:=Start;
j:=i+7;
showmessage(inttostr(j));
end;
在i:=start前面加一个断点,的CPUview中看到的是
lea ebx,[eax+$07]
说明Start返回值在EAX中
Syant J. Wang
阿发伯
2007-11-24
打赏
举报
回复
加注释的部分可以不要,有个无返回值警告可以不理
DWORD __stdcall Start()
{
// DWORD rs;
asm{
CALL @@1
@@1:
POP EAX
SUB EAX, 5
// MOV rs, EAX
}
// return rs;
}
ideation_shang
2007-11-24
打赏
举报
回复
没错 DWORD应该是eax
jiju
2007-11-24
打赏
举报
回复
1.返回call指令地址到eax
2.功能来说是一样的,不过好象vc没有这种标号写法...记不清了,如果能编译,算我没说.
avr中
嵌入
汇编
iar中c与
汇编
混合编程
avr c中
嵌入
汇编
编程文档说明 This application note describes how to set up and use the IAR C-compiler for the AVR controller in prosjects including both C and assembly code. By mixing C and assembly designers can combine the powerful C language instructions with the effective hardware-near assem- bly code instructions.
Delphi 与
汇编
入门
初学 Delphi
嵌入
汇编
[1] -
汇编
语言与机器语言 初学 Delphi
嵌入
汇编
[2] -
汇编
语言关键字 初学 Delphi
嵌入
汇编
[3] - 第一个 Delphi 与
汇编
的例子 初学 Delphi
嵌入
汇编
[4] - 寄存器在过程与
函数
中的使用 初学 Delphi
嵌入
汇编
[5] - 寄存器在过程与
函数
中的使用 - 续 初学 Delphi
嵌入
汇编
[6] - & 操作符 初学 Delphi
嵌入
汇编
[7] - 使用常量 初学 Delphi
嵌入
汇编
[8] - 8 位寄存器、16 位寄存器与 32 位寄存器 初学 Delphi
嵌入
汇编
[9] - asm 可以代替 begin 初学 Delphi
嵌入
汇编
[10] -
函数
返回值
与寄存器 初学 Delphi
嵌入
汇编
[11] - 用
汇编
重写一个 Delphi
函数
初学 Delphi
嵌入
汇编
[12] - 在
汇编
代码中可以直接使用 Result 初学 Delphi
嵌入
汇编
[13] - 地址参数用 [] 取值 初学 Delphi
嵌入
汇编
[14] - 常量与变量在
汇编
中的一个区别 初学 Delphi
嵌入
汇编
[15] - 需要保护的寄存器 初学 Delphi
嵌入
汇编
[16] - 进制的表示方法 初学 Delphi
嵌入
汇编
[17] - 逻辑运算 初学 Delphi
嵌入
汇编
[18] - SHL 与 SHR 初学 Delphi
嵌入
汇编
[19] - Delphi 的无符号整数类型 初学 Delphi
嵌入
汇编
[20] - Delphi 的 Integer 类型 初学 Delphi
嵌入
汇编
[21] - Delphi 的其他整数类型 初学 Delphi
嵌入
汇编
[22] - 在
汇编
代码中使用记录 初学 Delphi
嵌入
汇编
[23] - LOOP 循环 初学 Delphi
嵌入
汇编
[24] -
汇编
语言的简单数据类型 初学 Delphi
嵌入
汇编
[25] - 在
汇编
中调用
函数
初学 Delphi
嵌入
汇编
[26] - 大小写字母转换 初学 Delphi
嵌入
汇编
[27] - XCHG 指令: 交换寄存器的内容 初学 Delphi
嵌入
汇编
[28] - 把 EAX 的值置为 0 的三种方法与效率 初学 Delphi
嵌入
汇编
[29] - 寄存器所能接受的数值范围 初学 Delphi
嵌入
汇编
[30] - 寄存器表
易语言
嵌入
汇编
取系统类型
易语言
嵌入
汇编
取系统类型源码,
嵌入
汇编
取系统类型,子程序1,取系统类型,CallWindowProcA
易语言
嵌入
汇编
取系统类型源码
易语言
嵌入
汇编
取系统类型源码。@易语言入门教程。
ARM
汇编
指令开发手册 + 内联
函数
指令(ARMV7 ARMV8)
ARM 底层指令集,用于
嵌入
式开发,用于提升性能的开发手册和文档,通常C语言开发使用内联
函数
指令
语言基础/算法/系统设计
16,747
社区成员
33,239
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章