引用 | 編輯
wusun
2005-10-14 01:54 |
1樓
▲ ▼ |
就微軟的編譯器來說:
可以用inline assembly的方式來達成 Example1: 複製程式 __asm { mov al, 2 mov dx, 0xD007 out dx, al } 複製程式 __asm mov al, 2 __asm mov dx, 0xD007 __asm out dx, al 複製程式 __asm mov al, 2 __asm mov dx, 0xD007 __asm out dx, al x1 |
引用 | 編輯
kevinliao
2005-10-14 10:50 |
2樓
▲ ▼ |
喔, 那我也來說一下 Linux 中 gcc 的 inline assembly 使用範例:
複製程式 asm ("movb $0x2, %al\n\t" "movw $0xd007, %dx\n\t" "outb %al, %dx"); 有沒有看出和 Microsoft 的例子有哪些不同的地方呢 x1 |
引用 | 編輯
kevinliao
2005-10-14 13:25 |
3樓
▲ ▼ |
關於 gcc 的 inline assembly 方面的書籍好像沒有, 提供一些連結當作參考, 有興趣的自行去看看囉...
http://asm.sourceforge.net/articles/rmiyagi-inline-asm.txt http://www-128.ibm.com/developerworks/linux/library/l-ia.html?dwzone=linux http://asm.sourceforge.net/articles/linasm.html http://asm.sourceforge.net/howto/Assembly-HOWTO.html http://linuxassembly.org/ http://www.delorie.com/djgpp/doc/brennan/brennan_att_inline_djgpp.html x0 |