任何人都可以告诉我以下的方法。我无法理解insl
指令
static inline void
insl(uint32_t port, void *addr, int cnt) {
asm volatile (
"cld;"
"repne; insl;"
: "=D" (addr), "=c" (cnt)
: "d" (port), "0" (addr), "1" (cnt)
: "memory", "cc");
}
答案 0 :(得分:5)
该函数将cnt
dwords
从port
指定的输入端口读入提供的输出数组addr
。
insl
相当于insd
:http://x86.renejeschke.de/html/file_module_x86_id_141.html
GAS语法使用l
后缀表示对dword
(32位大小)数据进行操作的指令。