Re: 什麼樣的程式可以不用透過OS執行?

看板Programming作者 (ggg)時間17年前 (2008/09/21 23:23), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/11 (看更多)
※ 引述《CharArray ( char[] )》之銘言: : 我表達的可能不好 不過我想問的大概是以下這件事 : : 像這段C code : : int *a=0; 到此, 是 data section 宣告 假設使用的 cpu 是 8086 , 問題會是 data segment DS = ? Interrupt vector table 所在的地方 0000:0000 - 0000:0400 (0x00000000- 0x00000400) 是歸 OS 保護的, 所以 OS Loader 不會直接替 user 蓋過這些地 方, 通常都得由程式自行搬過去. : a++; : *a=5; 這一段是 code section , linker 決定 code segment cs = xxxx Turbo C 可以選 8086 cpu (v86 DOS prompt) 下的 small (cs=ds=ss=es) 或 large mode . 動用到 INT 1 的 single step trap 實例, 就是 debug 那隻程式. : : 可以compiles但執行時會出錯 應該是被os給memory protection檔了下來 : 有什麼樣的程式 可以更改記憶體 0x00000004位置的值 而不被os欄住? : : → ggg12345:在dos prompt下的V86 mode 可以動 INT n 140.115.4.12 09/21 23:46 : → ggg12345:不過要照會compiler與linker是8086 mode 140.115.4.12 09/21 23:48 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.4.12
文章代碼(AID): #18rjU2J3 (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 11 篇):
文章代碼(AID): #18rjU2J3 (Programming)