C语言嵌入汇编指令(asm)查询系统时间

源代码

#include 
#include 

int main()
{
	time_t tt;
	struct tm *t;
	asm volatile (
		"mov $0, %%ebx\n\t"		/* time(NULL) 的入参 NULL */
		"mov $0xd, %%eax\n\t"	/* time 的系统调用号 */
		"int $0x80\n\t"			/*  */
		"mov %%eax, %0\n\t"		/*  */
		: "=m" (tt)				/*  */
	);
	t = localtime(&tt);
	printf("time:%d\n", t->tm_year+1900);
}

makefile

all:
	# -m32: 32位编译
	gcc time-asm.c -m32 -o time-asm

clean:
	rm -f time-asm

 

你可能感兴趣的:(基础知识)