社区
语言基础/算法/系统设计
帖子详情
请问下面嵌入汇编函数的返回值?
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;
}
...全文
349
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写文章
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没有这种标号写法...记不清了,如果能编译,算我没说.
C语言与
汇编
语言之间的
函数
调用
教材:
嵌入
式系统及应用,罗蕾、李允、陈丽蓉等,电子工业出版社 ARM 程序设计 C与
汇编
之间的
函数
调用 ATPCS简介 堆栈与寄存器在
函数
调用中的作用 ATPCS关于堆栈和寄存器的使用规则 C程序调用
汇编
函数
实例
汇编
程序调用C
函数
实例 CC语言和
汇编
语言的混合程序设计 内联
汇编
嵌入
式
汇编
内联
汇编
与
嵌入
式
汇编
的差异ARM 程序设计C与
汇编
之间的
函数
调用ATPCS简介 ARM-Thumb 过程调用
c语言中
嵌入
汇编
语言,C语言中
嵌入
汇编
1、在 C 文件中要
嵌入
汇编
代码片以如下方式加入
汇编
代码:#pragma ASM; Assembler Code Here#pragma ENDASM2、在 Project 窗口中包含
汇编
代码的 C 文件上右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”和“Assemble SRC File”,使检查框由灰色变成黑色(有效)状态;3...
C语言内嵌
汇编
编程--
函数
参数传递,
返回值
vs c 中
嵌入
汇编
语言,VS2015,C嵌套
汇编
& C,
汇编
相互调用
8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,
请问
红轴和茶轴怎么选?环境:VS2015目标:如何在c语言中
嵌入
汇编
语言,如何在C语言中调用
汇编
子程序,如何在
汇编
子程序中调用C
函数
,如何在
汇编
子程序中调用lib文件中的
函数
1.在C语言中
嵌入
汇编
语句这个比较简单,直接上代码#include #pragma inlineint main(void) {int result=0,a = 10, ...
制作一个RISC-V的操作系统五-RISC-V
汇编
语言编程七(栈 栈帧 为何要有
函数
调用约定 寄存器约定 跳转和返回指令约定 被调用
函数
约定 练习 C与
汇编
混合编程
汇编
中
嵌入
C c中
嵌入
汇编
)
在
汇编
代码中,使用mul指令将a的平方保存在result_a寄存器中,将b的平方保存在result_b寄存器中,然后使用add指令将result_a和result_b的值相加后保存到c寄存器中。最后,使用约束操作数([c] “=r” ©)将c寄存器的值存储到变量c中,并将变量a和b的值存储到对应的寄存器中。通过约定参数的传递方式,编译器和
汇编
器可以有效地处理
函数
参数的传递,并生成正确的
汇编
和机器代码。在内嵌
汇编
中,可以使用输出和输入操作数约束来指定C代码中的变量名作为
汇编
代码的输入和输出。
语言基础/算法/系统设计
16,741
社区成员
33,233
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章