|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2005-10-13, 05:48 PM | #1 |
註冊會員
|
幾個程式的疑問
函數的「定義」和「宣告」有何不同
32位元處理器?什麼是64位元處理器?對程式設計有何影響 什麼是指令集,對程式設計有何影響 剛剛被考倒了~有大大可以解釋給我聽嗎?感激不盡! |
送花文章: 34,
|
2005-10-13, 08:02 PM | #2 (permalink) |
管理版主
|
函數的宣告
是一種公告 告訴 xx 有這麼一個功能 (及 如何溝通) 函數的定義 即 函數的成型 把函數內部的運作方式 編寫出來 函數 可以沒有 (顯著的)宣告,但一定要有 函數的定義 不過 上面這句話 不適用現代的C++ 什麼是64位元處理器? 可以用高速公路來比喻 : 單位時間前提下 8線道比4線道 之道路 可以處理更多車流量 64位元 代表的意義就在於 資料處理量是 32位元 的兩倍 (實際不能這麼肯定,因為還與程式設計有很大關係) (各)匯流排寬度提高 連帶著 暫存器、(各)處理單元、記憶體定址能力 都要一起調整(提高) 這才能叫真正的 xx位元處理器 對程式設計有何影響 基本來說 除非是用 低階語言 否則 可說沒有影響 (因為新的CPU之使用是編譯器的事) 頂多需注意的是 低階控制 與 程式編譯器版本 等問題 什麼是(CPU)指令集 你給CPU什麼電子訊號 就是會根據電路設計 跑出什麼訊號給你 拿之前的函數來講的話就是 : 使用者知道的是 "宣告" 而內部的電路設計就是 "定義",程式設計者絕大部分是不需研究 '它' 的 利用 所知到的 函數 來組合出 功能 當然一般的 高階程式設計使用者 也根本不用知道 CPU提供什麼指令集 對程式設計有何影響 新的指令集 有著 "簡化(簡化觀點、簡化調度)" 或 "替代一連串的舊指令集(時而它就是特別為某某功能而設計的)" 或 "提供新的可使用資源" 就能達到所要的功能 所以 程式設計 上 使用 新的指令集 就能達到 縮短單位時間內 功能之達成 (運算)處理速度當然就快多了 |
送花文章: 2027,
|
2005-10-13, 09:19 PM | #3 (permalink) | |
註冊會員
|
引用:
函數定義 定義函數要做什麼事情 也就是填滿函數左大括號至右大括號的部分 32位元是指CPU暫存器長度為32位元 不論32或64位元 使用者只能存取16位元 指令集就是CPU本身的指令 對於高階語言設計者來說 並沒有什麼影響 對於組合語言來說 必須要寫CPU看的懂的指令才行 |
|
送花文章: 623,
|
2005-10-14, 09:53 AM | #6 (permalink) |
管理版主
|
當初學組合語言
因為只學基本 所以沒有用過 延伸部分 但並不表示 使用者不能存取 比如 80386 的 EAX 暫存器結構是 31~16 15~8 7~0 [沒名字] [AH] [AL] 雖然 延伸部分 沒名字所以不能單獨使用 但不表示不能用整個 EAX 比如 mov eax, dword ptr [edx] 至於 x86-64 的暫存器設計如何可見 AX -> EAX -> RAX EAX 之使用 可以先用邏輯運算方式遮蔽 AX 如此就可達到分割使用 16bit以上與以下之內容 當然也可 一次使用 http://it.hnblue.cn/html/2003-9-9/200399103254.htm |
送花文章: 2027,
|
2005-10-14, 11:02 AM | #8 (permalink) | |
管理版主
|
引用:
可以改正為 不能單獨一指(令)運算 16-31bit的部分 如要把 EAX 用來記載 兩個 16bit 資料 可以用邏輯運算的方式 要把 E5 與 FE 放在 EAX裡 可以先把 E500 + EF 再 mov 到 EAX 要提出16-31bit來 就直接 做 EAX and FF00 並右位移FF 此情形發生於 暫存器吃緊 |
|
送花文章: 2027,
|