现在我知道你可以使用gcc作为英特尔语法,而不是使用默认值
gcc -S -masm = intel test.c
有这条线
mov DWORD PTR [ebp-16],OFFSET FLAT:base
它是一样的mov dword[ebp-16], base吗?否则我该怎么办?
我想知道是否有一种方法可以调用.c汇编代码?我想把这段代码放在我的.c文件中
我想在.c文件中执行汇编代码以返回地址
1. mov eax, 0x2d
2. mov ebx, 0
3. int 0x80
Run Code Online (Sandbox Code Playgroud)
我知道答案是eax.
这是.c文件的一部分:
1. void function(void)
2. {
3. void *sp;
4. sp = eax;
5. fprintf(stderr, "system break: %p\n", sp);
6. }
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
有没有办法可以比较和跳转一条指令:
C代码:
1.2 while(i<10)
.{i++}
汇编代码: (eax=0)(ecx=10)
.while:cmp eax, ecxjge .endofwhileadd eax, 1jmp .while.endofwhile:有没有办法在一条指令中做第2行和第3行?