现在我使用:
#define int86(int) { asm volatile ("int $"#int ::: "memory"); }
它有效,但在不同的设计中constexpr
,inline
这种设计看起来不合时宜。
我假设您需要一个视图模板template< int I >void int86(){ asm volatile ( "int $???что здесь???":::"memory") }
,但我不明白如何构建它。
现在我使用:
#define int86(int) { asm volatile ("int $"#int ::: "memory"); }
它有效,但在不同的设计中constexpr
,inline
这种设计看起来不合时宜。
我假设您需要一个视图模板template< int I >void int86(){ asm volatile ( "int $???что здесь???":::"memory") }
,但我不明白如何构建它。
假设这是一个 GCC 兼容的汇编器插入,你可以做这样的事情(摘自 Godbolt):
这是将参数传递给内联汇编程序的常用语法。第二个冒号后面是输入参数。约束
"i"
意味着参数是编译时整数常量。有关详细信息,请参阅gcc 文档。