作者brianhsu (坟墓)
看板Programming
标题Re: [心得] 自学组合语言的必备良方!
时间Mon Feb 8 07:52:36 2010
※ 引述《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