作者WinVNC (让我再现实一点吧。)
看板Programming
标题[问题] 在c++中使用__asm的限制?
时间Sat May 17 00:51:24 2008
请问一下板上的强者们
我如果想要在C++中使用组语
该注意那些事项呢
(因为我是初学,可否请前辈指点该用什麽关键字找相关的资料?)
例如我一直找不到在__asm里,可以使用的暂存器有那些
(还是都可以使用,Compiler会自动把会被contaminated register先存起来?)
两段__asm中间,要怎麽让register不被中间的C code更改到
(应该自己存下来吗?)
如果是在for loop里,要怎样在__asm中做break或是continue的动作?
(我有看到网路上的写法是用别的__asm区块做label..这是正解吗?)
--
如果版众很忙的话
可以提示几个关键字让我知道
资料要怎麽找吗@@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.121.179.152
1F:推 scaaa:VC++(gcc) inline assembly122.121.184.139 05/17 08:24
2F:推 meltice:我只知道gcc的inline asm很难懂... 60.245.84.43 05/17 16:40
3F:→ meltice:这表示VC比较聪明吗!? 60.245.84.43 05/17 16:41
4F:推 tinlans:gcc 的 inline asm 是为了让你能提供最精 61.230.225.39 05/17 17:13
5F:→ tinlans:确的资讯给 compiler,避免 compiler 把所 61.230.225.39 05/17 17:13
6F:→ tinlans:有 register 都存起来。 61.230.225.39 05/17 17:13
7F:→ final01:tin说的好~真的蛮有感觉的 61.224.206.81 05/17 19:57
8F:推 meltice:刚刚用BCB测试一下 发现register要自己存 60.245.105.208 05/18 14:20
9F:→ meltice:例如 __asm mov ebp,0 这样stack pointer 60.245.105.208 05/18 14:21
10F:→ meltice:被破坏掉了 然後程式就当掉了... 60.245.105.208 05/18 14:21