Re: [心得] 自學組合語言的必備良方!
※ 引述《ggg12345 (ggg)》之銘言:
: 顯然, 這組語是在 linux 的 user mode 下跑的, 拿 system call
: 當 I/O 裝置來用.
: 但如果是 I/O device interface 的 I/O port 與 interrupt 處理
: 能在組語程式裡直接控制嗎?
: 譬如最常舉的例: 蜂鳴器小喇巴 與 Timer.
: 這個書的範例, 若在Linux user mode 下的實例 能調用 BIOS call 嗎?
: 希望大大們能釋疑. 謝謝 !
這本書只有講 User Mode Programming 而已,他的原意是給完全不會
程式設計的人看的,目的也是在寫軟體程式,所以沒有你說的那些控
制硬體的東西。
至於你說控制 I/O Device 的話,這本書一樣是教你用 System Call
的方式處理,但範圍主要是檔案(但另一方面來講,Unix 下也幾乎所
有設備都可以當檔案處理)。
最後,就我有限的知識裡,你不可能在 Linux 的 User Mode 去呼叫
BIOS Call 的,因為所有的 Interrupt 都是直接由 Kernel 接手的,
所有的 User Mode 程式都是在最低的 Ring 3 跑的。
如果沒計錯的話現在的 MS Windows 應該也是一樣--你應該不可能
在一隻 Windows 的 User mode 裡直接使用 BIOS interrupt 的。
當然,如果你是直接在 Kernel 的原始碼裡面亂搞,當然可以隨便你
怎麼用囉。
--
~ 白馬帶著她一步步地回到中原。白馬已經老了,只能慢慢地走,
'v' Brian Hsu 但終是能回到中原的。江南有楊柳、桃花,有燕子、金魚……
// \\ ( 墳 墓 )
/( )\ 但這個美麗的姑娘就像古高昌國人那樣固執。 【白馬嘯西風】
^`~'^
http://bone.twbbs.org.tw/blog 『那都是很好很好的,可我偏不喜歡。』
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.42.74
討論串 (同標題文章)