類型載入儲存運算指令跳躍指令 格式 指令 OP 說明 語法 語意 L LD 1 00 載入 word LD Ra, [Rb+Cx] Ra [Rb+ Cx] L ST 01 儲存 word ST Ra, [Rb+ Cx] Ra [ Rb+ Cx] L LDB 02 載入 byte LDB Ra, [R

Size: px
Start display at page:

Download "類型載入儲存運算指令跳躍指令 格式 指令 OP 說明 語法 語意 L LD 1 00 載入 word LD Ra, [Rb+Cx] Ra [Rb+ Cx] L ST 01 儲存 word ST Ra, [Rb+ Cx] Ra [ Rb+ Cx] L LDB 02 載入 byte LDB Ra, [R"

Transcription

1 附錄 A CPU0 處理器 A.1 處理器 CPU0 是一個簡易的 32 位元處理器, 其架構如圖 A.1 所示, 包含 R0..R15, IR, MAR, MDR 等暫存器, 其中 IR 是指令暫存器,R0 是一個永遠為常數 0 的唯讀暫存器, R15 是程式計數器 (Program Counter : PC),R14 是連結暫存器 (Link Register : LR), R13 是堆疊指標暫存器 (Stack Pointer : SP), 而 R12 是狀態暫存器 (Status Word : SW) 圖 A.1 CPU0 的架構圖 A.2 指令表 CPU0 包含 載入儲存 運算指令 跳躍指令 堆疊指令 等四大類指令, 表格 A.1 是 CPU0 的指令編碼表, 記載了 CPU0 的指令集與每個指令的編碼 表格 A.1 CPU0 的指令編碼表 1

2 類型載入儲存運算指令跳躍指令 格式 指令 OP 說明 語法 語意 L LD 1 00 載入 word LD Ra, [Rb+Cx] Ra [Rb+ Cx] L ST 01 儲存 word ST Ra, [Rb+ Cx] Ra [ Rb+ Cx] L LDB 02 載入 byte LDB Ra, [Rb+ Cx] Ra (byte)[rb+ Cx] L STB 03 儲存 byte STB Ra, [Rb+ Cx] Ra (byte)[rb+ Cx] A LDR 04 LD 的暫存器版 LDR Ra, [Rb+Rc] Ra [Rb+ Rc] A STR 05 ST 的暫存器版 STR Ra, [Rb+Rc] Ra [ Rb+ Rc] A LBR 06 LDB 的暫存器版 LBR Ra, [Rb+Rc] Ra (byte)[rb+ Rc] A SBR 07 STB 的暫存器版 SBR Ra, [Rb+Rc] Ra (byte)[rb+ Rc] L LDI 08 立即載入 LDI Ra, Rb+Cx Ra Rb + Cx A CMP 2 10 比較 CMP Ra, Rb SW Ra >=< Rb A MOV 12 移動 MOV Ra, Rb Ra Rb A ADD 13 加法 ADD Ra, Rb, Rc Ra Rb+Rc A SUB 14 減法 SUB Ra, Rb, Rc Ra Rb-Rc A MUL 15 乘法 MUL Ra, Rb, Rc Ra Rb*Rc A DIV 16 除法 DIV Ra, Rb, Rc Ra Rb/Rc A AND 18 邏輯 AND AND Ra, Rb, Rc Ra Rb and Rc A OR 19 邏輯 OR OR Ra, Rb, Rc Ra Rb or Rc A XOR 1A 邏輯 XOR XOR Ra, Rb, Rc Ra Rb xor Rc A ROL 3 1C 向左旋轉 ROL Ra, Rb, Cx Ra Rb rol Cx A ROR 1D 向右旋轉 ROR Ra, Rb, Cx Ra Rb ror Cx A SHL 1E 向左移位 SHL Ra, Rb, Cx Ra Rb << Cx A SHR 1F 向右移位 SHR Ra, Rb, Cx Ra Rb >> Cx J JEQ 4 20 跳躍 ( 相等 ) JEQ Cx if SW(=) PC PC+Cx J JNE 21 跳躍 ( 不相等 ) JNE Cx if SW(!=) PC PC+Cx J JLT 22 跳躍 ( < ) JLT Cx if SW(<) PC PC+Cx J JGT 23 跳躍 ( > ) JGT Cx If SW(>) PC PC+Cx J JLE 24 跳躍 ( <= ) JLE Cx if SW(<=) PC PC+Cx J JGE 25 跳躍 ( >= ) JGE Cx If SW(>=) PC PC+Cx 1 LD 為 LOAD 的縮寫,ST 代表 STORE, 因此 LDB 就是 Load byte,stb 就是 Store byte, 而 LDI 則是 Load immediate value,ldr 則是 Load by Register 2 CMP 為 Compare 的縮寫,MOV 代表 Move,SUB 代表 Substract,MUL 代表 Multiply,DIV 代表 Divide 3 ROL 為 Rotate Left 的縮寫,ROR 的全名為 Rotate Left,SHL 代表 Shift Left,SHR 則是 Shift Right 4 JEQ 為 Jump if Equal 的縮寫,JNE 的全名為 Jump if Not Equal,JLT 則是 Jump if Less Than,JGT 則是 Jump if Greater Than,JLE 則是 Jump if Less or Equal,JGE 代表 Jump if Greater or Equal,JMP 則代表 Jump 2

3 堆疊指令 J JMP 26 跳躍 ( 無條件 ) JMP Cx PC PC+Cx J SWI 5 2A 軟體中斷 SWI Cx LR PC; PC Cx; INT 1 J CALL 2B 跳到副程式 CALL Cx LR PC; PC PC+Cx J RET 2C 返回 RET PC LR J IRET 2D 中斷返回 IRET PC LR; INT 0 A PUSH 30 推入 word PUSH Ra SP-=4; [SP] = Ra; A POP 31 彈出 word POP Ra Ra = [SP]; SP+=4; A PUSHB 32 推入 byte PUSHB Ra SP--; [SP] = Ra; (byte) A POPB 33 彈出 byte POPB Ra Ra = [SP]; SP++; (byte) A.3 指令格式 CPU0 所有指令長度均為 32 位元, 這些指令也可根據編碼方式分成三種不同的 格式, 分別是 A 型 J 型與 L 型 大部分的運算指令屬於 A (Arithmatic) 型, 而載入儲存指令通常屬於 L (Load & Store) 型, 跳躍指令則通常屬於 J (Jump) 型, 這三種型態的指令格式如圖 A.2 所示 圖 A.2 CPU0 的指令格式 5 SWI 為 SoftWare Interrupt 的縮寫,CALL 則是 Call Subroutine,RET 則是 return 的縮寫 3

4 A.4 狀態暫存器 R12 狀態暫存器 (Status Word : SW) 是用來儲存 CPU 的狀態值, 這些狀態是許多旗標的組合 例如, 零旗標 (Zero, 簡寫為 Z) 代表比較的結果為 0, 負旗標 (Negative, 簡寫為 N) 代表比較的結果為負值, 另外常見的旗標還有進位旗標 (Carry, 簡寫為 C), 溢位旗標 (Overflow, 簡寫為 V) 等等 圖 A.3 顯示了 CPU0 的狀態暫存器格式, 最前面的四個位元 N Z C V 所代表的, 正是上述的幾個旗標值 圖 A.3 CPU0 中狀態暫存器 SW 的結構 條件旗標的 N Z 旗標值可以用來代表比較結果是大於 (>) 等於 (=) 還是小於 (<), 當執行 CMP Ra, Rb 動作後, 會有下列三種可能的情形 1. 若 Ra > Rb, 則 N=0, Z=0 2. 若 Ra < Rb, 則 N=1, Z=0 3. 若 Ra = Rb, 則 N=0, Z=1 如此, 用來進行條件跳躍的 JGT JGE JLT JLE JEQ JNE 指令, 就可以根據 SW 暫存器當中的 N Z 等旗標決定是否進行跳躍 SW 中還包含中斷控制旗標 I (Interrupt) 與 T (Trap), 用以控制中斷的啟動與禁止等行為, 假如將 I 旗標設定為 0, 則 CPU0 將禁止所有種類的中斷, 也就是對任何中斷都不會起反應 但如果只是將 T 旗標設定為 0, 則只會禁止軟體中斷指令 SWI (Software Interrupt), 不會禁止由硬體觸發的中斷 SW 中還儲存有 處理器模式 的欄位,M=0 時為 使用者模式 (user mode) 與 M=1 時為 特權模式 (super mode) 等, 這在作業系統的設計上經常被用來製作安全保護功能 在使用者模式當中, 任何設定狀態暫存器 R12 的動作都會被視為是非法的, 這是為了進行保護功能的緣故 但是在特權模式中, 允許進行任何動作, 包含設定中斷旗標與處理器模式等位元, 通常作業系統會使用特權模式 (M=1), 而一般程式只能處於使用者模式 (M=0) 4

5 A.5 位元組順序 CPU0 採用大者優先 (Big Endian) 的位元組順序 (Byte Ordering), 因此代表值越 大的位元組會在記憶體的前面 ( 低位址處 ), 代表值小者會在高位址處 由於 CPU0 是 32 位元的電腦, 因此, 一個字組 (Word) 占用 4 個位元組 (Byte), 因此, 像 LD R1, [100] 這樣的指令, 其實是將記憶體 中的字組取出, 存入到暫存器 R1 當中 LDB 與 STB 等指令, 其中的 B 是指 Byte, 因此,LDB R1, [100] 會將記憶體 100 中的 byte 取出, 載入到 R1 當中 但是, 由於 R1 的大小是 32 bits, 相當於 4 個 byte, 此時,LDB 與 STB 指令到底是存取四個 byte 當中的哪一個 byte 呢? 這個問題的答案是 byte 3, 也就是最後的一個 byte 圖 A.4 CPU0 的暫存器位元組順序圖 A.6 中斷程序 CPU0 的中斷為不可重入式中斷, 其中斷分為軟體中斷 SWI (Trap) 與硬體中斷 HWI (Interrupt) 兩類 硬體中斷發生時, 中段代號 INT_ADDR 會從中段線路傳入, 此時執行下列動作 : 1. LR PC; INT 1 2. PC INT_ADDR 軟體中斷 SWI Cx 發生時, 會執行下列動作 : 1. LR PC; INT 1 2. PC Cx; 5

6 中斷最後可以使用 IRET 返回, 返回前會設定允許中斷狀態 1. PC LR; INT 0 6

7 附錄 B C0 語言的語法 為了說明編譯器與剖析器的設計原理, 我們設計了一個簡化版的 C 語言, 稱為 C0 語言 該語言總共包含 11 條規則, 可以用來撰寫一些小型的程式 B.1 C0 語言的範例 在 C0 語言當中, 包含了指定 運算與多層的 for 迴圈等語句, 範例 B.1 顯示 了一個具有兩層 for 迴圈的 C0 語言程式 範例 B.1 一個具多層結構 C0 語言程式 C0 語言程式 sum = 0; for (i=1; i<=9; i++) { for (j=1; j<=9; j++) { p = i * j; sum = sum + p; } } return sum; B.2 EBNF 語法規則 在本書中, 我們使用 EBNF 語法描述 C0 語言, 該語法圖 B.1 所示, 其中包含了 11 條規則, 規則中的星號 * 代表重複比對數次 ( 包含零次 ), 加號 + 代表重複比對一次以上 ( 包含一次 ), 而問號? 則代表可出現零次或一次 這些符號可作用在圓括號 () 所框起來的規則區塊, 或者由方括號 [] 所框起來的字元集合當中, 用以代表這些區域可重複比對的次數 1 2 EBNF 語法規則 PROG = BaseList BaseList = (BASE)* 7

8 BASE = FOR STMT ';' FOR = 'for' '(' STMT ';' COND ';' STMT ')' BLOCK STMT = 'return' id id '=' EXP id ('++' '--') BLOCK = '{' BaseList '}' EXP = ITEM ([+-*/] ITEM)? COND = EXP ('==' '!=' '<=' '>=' '<' '>') EXP ITEM = id number id = [A-Za-z_][A-Za-z0-9_]* number = [0-9]+ 圖 B.1 C0 語言的 EBNF 規則 FOR 規則中有三個重要的部分, 也就是 STMT COND 與 BLOCK 等三者,STMT 用來描述 i=0; i++ 等敘述, 而 COND 則描述條件判斷部分, 像是 i<=10 等, 而最後的 BLOCK 則是 for 迴圈的主體部分,BLOCK 乃是由一對大括號 { } 夾住的 BaseList 區段所組成, 於是透過 BaseList 又遞迴的定義了下一層的完整程式區段 必須注意的是,C0 語言當中缺乏某些重要的結構, 像是 IF 語句, 函數呼叫等等, C0 語言甚至沒有支援完整的數學運算語法, 因此每條運算式只能有一個加減乘除符號, 所以在 C0 語言當中無法撰寫像 sum=sum+i*j 這樣的複雜算式, 您必須自行將該語句拆成兩條指定敘述, 採用像 p = i*j; sum=sum+p; 這樣的寫法 您可以自行擴充 C0 語言, 以支援 IF 及函數呼叫等語句, 或者支援更完整的數 學運算式語法, 在本書中, 為了簡單起見, 我們將只用這 11 條規則, 以避免實 作上太過複雜 8

9 附錄 C GNU 開發工具 在本書中, 我們以 GNU 工具作為主要的系統軟體工具, 在 UNIX/Linux 當中, 預設就包含 GNU 工具, 但在 MS. Windows 當中, 則可以安裝 Dev C++ ( 附錄 D) 或 Cygwin 環境 ( 附錄 E), 以便使用 GNU 工具 在 GNU 工具中有一些常用的檔案命名方式, 舉例而言, 函式庫的附檔名通常是 *.a, 而組合語言的附檔名通常是 *.s, 以下是 GNU 平台中常見的一些附檔名使 用慣例, 如表格 C.1 所示 表格 C.1 GNU/Linux/UNIX 的檔案命名慣例 附檔名 檔案類型說明.c C 語言的程式, 像是 sum.c 等.a 函式庫, 像是 libc.a libm.a 等.cpp C++ 的程式, 像是 sum.cpp 等.h 引用標頭檔, 像是 stdio.h 等.i 經過巨集展開後的 C 語言程式.ii 經過巨集展開後的 C++ 語言程式.s 組合語言程式.S 經過巨集展開後的組合語言程式 C.1 常用的 GNU 工具 GNU 程式集包含許多工具程式, 其中, 在本書中會用到的有 gcc, as, ld, ar, nm, objdump, objcopy, strip, strings, ltrace 等工具, 這些工具的基本用法如表格 C.2 所示 表格 C.2 GNU 的工具與用法 工具 工具類型 說明 gcc C 語言編譯器 範例 :gcc hello.c -o hello.o GNU C Compiler as 6 組譯器 範例 :as hello.s -o hello.o 6 請注意! 在 cygwin 中 as 不好用, 因為在 Windows 當中, 一個可執行的組合語言需要使用很多函式庫, 因此建議直接用 gcc 進行組譯, 因為 gcc 會自動連結必要的 C 語言函式庫, 其語法範例為 gcc hello.s -o hello.o 9

10 Assembler 說明 : 將 hello.s 組譯為 hello.o ld 7 連結器 Linker 範例 :ld -o abc.o a.o b.o c.o 說明 : 將 a.o, b.o, c.o 連結成執行檔 abc.o ar 函式庫製作 Archive 範例 :ar -r libabc.a a.o b.o c.o 說明 : 將 a.o, b.o, c.o 包裝成函數庫 libabc.a nm name mangling 8 目標檔中的符號 範例 :nm hello.o 說明 : 看 hello.o 目標檔的符號表 objdump Object File Dump 目標檔傾印 範例 :objdump -x hello.o 說明 : 查看目標檔資訊 objcopy Object File Copy 複製 / 轉換目標檔 範例 :objcopy -O binary hello.elf hello.bin 說明 : 將 elf 檔轉換為 binary 檔 strip Strip 去除除錯資訊 範例 :strip a.o 說明 : 把 a.o 當中的符號表與除錯資訊去除 strings 觀看字串表 範例 :strings a.o 說明 : 觀看 a.o 檔中的字串表, 會顯示符號名稱與分段名稱 ltrace 追蹤函數呼叫路徑 範例 :ltrace a.o 說明 : 追蹤函數呼叫路徑 ( 在 Cygwin 中沒有 ) GNU 的目的檔工具可分為觀察工具 ( 像是 objdump nm strings) 與修改工具 ( 像是 objcopy strip) 等兩類 系統程式設計師通常會用 objdump 觀察目的檔, 然後利用 objcopy 轉換目的檔 以下, 我們將介紹這些工具的基本用法, 包含 gcc (C.2 節 ) ld (C.3 節 ) ar (C.4 節 ) objdump (C.5 節 ) 與 objcopy (C.6 節 ) 等, 以便讀者在需要使用到這些工具 時可以快速查閱之用 C.2 編譯器 gcc 的用法 GNU 的 C 語言編譯器稱為 gcc, 這是一個相當強大的編譯工具, 同時也具備了 組譯與連結的功能, 表格 C.3 顯示了 gcc 常用的參數名稱與使用方法 表格 C.3 gcc 編譯器的常用參數及其意義 7 ld 是 Loader 的縮寫, 在 UNIX 當中, 連結器 (Linker) 與載入器 (Loader) 常是一體的, 因此, 會用 ld 作為連結指令 8 name mangling 又被稱為 name decoration( 名稱裝飾 ), 是在目標檔當中嵌入變數名稱的一種方式, 在此,nm 被用來列出目標檔中的符號, 有關 name mangling 一詞的來源請參考維基百科 10

11 參數 範例 說明 -S gcc -S sum.c -o sum.s 要求 gcc 產生組合語言程式碼 -E gcc -E hello.c -o hello.i 只執行巨集展開, 但不產生目的檔 -D gcc -DDEBUG sum.c -o sum gcc DCPU=x86 sum.c -o sum 定義 #define DEBUG 後才編譯定義 #define CPU x86 後才編譯 -g gcc -g sum.c -o sum 編譯時加入除錯資訊, 讓 gdb 可遠端除錯 -c gcc -c hello.c -o hello.o 編譯並組譯程式碼, 但不做連結 -I gcc -c -I /home/ccc/include -o 指定引用檔 (*.h) 的路徑 hello.o hello.c -L gcc -L /home/ccc/lib -o hello 指定函式庫 (*.a) 的路徑 hello.o -l gcc -L /home/ccc/lib -lm -lpthread 指定函式庫的名稱 -o hello hello.o -shared gcc -shared a.o b.o c.o -o libabc.so 產生共享函式庫 (*.so) -fpic gcc -g -rdynamic -fpic -o test test.c 輸出 position-independent code, 一般在輸出動態連結函式庫時使用 -Werror gcc -Werror sum.c -o sum.s 將警告視為錯誤, 一但有警告就不輸出目標檔 -O0 gcc -S -O0 sum.c -o sum.s 不進行最佳化 ( 預設 ) -O1 gcc -S -O1 sum.c -o sum.s 第 1 級的最佳化 ( 較差 ) -O2 gcc -S -O2 sum.c -o sum.s 第 2 級的最佳化 -O3 gcc -S -O3 sum.c -o sum.s 第 3 級的最佳化 ( 最高等級 ) -dr gcc -c -dr sum.c -o sum.o 輸出 RTL 中間碼 C.3 連結器 ld 的用法 GNU 的主要連結工具是 ld 指令, 但是在實務上, 通常我們會直接用 gcc 進行 連結動作, 因為 gcc 會幫忙傳送給 ld 去執行, 表格 C.4 是 gcc 與 ld 連結時 常用的參數表 表格 C.4 連結指令 ld 的常用參數表 參數 範例 說明 -o <file> ld -o ab a.o b.o 連結 a.o, b.o 為執行檔 ab -L <path> ld -o ab a.o b.o -L /home/lib 指定函式庫搜尋路徑為 /home/lib -l<name> ld -o ab a.o b.o lm 連結函式庫 lib<name>.a, 11

12 本範例連結的是 libm.a -e <offset> ld -e 0x o hello crt0.o 設定連結啟始位址為 0x10000 hello.o -s ld -s -o ab a.o b.o 移除所有符號 -S ld -S -o ab a.o b.o 移除除錯符號 -r ld -r -o romfs.o romfs.img 輸出可重定位 (relocatable) 的檔案 -Map ld -o ab a.o b.o -Map ab.map 產生連結後的符號表 -T <linkscript> ld -o ab a.o b.o -T ab.ld 指定 link script 為 ab.ld -T< 段 >< 位址 > ld -o ab a.o b.o Ttext 0x0 ld -o ab a.o b.o Ttext 0x1000 指定 text 段位址指定 data 段位址 -T ld -o ab a.o b.o -Ttext 0x0 -Tdata 0x1000 -Tbss 0x3000 指定 text 段位址為 0x0 data 段位址為 0x1000 bss 段位址為 0x3000 C.4 函式庫 ar 工具的用法 ar 指令是 archive 的縮寫, 其語法為 ar [options] <archive_file> <src_files>, 其中 的 [options] 參數如表格 C.5 所示, 您也可以使用 ar --help 觀看其詳細的使用 方式 表格 C.5 函式庫指令 ar 的參數表 參數 範例 說明 -r ar -r libx.a a.o b.o 將 a.o 與 b.o 包裝為函式庫 libx.a -tv ar -tv libx.a 查看 libx.a 函式庫的內容 -x ar -x libx.a a.o 取出 libx.a 中的目的檔 a.o C.5 目的檔 objdump 觀察工具的用法 Objdump 是 GNU 的主要目的檔觀察工具, 您可用 objdump 顯示目的檔的檔頭 區段 內容 符號表等資訊, 表格 C.6 顯示了其使用方法 表格 C.6 objdump 指令的使用方法與常用參數 語法 :objdump <option(s)> <file(s)> 參數 範例 說明 -i objdump i 顯示支援的檔案格式與機器架構 12

13 -f objdump -f a.o 顯示檔頭資訊 (--file-headers) -h objdump -h a.o 顯示區段表頭 (--[section-]header) -x objdump -x a.o 顯示所有表頭 (--all-headers) -d objdump -d a.o 反組譯程式段 (--disassemble) -D objdump -D a.o 反組譯全部區段 (--disassemble-all) -t objdump -t a.o 顯示符號表 (--syms) -r objdump -r a.o 顯示重定位記錄 (--reloc) C.6 目的檔 objcopy 複製工具的用法 Objcopy 是 GNU 的主要目的檔複製工具, 該工具不只可以進行複製, 還可以對 目的檔進行修改與格式轉換等處理, 表格 C.7 顯示了其使用方法 9 表格 C.7 objcopy 指令的使用方法與常用參數 語法 :objcopy [ 參數 ] infile [outfile] 參數 說明 -I 指定輸入檔案格式 (--input-target) -O 指定輸出檔案格式 (--output-target) -B 指定機器架構 (--binary architecture) -S 去除全部符號資訊 (--strip-all) -g 去除全部除錯資訊 (--strip-debug) -j <section name> 只抽取指定區段 (--only-section) -R <section name> 去除特定區段 (--remove-section) 9 關於 objcopy 的參考資料, 請看 13

14 附錄 D Dev C++ 開發環境 Dev C++ 是學習 C/C++ 語言的學生常用的開發環境, 是由 Bloodshed Software 公司所設計的, 您可以從 網頁當中下載 這個免費的開發工具 Dev C++ 使用了 GNU 的 gcc, 並且使用另外還使用了 Mingw 的函式庫, 當您安 裝完 Dev C++ 之後, 可以從 開始 / 所有程式 /Bloodshed Dev C++ 功能表選項中, 啟動 Dev C++ 開發環境 D.1 單一程式的編譯與執行 當您寫了一個 C 語言程式, 並且按下功能表中的 Execute/Compile&Run 時, 您可以從 Compile Log 這個視窗當中, 看到 Dev C++ 所使用的編譯器,GNU 的 gcc 的編譯訊息, 圖 D.1 是筆者編譯本書範例 ch01/hello.c 這個程式時所看到的畫面 14

15 圖 D.1 單一程式檔的 Dev C++ 編譯執行畫面 使用 Dev C++ 撰寫單一程式時, 可以直接打開該程式並進行編譯 但是如果有 數個程式, 就必須先建立專案之後再進行編譯 D.2 多個程式的編譯與執行 假如您有數個程式要進行編譯與連結, 此時您可以用 Dev C++ 建立專案 10, 然後同樣按下 Execute/Compile&Run 選項進行編譯 但是, 此時 Compile Log 視窗中會顯示 make 的指令訊息, 而不再是使用 gcc 這是因為 Dev C++ 自動幫您建立了一個專案檔 11, 並且利用專案建置工具 make 進行整個專案的編譯動作 圖 D.2 是筆者以 Dev C++ 建置 ch01.dev 專案時所擷取的畫面, 您可以看到其中的 Compile Log 視窗當中有 make 指令的訊息 10 您可以於 Dev C++ 當中按下 File/New/Project 選項建立新專案 11 您會看到該專案的目錄下會出現一個 Makefile.win 的文字檔, 這個文字檔其實就是 GNU 的 makefile 工具所使用的專案檔 15

16 圖 D.2 專案檔的 Dev C++ 編譯執行畫面 從以上的操作當中, 您應該可以很容易的看出 Dev C++ 與 GNU 工具的關係, Dev C++ 相當於程式設計師與 GNU 工具之間的一個視窗介面, 當使用者按下視窗的選項進行操作時,Dev C++ 會呼叫 gcc make gdb 等 GNU 工具以執行編譯與除錯的動作, 然後再將訊息回應到相關的視窗當中 從圖 D.2 的 Compile Log 視窗當中, 您可以看到 Dev C++ 是呼叫 make.exe f "C:\ccc\SP\code\ch01\Makefile.win" 指令, 以編譯整個專案的 如果您檢視專案所在的資料夾當中, 您會發現一個附檔名為.dev 的專案檔, 以及一個名稱為 Makefile.win 的建置檔 D.3 自己撰寫專案建置檔 假如您想使用自己寫的專案建置檔, 您可以將 Dev C++ 功能選項 Project/Project Options/Makefile 當中的 Use custom Makefile 設定為自己寫的 Makefile, 這樣就能讓 Dev C++ 根據自己寫的 Makefile 進行編譯動作, 而不會採用 Dev C++ 所 16

17 自動產生的 Makefile.win 檔案了 圖 D.3 在 Dev C++ 當中設定使用自己寫的 Makefile 如果您希望讓 Dev C++ 能在按下 Execute/Run 功能時執行自己撰寫的 Makefile 所產生的執行檔, 那麼您可以設定 Prject/Project Options/Build Options 當中的 override output filename 為該執行檔, 如圖 D.4 畫面中的 test.exe 所示 於是當您按下 Run 選項時, 就會執行該執行檔 ( 也就是 test.exe), 如此, 您就可以將整個 make 指令的建置與執行過程, 直接嵌入到 Dev C++ 的整合環境當中, 而不需要回到命令列當中進行操作 17

18 圖 D.4 在 Dev C++ 中設定執行的輸出檔案為 test.exe D.4 GNU 工具的安裝路徑 在 Dev C++ 當中,GNU 工具到底被安裝在哪裡呢? 如果你打開 Dev C++ 的資料夾, 您將會看到一個稱為 bin 的子資料夾, 裏面包含了 gcc g++ as gdb ld make 等 GNU 工具, 如圖 D.5 所示 18

19 圖 D.5 Dev C++ 中的 GNU 工具 您只要將這個路徑加入到 Windows 系統的 PATH 環境變數內, 如圖 1.6 所示, 就可以在命令列中使用 gcc make 等工具, 進行編譯與專案建置的動作, 而不 一定要依靠 Dev C++ 的視窗型開發環境了 19

20 圖 D.6 使用控制台設定 PATH 系統變數 當您設好環境變數後, 可以於 MS. Windows 系統中選擇 開始 / 附屬應用程式 / 命令提示字元, 然後利用 PATH 指令先檢查看看 \Dev-Cpp\bin 的路徑是否已經設定好了 如果沒有問題, 您就可以輸入 gcc 指令看看, 假如回應訊息是 'gcc' 不是內部或外部命令 可執行的程式或批次檔, 那麼代表您的路徑設定有誤, 但是如果顯示的訊息是 gcc: no input files, 那麼代表 \Dev-Cpp\bin 的路徑設定正確, 於是您就可以在命令列中使用 GNU 工具了 圖 D.7 顯示了上述的檢查步驟與編譯執行過程 20

21 圖 D.7 啟動命令列後開始使用 GNU 工具 Dev C++ 只能在 MS. Windows 下執行, 使用的函式庫是 Windows 上的函式庫, 因此缺乏許多 Linux 上的函式庫功能 還好, 在 MS. Windows 底下有另一套仿造 Linux 所建立的 GNU 工具環境 Cygwin, 假如您需要使用到行程管理或執行緒等函式庫, 您可以改用 Cygwin 開發環境 附錄 E Cygwin 開發環境 Cygwin 是 Cygnus 公司為 MS Windows 所建構的命令列開發環境, 此環境將 Linux 上大部份的工具都移植到 MS Windows 底下, 其使用方式幾乎完全仿造 Linux 中的用法 因此, 在 Cygwin 中開發出來的程式通常也能直接放入 Linux 下進行編譯執行, 反之亦然, 這對系統程式的學習而言, 有相當大的幫助 Cygwin 並沒有將 Linux 作業系統整個放入 MS. Windows 中, 而是將 Linux 上面的工具程式, 放入到 Windows 環境下, 並且將許多 Linux 當中的函式庫移植到 Windows 當中, 因此, 還是有些 Linux 當中的程式無法被放入 Cygwin 當中執行, 但 Cygwin 預設所支援的函式庫比 Dev C++ 多一些, 像是 fork() thread 等函式庫, 都可以直接在 Cygwin 當中使用 21

22 安裝 Cygwin 這套軟體時, 請確認是否勾選了 All/Devel/{gcc binutils make} 等選項, 如圖 E.1 所示 如此, 即可在 Window 當中以 GNU 工具開發 C 語言與組合語言程式, 其用法與 Linux 當中幾乎大部分都相同, 本書中的範例也都可以在 Cygwin 上執行 圖 E.1 開發環境 Cygwin 安裝時, 請確認勾選了 gcc, make, binutils 等三個選項 當您安裝好 Cygwin 軟體環境後, 請選取 開始 / 所有程式 /Cygwin/Cygwin Bash Shell 項目, 以啟動 Cygwin 的命令列環境, 接著, 會顯示出如圖 E.2 的命令列 視窗 22

23 圖 E.2 Cygwin 開發環境的初始進入畫面 E.1 仿照 Linux 的指令環境 在安裝完 Cygwin 環境之後, 您就可以開始使用 GNU 工具了 但是, 對於習慣使用 MS. Windows 的使用者而言, 使用 Cygwin 將會需要學習一些新的指令, 因為 Cygwin 的指令名稱與用法, 都是仿照 Linux 的指令所設計的 如果您原本就會使用 Linux, 那麼您將會感到如魚得水 Cygwin 所使用的命令列, 乃是仿照 Linux 中的 Bash Shell 環境 ( 此後簡稱 Shell),Shell 與 Microsoft Windows 的 DOS 命令列有所不同 在 DOS 環境當中,dir 可用來顯示目前的資料夾, 但在 Shell 中則必須使用 ls 命 令, 還好, 大部分的 DOS 命令都可被對應到某些 Shell 命令, 以下是一些常用 指令在 DOS 與 Shell 兩個環境下的對照表 表格 E.1 Linux Shell 與 MS. DOS 與的常用指令對照表 功能 DOS 命令 UNIX/Linux UNIX/Linux 範例說明 命令 使用範例 檔案列表 dir ls ls all 列出詳細的檔案列表 切換路徑 cd cd cd../ 切換到父目錄 複製檔案 copy cp cp a.o b.o 將 a.o 複製到 b.o 重新命名 ren mv mv a.o b.o 將 a.o 更名為 b.o 23

24 刪除檔案 del rm rm a.o 將 a.o 移除 建立目錄 md mkdir mkdir dir1 建立目錄 dir1 刪除目錄 rd rmdir rmdir dir1 移除目錄 dir1 執行檔案 <file>./<file>./test 執行檔案 test.exe 在 Cygwin 環境當中, 假如您用 gcc test.c -o test 這個指令編譯出一個執行檔 test.exe 後, 您必須用./test 才能執行 這是由於 Shell 採用了 Linux 的習慣的 原因, 您不能直接輸入檔名 test 去執行該檔案 通常 Cygwin 會被安裝在 C:\cygwin 資料夾底下, 當您啟動 Cygwin 命令列之後, 所在的資料夾會是 C:\cygwin\home\<user> 這個資料夾 舉例而言, 筆者電腦中的 Cygwin 使用者資料夾就是 C:\cygwin\home\ccc\ 這個資料夾 您可以直接用檔案總管開啟該資料夾, 然後在其中建立一個如範例 E.1 的 hello.c 程式並存檔, 我們將示範如何在 Cygwin 當中編譯並執行這個檔案 ( 當然您也可以將程式從其他資料夾複製到 cygwin 的使用者資料夾中, 您同樣可以在 Shell 命令列中看到這些檔案 ) 範例 E.1 程式 hello.c #include <stdio.h> int main(void) { printf("hello!\n"); system("pause"); return 1; } 當您撰寫好 hello.c 之後, 您應該將該檔案儲存在 Cygwin 的使用者資料夾中, 如圖 E.3 所示 接著, 讓我們回到 Cygwin 的命令列環境查看 24

25 圖 E.3 Cygwin 開發環境的使用者資料夾 如果您在 Cygwin 命令列環境中使用 ls 指令列出檔案, 您將會看到檔案 hello.c 已經存在 此時, 您可以使用 gcc hello.c -o hello 這個指令編譯 hello.c, 完成之後再度用 ls 列出檔案, 看到多出了一個 hello.exe 的檔案, 然後, 您可以用./hello 這個命令執行該檔案 圖 E.4 顯示了這個編譯與執行的過程 25

26 圖 E.4 在 Cygwin 開發環境中用 gcc 進行編譯與執行的情況 Cygwin 環境中的函式庫與 Dev C++ 有些不同 在使用 Dev C++ 時, 我們可以用 system("pause") 這樣的函數讓 DOS 暫停, 但是在 Cygwin 當中的 system() 函數則根本不認識 pause 這個指令, 因此會顯示 sh: pause: command not found 這是由於 Cygwin 的 shell 環境沒有 pause 指令, 因此無法表現出暫停功能 還好, 在大部分的情況之下, 如果您使用的是與系統平台無關的標準 C 語言函數, 那麼同樣的程式在 Cygwin 與 Dev C++ 當中, 會展現出同樣的行為 因此, 除了少數與平台相關的範例, 像是 Linux 作業系統中的 fork 與 thread 等主題外, 本書中大部分的程式都可以同時在這兩個平台下編譯與執行 26

教科書:系統程式 - 第 2 章、電腦的硬體結構

教科書:系統程式 - 第 2 章、電腦的硬體結構 第 2 章 電腦的硬體結構 作者 : 陳鍾誠 第 2 章 電腦的硬體結構 2.1 CPU0 處理器 2.2 CPU0 的指令集 2.3 CPU0 的運作原理 2.4 CPU0 的程式執行 2.5 實務案例 :IA32 處理器 2.1 CPU0 處理器 CPU0 是筆者所設計的一個簡易的 32 位元處理器, 主要用來說明系統程式的運作原理 CPU0 的設計主要是為了教學考量, 設計重點在於簡單 容易理解,

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un Linux C July 27, 2016 Contents 1 Linux IDE 1 2 GCC 3 2.1 hello.c hello.exe........................... 5 2.2............................... 9 2.2.1 -Wall................................ 9 2.2.2 -E..................................

More information

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1 0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0

More information

Microsoft PowerPoint - chap2.ppt

Microsoft PowerPoint - chap2.ppt 基本程式設計觀念 人 自然語言 ( 中文 英文...) 高階語言 (C C++ Java) 組合語言 (8051 或是 80x86) 機器語言 (8051 或是 80x86) 機器 林銘波編著 --- 全華科技圖書公司 2.1 計算機的階層式結構 應用程式 ( 或語言 ) 高階語言組合語言硬體 林銘波編著 --- 全華科技圖書公司 2.2 儲存程式計算機 資料輸入 中央處理器讀取 / 寫入控制 CPU

More information

The golden pins of the PCI card can be oxidized after months or years

The golden pins of the PCI card can be oxidized after months or years Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20 (Jump) (Loop) (Conditional jump) CMP CALL AND SAR/SHR TEST JMP NOT SAL/SHL Jnnn* OR RCR/ROR LOOP XOR RCL/ROL RETn * nnn, JNE JL -128 127-32,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far

More information

会计9

会计9 ........................... .................. 96 17 1. 2. 3. 1. 2. 3. 1. 2. 3. 4. 1. 2. 3. 4. 1. 2. 3. 4. 5. 6. 1. 2. 3. 4. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 95 18 1. 2. 3. 1. 2. 3. 2000 60 70 1.

More information

教科書:系統程式 - 第 8 章、編譯器

教科書:系統程式 - 第 8 章、編譯器 第 8 章 編譯器 作者 : 陳鍾誠 旗標出版社 第 8 章 編譯器 8.1 簡介 8.2 詞彙掃描 8.3 語法剖析 8.4 語意分析 8.5 中間碼產生 8.6 組合語言產生 8.7 最佳化 8.8 實務案例 :gcc 編譯器 8.1 簡介 編譯器 將高階語言轉換成組合語言 ( 或機器碼 ) 的工具 sum = sum + i 編譯器 Compiler LD R1 sum LD R2 i ADD

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Linux 操 作 系 统 基 础 介 绍 课 程 目 标 及 要 求 了 解 Linux 操 作 系 统 的 登 入 方 式 掌 握 常 用 命 令 的 基 本 用 法 能 够 熟 练 在 各 个 目 录 转 换 Outline 1. Linux 操 作 系 统 简 介 2. Linux 操 作 系 统 的 登 录 3. Linux 操 作 系 统 的 目 录 结 构 4. 常 用 命 令 5.

More information

untitled

untitled 8086/8088 CIP /. 2004.8 ISBN 7-03-014239-X.... TP313 CIP 2004 086019 16 100717 http://www.sciencep.com * 2004 8 2004 8 1 5 500 787 1092 1/16 16 1/2 391 000 1 2 ii 1 2 CAI CAI 3 To the teacher To the student

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

本文由筱驀釹贡献

本文由筱驀釹贡献 本 文 由 筱 驀 釹 贡 献 ppt 文 档 可 能 在 WAP 端 浏 览 体 验 不 佳 建 议 您 优 先 选 择 TXT, 或 下 载 源 文 件 到 本 机 查 看 Linux 操 作 系 统 Linux 操 作 系 统 第 一 部 分 介 绍 与 安 装 Linux 的 由 来 : Linux 的 由 来 : 的 由 来 Linus Torvalds 1.Linux 的 版 本 1.Linux

More information

ARM JTAG实时仿真器安装使用指南

ARM JTAG实时仿真器安装使用指南 ARM JTAG Version 1.31 2003. 11. 12 ARM JTAG ARM JTAG.3 ARM 2.1.4 2.2.4 ARM JTAG 3.1 18 3.2 18 3.2.1 Multi-ICE Server.18 3.2.2 ADS..21 ARM JTAG 4.1 Multi-ICE Server 33 4.1.1 Multi-ICE Server..... 33 4.1.2

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

42 2141601026 2016 11 27 2 1.1............................................. 2 1.2....................................... 2 1.2.1......................................... 2 1.3.............................................

More information

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與 程 式 編 写 語 言 在 完 成 這 章 後, 你 將 能 夠 了 解 程 式 編 写 語 言 的 功 能 了 解 高 階 語 言 和 低 階 語 言 之 間 的 分 別 知 道 翻 譯 程 式 的 意 義 和 能 夠 把 翻 譯 程 式 分 類 為 : 匯 編 程 式 編 譯 程 式 和 解 譯 程 式 認 識 不 同 翻 譯 程 式 的 優 點 和 缺 點 程 式 是 指 揮 電 腦 的 指

More information

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4 JAVA Extension 0..\Example\Ch0\ \ T.html..\Example\Ch0\ \ T.txt T.txt..\Example\Ch0\ \ T_Ok.html 提示 :. Marquee Marquee Font Color #FFFFFF BG Color #867bf Width 90 Height 50. T.txt Ctrl+C your scrolling

More information

46 2011 11 467 數位遊戲式學習系統 7 2011 11 467 47 3 DBGameSys 48 2011 11 467 正規化資料模組 如何配置並儲存電子化資料 以 便減少資料被重覆儲存的程序 DBGameSys的主要功能模組包 學習者 審核評分模組 含 正規化資料模組 審核評分 模組 高分列表模組3大區塊 系統資料庫 在正規化資料模組的執行 高分列表模組 過程中 先要求學習者瀏覽遊戲

More information

ROP_bamboofox.key

ROP_bamboofox.key ROP Return Oriented Programming Lays @ BambooFox Who Am I Lays / L4ys / 累死 - l4ys.tw Reverse Engineering BambooFox / HITCON Outline Buffer Overflow ret2libc / ret2text Return Oriented Programming Payload

More information

Cygwin Cygwin windows Linux Cygwin.dll Windows Linux API Linux Windows Linux 2

Cygwin Cygwin windows Linux Cygwin.dll Windows Linux API Linux Windows Linux 2 uclinux 1 Cygwin Cygwin windows Linux Cygwin.dll Windows Linux API Linux Windows Linux 2 Cygwin Cygwin GNU gccgdbxfree86bashtetexopengl perlpython Linux Windows Cygwin Linux GNU Windows 3 Cygwin Cygwin

More information

ebook8-30

ebook8-30 3 0 C C C C C C++ C + + C++ GNU C/C++ GNU egcs UNIX shell s h e l l g a w k P e r l U N I X I / O UNIX shell awk P e r l U N I X C C C C C C U N I X 30.1 C C U N I X 70 C C U N I X U N I X U N I X C Dennis

More information

Microsoft Word - PS2_linux_guide_cn.doc

Microsoft Word - PS2_linux_guide_cn.doc Linux For $ONY PlayStatioin2 Unofficall General Guide Language: Simplified Chinese First Write By Beter Hans v0.1 Mail: hansb@citiz.net Version: 0.1 本 人 是 菜 鸟 + 小 白 欢 迎 指 正 错 误 之 处, 如 果 您 有 其 他 使 用 心 得

More information

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 Excel - - Excel - -4-5 840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 ( 0 ) 智慧標籤 相關說明提示 -5 -- Excel 4 5 6 7 8 + - * / % ^ = < >= & 9 0 (:) (,) ( ) Chapter - :,

More information

Cygwin & vim

Cygwin & vim Cygwin & vim Yu Hsiang Zheng (Slighten) Outline Shell Cygwin vim 1/21 What is a computer 2/21 What is a computer 拿 地 球 來 做 比 喻 的 話 kernel: 地 心 shell: 地 殼 application: 房 子 各 種 建 築 物 shell = command interpreter

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

R = R + R + R + R + R + R A 1 2 3 4 5 6 l m l - l 1 m 0.5 0.4 0.4K 1 0.5 R B R I m R A Rm I 10 0.4 RB 0.04K 10 m R = K 50 0.008K c R = K 100 = 0.004k D R = K 250 = 0.0016K 5 3 R 3 1 - R R A 6 R + R 0.4

More information

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆 Autodesk Product Design Suite Standard 20122 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆的產品設計計 Autodesk Product Design Suite Standard 版本中中包括以下軟體體產品

More information

untitled

untitled CPU!! 00-11-8 Liping zhang, Tsinghua 1 : ADD(r1, r, r) CMPLEC(r, 5, r0) MUL(r1, r, r) SUB(r1, r, r5) ADD r, ( ) r CMP. CMP r.. t t + 1 t + t + t + t + 5 t + 6 IF( ) ADD CMP MUL SUB RF NOP ADD CMP MUL SUB

More information

使用手冊

使用手冊 使用手冊 版權所有 2013 年 Microtek International, Inc. 保留所有權利 商標 Microtek MII MiiNDT ScanWizard Microtek International, Inc. Windows Microsoft Corporation 重要須知 Microtek Microtek Windows Microsoft Windows I49-004528

More information

Microsoft PowerPoint - chap5.ppt

Microsoft PowerPoint - chap5.ppt 邏輯運算指令的動作 0 1 0 1 0 0 1 1 OR 1 0 1 1 1 0 0 1 1 1 1 1 1 0 1 1 (a) OR 運算 0 1 0 1 0 0 1 1 XOR 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 (c) XOR 運算 希望設定為 1 的位元 罩網標的位元組 新標的位元組 不改變的位元 希望取補數的位元 罩網標的位元組 新標的位元組 不改變的位元 1

More information

Abstract arm linux tool-chain root NET-Start! 2

Abstract arm linux tool-chain root NET-Start! 2 Lab III - Embedding Linux 1 Abstract arm linux tool-chain root NET-Start! 2 Part 1.4 Step1. tool-chain 4 Step2. PATH 4 Part 2 kernel 5 Step1. 5 Step2... 6 Step3...8 Part 3 root. 8 Step1. 8 Step2. 8 Part

More information

1 CPU

1 CPU 2000 Tel 82316285 82317634 Mail liuxd@buaa.edu.cn 1 CPU 2 CPU 7 72 A B 85 15 3 1/2 M301 2~17 : 3/4 1/2 323 IBM PC 1. 2. 3. 1. 2. 3. 1.1 Hardware Software 1.2 M3 M2 M1 1.2 M3 M1 M2 M2 M1 M1 M1 1.2 M3 M1

More information

Microsoft Word - 100118002.htm

Microsoft Word - 100118002.htm 100 年 度 11800 電 腦 軟 體 應 用 乙 級 技 術 士 技 能 檢 定 學 科 測 試 試 題 本 試 卷 有 選 擇 題 80 題, 每 題 1.25 分, 皆 為 單 選 選 擇 題, 測 試 時 間 為 100 分 鐘, 請 在 答 案 卡 上 作 答, 答 錯 不 倒 扣 ; 未 作 答 者, 不 予 計 分 准 考 證 號 碼 : 姓 名 : 選 擇 題 : 1. (3)

More information

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE Project Properties IDE makefile 1. Oracle Solaris Studio 12.2 IDE 2010 9 2 8 9 10 11 13 20 26 28 30 32 33 Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1. "File" > "New

More information

封面-12

封面-12 第十二章 701Client TECHNOLOGY CO.,LTD. 701Client 701Server 701Client "701Client", 12-1 :supervisor :supervisor : 1. : 00~99 100 2. : 00~63 ( 63 / / ) 3. : 18 9 4. : 18 9 5. 12-2 TECHNOLOGY CO.,LTD. 701Client

More information

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089 Photoshop CC Camera Raw Photoshop Camera Raw Step 1 3 1 2 3 SCOTT KELBY Step 2 B Camera Raw 088 Chapter 3 Camera Raw Chapter 3 Camera Raw Step 3-4 -100 negative clarity +25 ] P / -75-50 Step 4 0 ( 下一頁

More information

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2 Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790

More information

untitled

untitled http://www.embedded-soc.com/ J-LINK J-Link Rev2.1 http://www.embedded-soc.com/ 2007-11-11 http://www.embedded-soc.com/ J-LINK J-Link ARM JTAG J-LINK J-LINKJLINK J-FLASH ARM F.A.Q jlink GDBserver J-Flash

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 目 录 及 权 限 管 理 随 着 的 不 断 发 展, 越 来 越 多 的 人 开 始 使 用, 对 于 那 些 刚 接 触 的 人 来 说, 恐 怕 最 先 感 到 困 惑 的 就 是 那 些 不 明 不 白 的 目 录 了 同 样, 系 统 是 一 个 典 型 的 多 用 户 系 统 为 了 保 护 系 统 的 安 全 性, 系 统 对 不 同 用 户 访 问 同 一 文 件 或 目 录 的

More information

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor 1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4

More information

ebook35-2

ebook35-2 2 2.1 Linux login Login: < > Password: < > Linux r o o t l o g o u t 2.2 Linux X Window Linux Linux Bourne ( b s h ) C ( c s h ) Korn ( k s h ) Bourne Steven Bourne UNIX Bourne bash Bourne C Bill Joy Bourne

More information

ebook70-5

ebook70-5 5 / 5.1 L i n u x L i n u x X L i n u x 5.1.1 touch t o u c h t o u c h G N U t o u c h # touch newfile # ls -l newfile - r w - r - - r - - 1 bball users 0 Jan 5 12 : 40 n e w f i l e t o u c h 0 # > newfile2

More information

言1.PDF

言1.PDF MSP430 WINDOWS WORKBENCH MSP430 Flash Green MCU Flash Flash MCU MSP430 16 RISC 27 125ns 1.8V~3.6V A/D 6 s MSP430 10 ESD MSP430 MSP430 10 MSP430 2001 MSP430 Windows Workbench Interface Guide Windows Workbench

More information

書面

書面 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 5.4 互動功能畫面 程式碼請參考附件-程式三 在進入互動頁面時 會執行setAllText()依寵物狀態數值來 設定狀態文字與頭像 並且依心情決定是否要不要播放音效 觸摸的區域 由於是自己寫的 view 所以並未透過xml來設置 而是透過Layut.addview()來動態新增

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

2.1 n ~á CPU q ˆ ~ µƒã î ˆ C++ à nù eô 1. (edit) 2. Í (preprocess) 3. (compile) 4. (link) 5. (load) 6. ˆ (execute) µl ô Ãs nù (editor) Í (preprocessor

2.1 n ~á CPU q ˆ ~ µƒã î ˆ C++ à nù eô 1. (edit) 2. Í (preprocess) 3. (compile) 4. (link) 5. (load) 6. ˆ (execute) µl ô Ãs nù (editor) Í (preprocessor 2 C H A P T E R C++ «i o r o r r y r e «ˆ Û Ã ¾É t v ô Ãd C++ à t «È ÄÕx v C++ ÃÊh 2.1! t 2.2! ô à C++ 2.3! Borland C++ ê «v 2.4! Visual C++.NET 2.5! ô C++ 2.6! C++ m à Π2.7! t ð 2.8! t 2.1 n ~á CPU

More information

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp 01 1.6 Spyder Anaconda Spyder Python Spyder Python Spyder Spyder 1.6.1 Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Spyder Python File

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

開放電腦計畫 -- 計算機硬體結構

開放電腦計畫 -- 計算機硬體結構 開 放 電 腦 計 畫 -- 計 算 機 硬 體 結 構 2014 年 7 月 出 版 作 者 : 陳 鍾 誠 ( 創 作 共 用 : 姓 名 標 示 相 同 方 式 分 享 授 權 ) 開 放 電 腦 計 畫 -- 計 算 機 硬 體 結 構 前 言 序 授 權 聲 明 開 放 電 腦 計 畫 簡 介 硬 體 : 計 算 機 結 構 軟 體 : 系 統 程 式 結 語 參 考 文 獻 電 腦 硬

More information

Oracle Oracle Solaris Studio IDE makefile C C++ Fortran makefile IDE Solaris Linux C/C++/Fortran Oracle IDE "P

Oracle Oracle Solaris Studio IDE makefile C C++ Fortran makefile IDE Solaris Linux C/C++/Fortran Oracle IDE P Oracle Solaris Studio 12.3 IDE 2011 12 E26461-01 2 7 8 9 9 Oracle 10 12 14 21 26 27 29 31 32 33 Oracle Solaris Studio IDE makefile C C++ Fortran makefile IDE Solaris Linux C/C++/Fortran Oracle IDE "Project

More information

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8 Smart TPM Rev. 1001 Smart TPM Ultra TPM Smart TPM TPM...3 1. BIOS... 3 2. Infineon TPM Smart TPM... 4 2.1. Infineon TPM...4 2.2. Smart TPM...4 3. TPM... 5 3.1. Smart TPM TPM...5 3.2. Advanced Mode...8

More information

投影片 1

投影片 1 9 1 9-1 Windows XP Windows Server 2003 Mac OS Linux, 都 (OS, Operating System ) 2 3 , 來, 行 3 理 行 4 ,, (UI, User Interface), 滑, 令 列 (CLI, Command-Line Interface) (GUI, Graphical User Interface) 2 5 令 列,

More information

Ps22Pdf

Ps22Pdf ( ) ( 150 ) 25 15 20 40 ( 25, 1, 25 ), 1. A. B. C. D. 2. A. B. C. D. 3., J = 1 H = 1 ( A B, J', J, H ) A. A = B = 1, J' =0 B. A = B = J' =1 C. A = J' =1, B =0 D. B = J' = 1, A = 0 4. AB + AB A. AB B. AB

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

Microsoft Word - linux命令及建议.doc

Microsoft Word - linux命令及建议.doc Linux 操 作 系 统 命 令 集 1 基 本 命 令 查 看 系 统 信 息 : uname -a 修 改 密 码 : passwd 退 出 : logout(exit) 获 取 帮 助 : man commands 2 文 件 和 目 录 命 令 显 示 当 前 工 作 目 录 : pwd 改 变 所 在 目 录 : cd cd - 切 换 到 上 一 次 使 用 的 目 录 cd 切 换

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt 8088/8086 MICROPROCESSOR PROGRAMMING INTEGER INSTRUCTIONS AND COMPUTATIONS 8088/8086 MICROPROCESSOR PROGRAMMING INTEGER INSTRUCTIONS AND COMPUTATIONS 5.1 Data-Transfer Instructions 5.2 Arithmetic Instructions

More information

* 2

* 2 * 2 1. A 3. A 2. B A. 1. 1 2. 1 3 4 4 6 p 123456 7 bk bl bm bn 7 bo cm 9 8 cl ck bt bs br bp bq 1 2 3 4 5 6 7 8 9 bk bl bm 0 bn bo bp bq br bs bt p ck 8 2 4 6 cl cm cq cp co cn cn co cp cq 10 . [8]

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt 8088/8086 MICROPROCSOR PROGRAMMING INTEGER INSTRUCTIONS AND COMPUTATIONS The MOVE The move (MOV) instruction is used to transfer a byte or a word of data from a source operand to a destination operand

More information

lect03.ppt

lect03.ppt Linux 操 作 系 统 Linux 基 础 主 要 内 容 q 使 用 Linux q Linux 的 两 种 登 录 方 式 q 字 符 操 作 环 境 和 X Windows 系 统 q Linux 图 形 界 面 基 本 操 作 q Linux 命 令 的 使 用 方 式 q Linux 一 些 常 用 命 令 1 2 一 些 基 本 术 语 u 命 令 (Command) 给 计 算 机

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

ebook140-9

ebook140-9 9 VPN VPN Novell BorderManager Windows NT PPTP V P N L A V P N V N P I n t e r n e t V P N 9.1 V P N Windows 98 Windows PPTP VPN Novell BorderManager T M I P s e c Wi n d o w s I n t e r n e t I S P I

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 函數樣板 (Function Template) 與 類別樣板 (Class Template) 講師 : 洪安 1 資料結構與 C++ 程式設計進階班 為何需要通用函數? (1/2) int abs(int x) { return (x>0)?x:-x; 取名困難不好記 float fabs(float x) { return (x>0)?x:-x; complex cabs(complex x)

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

ICD ICD ICD ICD ICD

ICD ICD ICD ICD ICD MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4

More information

Microsoft Word - ACL chapter02-5ed.docx

Microsoft Word - ACL chapter02-5ed.docx 第 2 章神奇的質數 2.1.1 什麼是質數 1 1 1 打下好基礎 - 程式設計必修的數學思維與邏輯訓練 1 1 0 10 2 3 5 7 4 6 8 9 10 4 10000 1229 1000 168 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131

More information

09 F9 128 peer to peer, P2P file transfer protocol bittorrent 10 P2P P2P GNU/ Linux P2P CC 單機版的智慧財產權 vs. 人權戰爭 1980 DVD content

09 F9 128 peer to peer, P2P file transfer protocol bittorrent 10 P2P P2P GNU/ Linux P2P CC 單機版的智慧財產權 vs. 人權戰爭 1980 DVD content 當智慧財產 侵犯人權? 智慧財產與人權 Kickstarter The Matrix The Matrix Avatar Eywa 12 2013 4 484 09 F9 128 peer to peer, P2P file transfer protocol bittorrent 10 P2P P2P GNU/ Linux P2P CC 單機版的智慧財產權 vs. 人權戰爭 1980 DVD content

More information

Microsoft Word - Mail2000_SecurityPatch_

Microsoft Word - Mail2000_SecurityPatch_ Mail2000 安全性加強程式 網擎資訊軟體股份有限公司謹呈 1 Mail2000 安全性加強程式 Introduction Mail2000 安全性加強程式, 是針對 Mail2000 V4.0 以上版本, 包括 V4.0 及 V4.5 版本所提供, 以加強系統的安全性, 減少因惡意信件而引起的安全性問題 版本名稱 Mail2000 版本作業系統檔案名稱 V4.0 單一網域版本 V4.0 SDSS

More information

<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63> 因 为 路 过 你 的 路, 因 为 苦 过 你 的 苦, 所 以 快 乐 着 你 的 快 乐, 追 逐 着 你 的 追 逐 内 容 简 介 本 书 根 据 2005 年 下 半 年 实 施 的 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 嵌 入 式 系 统 设 计 师 级 考 试 大 纲 精 神, 在 深 入 研 究 历 年 计 算 机 技 术 与 软

More information

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD 10 SCJD 簡介 Java 10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD 10 SCJD 10-3 Java Java SCJD 7 Swing RMI 10.1.1 The Assignment The Essay 9 10 10-4 SCJP SCJD 90 10.1.2 SCJP Java 90 120 Swing 10

More information

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1 21 , 7, Windows,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) /,,. : ;, 2005. 11 ( 21 ) ISBN 7-81082 - 634-4... - : -. TP316-44 CIP ( 2005) 123583 : : : : 100084 : 010-62776969 : 100044 : 010-51686414

More information

instructions.PDF

instructions.PDF 94 SIMATIC (END) (END) Micro/WIN 32 (STOP) (STOP) CPU RUN STOP STOP CPU RUN STOP (WDR) (Watchdog Reset) (WDR) CPU WDR WDR ( ) I/O ( I/O ) SM (SM0 SM5 SM29 ) 25 0 ms 00 ms STOP 300ms 300ms WDR S7-200 CPU

More information

Chapter 2

Chapter 2 2 (Setup) ETAP PowerStation ETAP ETAP PowerStation PowerStation PowerPlot ODBC SQL Server Oracle SQL Server Oracle Windows SQL Server Oracle PowerStation PowerStation PowerStation PowerStation ETAP PowerStation

More information

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0 SH79F6431 1. SH79F6431 1T 8051 FLASH SH79F JET51 Keil µ vision JTAG 1.1. SH79F6431 LQFP64 1.2. (Target Board) SH79F6431 1 V 1.0 1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F6431 1 2 1 B. 1(VCC/GND)

More information

ebook62-1

ebook62-1 1 Red Hat Linux R e d Hat Linux L i n u x X Wi n d o w Red Hat L i n u x 1.1 Red Hat Linux Red Hat 16 M 120 M 3. 5 Intel 386 C D - R O M C D - R O M We b / 1.1.1 L i n u x L i n u 4 Primary Partition Extended

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

教科書:系統程式 - 第 7 章、高階語言

教科書:系統程式 - 第 7 章、高階語言 第 7 章 高階語言 作者 : 陳鍾誠 旗標出版社 第 7 章 高階語言 7.1 簡介 7.2 語法理論 7.3 語意理論 7.4 執行環境 7.5 實務案例 :C 語言 7.1 簡介 高階語言的核心是 語法理論 利用生成規則 ( 例如 :BNF, EBNF 等 ) 描述程式的語法 根據生成規則撰寫剖析程式, 轉換成語法樹 對語法樹進行 解譯 或 編譯 的動作 編譯器 v.s. 直譯器 直譯器 利用程式解讀該語法樹,

More information

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM Oracle Solaris Studio 12.2 DLight 2010 9 2 2 3 DLight 3 3 6 13 CPU 16 18 21 I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AMP Apache MySQL

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 多型 Polymorphism 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 子類別與父類別物件間的指定 (assignment)

More information

投影片 1

投影片 1 軟體說明書繁體中文 RGB A 目錄 - CONTENTS 01 09 15 17 22 軟體主介面 巨集設定說明 主介面概觀 個人設定檔 (Profiles) 一般模式 / 遊戲模式 按鍵功能分配 巨集管理器概觀 巨集管理器 巨集錄製設定 巨集錄製時間列表 插入指令 閃移系統 - I.S.S (Instant Shift System) 燈光設定更新韌體 閃移系統啟動鈕設定說明 燈光設定介面 介面區域一

More information

基本數學核心能力測驗_行為觀察記錄紙_G2版本

基本數學核心能力測驗_行為觀察記錄紙_G2版本 基本數學數學核心能力測驗 G2 行為觀察記錄記錄紙 學校 : 班級 : 姓名 : 日期 : 記錄者 : ~ 學生作答時, 請他 ( 她 ) 將雙手皆置於桌面 ~ 認識數字 ( 三 ): 數列 ( 共 1 頁 ) 注意事項 逐題觀察並作底下記錄, 等分測驗做完後, 每一個策略任選一題問 這一題你是怎麼算的? ( 如果只運用一種策略, 則再任選 2-3 題訪問 ) 利用學生的回答來作為 自己觀察記錄的證據

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_06

Microsoft PowerPoint - C15_LECTURE_NOTE_06 61 Flag-Control 8088/8086 MICROPROCESSOR PROGRAMMING CONTROL FLOW INSTRUCTIONS AND PROGRAM STRUCTURES LAHF SAHF CLC STC CMC CLI STI Load AH from flags Store AH into flags Clear carry flag Set carry flag

More information

1. Revo Uninstaller Pro Revo Uninstaller Pro Revo Uninstaller Pro Revo Uninstaller Pro Revo Uninsta ller Pro Revo Uninstaller Pro Revo Uninstaller Pro

1. Revo Uninstaller Pro Revo Uninstaller Pro Revo Uninstaller Pro Revo Uninstaller Pro Revo Uninsta ller Pro Revo Uninstaller Pro Revo Uninstaller Pro 1. 2. 3. 3.1. 3.2. 3.2.1. 3.2.2. 3.2.3. 3.3. 3.4. 3.5. 4. 5. 5.1. 5.2. 5.3. Windows 5.4. 5.5. 5.6. 5.7. 5.8. 6. 6.1. 6.2. 6.2.1. 6.2.2. 6.3. 6.3.1. 6.3.2. 6.4. 6.4.1. 6.4.2. 6.4.3. 6.5. 6.6. 7. 8. 9. Revo

More information

Microsoft PowerPoint - Class5.pptx

Microsoft PowerPoint - Class5.pptx C++ 程式初探 V 2015 暑期 ver. 1.0.1 C++ 程式語言 大綱 1. 大量檔案讀取 & 計算 2. 指標 3. 動態記憶體 & 動態陣列 4. 標準函式庫 (STL) vector, algorithm 5. 結構與類別 2 大量檔案讀取 & 計算 若目前有一個程式將讀取純文字文件 (.txt) 中的整數, 並將該文件中的整數有小到大排序後, 儲存到另外一個新的純文字件中 假設有

More information

Microsoft Word - ACG chapter00c-3ed.docx

Microsoft Word - ACG chapter00c-3ed.docx Python 好好玩, 趣學電玩遊戲程式設計 Python Python BASIC Java JavaScript PHP C++ BASIC Python Python Python Xbox PlayStation Nintendo - 2 - 簡介 : 互動式 Python Shell : 編寫程式 Python File editor : 猜數字 : 腦筋急轉彎 : 龍域 ( ) : 使用

More information

Andes Technology PPT Temp

Andes Technology PPT Temp Makefile WWW.ANDESTECH.COM Cygwin Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

A SB-5000 SB-5000 i 0A-12 i Q&A 0A-9 i 0H-31 i 0H-1 0A-16 A-18 SB-5000 Model Name: N1502 A-1

A SB-5000 SB-5000 i 0A-12 i Q&A 0A-9 i 0H-31 i 0H-1 0A-16 A-18 SB-5000 Model Name: N1502 A-1 SB-5000 閃光燈 參考說明書 Nikon Manual Viewer 2 將 Nikon Manual Viewer 2 應用程式安裝至您的智能手機或平板電腦可隨時隨地查看尼康數碼相機說明書 Nikon Manual Viewer 2 可從 App Store 和 Google Play 免費下載 Tc A SB-5000 SB-5000 i 0A-12 i Q&A 0A-9 i 0H-31

More information

93年各縣國中教師甄試最新考情.doc

93年各縣國中教師甄試最新考情.doc 93 7/8()~7/13() 7/11()~7/13() 7/17() 7/18() 7/18() 7/19() 7/21() 40% 20%( ( )) 20%( ) 1 35% 25% ( ) 70% 10%( ) 60% 1 20% 10% ( ) 6/1()~6/11() 6/12()~6/14() 6/19() 6/21() 6/26() 6/26()22:00 7/3() 40%( )

More information

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制 Java 程式設計 標準輸出入與流程控制 本章大綱 標準輸出入 (Standard I/O) 分支 (Branch) if ~ else switch ~ case 迴圈 (Loop) for while do ~ while 中斷指令 break continue 總整理 標準輸出 定義 : 將資料印到螢幕上 Java 標準輸出指令 System.out.println( 資料 ) 將資料印出後換行

More information

Microsoft Word - 11.doc

Microsoft Word - 11.doc 除 錯 技 巧 您 將 於 本 章 學 到 以 下 各 項 : 如 何 在 Visual C++ 2010 的 除 錯 工 具 控 制 下 執 行 程 式? 如 何 逐 步 地 執 行 程 式 的 敘 述? 如 何 監 看 或 改 變 程 式 中 的 變 數 值? 如 何 監 看 程 式 中 計 算 式 的 值? 何 謂 Call Stack? 何 謂 診 斷 器 (assertion)? 如 何

More information

/ / (FC 3)...

/ / (FC 3)... Modbus/TCP 1.0 1999 3 29 Andy Swales Schneider aswales@modicon.com ... 2 1.... 3 2.... 3 2.1.. 3 2.2..4 2.3..4 2.4... 5 3.... 5 3.1 0... 5 3.2 1... 5 3.3 2... 6 3.4 / /... 7 4.... 7 5.... 8 5.1 0... 9

More information

投影片 1

投影片 1 類 Linux BASH shell (, VBird) 2008/03/29 Linux 1 Bash Shell 令 vi vim 料流 令 / 令 理 (job control) 例 2008/03/29 Linux 2 Bash shell 2008/03/29 Linux 3 什 Shell Shell shell 2008/03/29 Linux 4 什 Shell Linux shell

More information

典型自编教材

典型自编教材 河 南 科 技 大 学 计 算 机 实 验 教 学 中 心 1. 计 算 机 文 化 基 础 实 验 指 导 书 2. 数 据 结 构 实 验 指 导 书 3. 操 作 系 统 实 验 指 导 书 4. 面 向 对 象 程 序 设 计 实 验 指 导 书 5. 数 据 库 原 理 实 验 指 导 书 6. 编 译 原 理 实 验 指 导 书 7. JAVA 程 序 设 计 实 验 指 导 书 8.

More information

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas Contents 目錄 chapter 1 1-1... 1-2 1-2... 1-3 HTML5... 1-3... 1-5 1-3... 1-9 Web Storage... 1-9... 1-10 1-4 HTML5... 1-14... 1-14... 1-15 HTML5... 1-15... 1-15... 1-16 1-5... 1-18 Apps... 1-18 HTML5 Cache

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

untitled

untitled XP248 1 XP248 XP248 DCS PLC SCnet SCnet DCS SCnet DCS 1.1 XP248 Modbus HostLink Modbus XP248 4 DB25 XP248 MODBUS XP248 SCControl XP248 4 RS232 RS485 4 32 XP248 COM0-COM1 COM2-COM3 1200 19200bit/s 5 8 1

More information