求一个在C语言里面嵌套汇编语言的程序!(悬赏分可以再加,只有给得好)
我要了解下如何在C语言里面嵌套汇编语言的。所以想要个在C语言里面嵌套汇编语言的程序!
要不是很复杂的,有说明的,最好有两个,一个稍简单,一个稍复杂。
还要在VC++中能运行。
麻烦运行无误后再发给我。
悬赏分不是问题!!
追问:有两个错误!你能不能给我说下,用C语言嵌套汇编要注意什么。什么不能用!#include
__asm
{
MOV EAX, OFFSET szWorld
PUSH EAX
MOV EAX, OFFSET szHello
PUSH EAX
MOV EAX, OFFSET szFormat
PUSH EAX
CALL printfADD ESP, 12}}
char szHello[] = "HHHHHHello";
char szWorld[] = " WWWworld";
为什么我把上面这两个数组加得很长超过一个双字的容量,为什么用这个ADD ESP,12还是没错,我还特意验证了一下跳得正确啊!!你可以回答啊!我看谁答得好!那个补丁怎么弄??
答案:# include <stdio.h>
void main()
{
char b,c,a[4][4];
for(b=0;b<4;b++)for(c=0;c<4;c++)a[b][c]=b+c+48;
unsigned long m=0x142857;
_asm
{
lea ebx,a
mov eax,[ebx
bswap eax
mov m,eax
}
printf("a%x a%s m%x",a,a,m);
}
其他:看来有人抢先回答了 建议你先了解__asm{ }的作用,
__asm
{
MOV eax 0x12345678
MOV ecx eax
}
注意VC编译器要打补丁(SP6),不然编译器会死。我这是在机房,刚要运行就死了。所以不好意思没有检查是否有误。汇编就是对三个对象做操作寄存器(Register),内存(Memory),立即数(immediate),希望对你有帮助
上一个:汇编语言和c语言各有什么特点?
下一个:汇编语言输入10个十进制有符号数,用冒泡法排序,下面这个程序只能在屏幕上显示拍好序的十个数,