发新话题
打印

请教源代码里的汇编!

请教源代码里的汇编!

下面这段代码是RTLinux时钟模块中的
#if HRTICKS_PER_SEC != CLOCK_TICK_RATE
__asm__("shl $10, %%eax\n\t"
  "mul %%ebx\n\t"
:"=d" (t) : "b" (scaler_8254_to_hrtime), "a" (offset_time));
#else
小弟对汇编不太熟悉,请教高手两个问题:
1,sh1这个指令什么意思,它的操作数放在何处?
2,两个%什么意思?
3,"=d"与"a"分别代表什么意思,有何区别
请高手指点,小弟先谢了!!      

TOP

这个问题去看情景分析吧 ,你这么问没人会解答的,你没有思考      

TOP

引用:
原帖由 Linux_friend 于 2006-7-15 18:18 发表
下面这段代码是RTLinux时钟模块中的
#if HRTICKS_PER_SEC != CLOCK_TICK_RATE
__asm__("shl $10, %%eax\n\t"
  "mul %%ebx\n\t"
:"=d" (t) : "b" (scaler_8254_to_hrtime), "a" (offset_time));
#else
小弟对 ...
内嵌汇编语法可以参考 gcc 内嵌汇编的文档,至于具体指令的意义,就要参考对应 CPU 的文档了。      

TOP

发新话题