ia32 cpu masm615 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
IA32 CPU MASM615 PowerPoint Presentation
Download Presentation
IA32 CPU MASM615

Loading in 2 Seconds...

play fullscreen
1 / 13

IA32 CPU MASM615 - PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on

IA32 CPU MASM615. 程式初體驗. 程式之組成. 程式樣式 輸出功能 簡易資料輸出 輸入功能 鍵盤輸入 算數處理基本程式碼 程式發展  過程 與 範例 Homework. 程式樣式. TITLE (b32. asm) ; This program 程式說明區 ; Last update: Include Irvine32.inc ; 使用之其他程式庫之定義檔於此加入 .data ; 使用之資料變數定義於此 .code main PROC ; 使用之主程式流程定義於此 exit ; 正常返回作業系統

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'IA32 CPU MASM615' - amina


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ia32 cpu masm615

IA32 CPUMASM615

程式初體驗

slide2
程式之組成
  • 程式樣式
  • 輸出功能簡易資料輸出
  • 輸入功能鍵盤輸入
  • 算數處理基本程式碼
  • 程式發展過程與範例
  • Homework
slide3
程式樣式

TITLE (b32.asm)

; This program程式說明區

; Last update:

Include Irvine32.inc

; 使用之其他程式庫之定義檔於此加入

.data

; 使用之資料變數定義於此

.code

main PROC

; 使用之主程式流程定義於此

exit ; 正常返回作業系統

main ENDP

; 其他自己撰寫之副程式定義於此

END main

TITLE (b16.asm)

; This program程式說明區

; Last update:

Include Irvine16.inc

;使用之其他程式庫之定義檔於此加入

.data

; 使用之資料變數定義於此

.code

main PROC

mov ax,@data

mov ds,ax

; 使用之主程式流程定義於此

exit ; 正常返回作業系統

main ENDP

; 其他自己撰寫之副程式定義於此

END main

  • 基本之程式格局
  • 16bit模式b16.asm
  • 32bit模式b32.asm
slide4

DOS INT 21H

AH=9h輸出字串

AH=2輸出自元

Irvine32.inc or

irvine16.inc

WriteBin

WriteChar

WriteDec

WriteHex

WrintInt

WrintString

簡易輸出
  • 輸出方式基本有三種
    • 使用BIOS或DOS(操作系統之函數)
    • 使用現有之程式庫
    • 自己撰寫I/O之驅動程式
  • 本課程以前兩種方式為主

因為使用現有之程式

因此需記住每一個程式

之使用規定

slide5

DOS INT 21H

AH=1h輸入字元

Irvine32.inc or

irvine16.inc

ReadChar

ReadHex

ReadInt

ReadString

鍵盤輸入
  • 輸出方式基本有三種
    • 使用BIOS或DOS(操作系統之函數)
    • 使用現有之程式庫
    • 自己撰寫I/O之驅動程式
  • 本課程以前兩種方式為主

因為使用現有之程式

因此需記住每一個程式

之使用規定

slide6
加減運算

.data

buf_a sdword ?

buf_b sdword ?

result sdword ?

.code

;buf_a+buf_beax

mov eax, buf_a

add eax, buf_b

  • 運算需弄清楚運算元為何、多少位元?
  • MASM所有運算指令皆只能有一記憶體型態之運算元,若需執行兩記憶體間運算,須先將其中一運算元先設定為暫存器AX~DX。

;buf_a+10eax

mov eax, buf_a

add eax, 10

;buf_a-buf_beax

mov eax, buf_a

sub eax, buf_b

;buf_a+buf_bresult

mov eax, buf_a

add eax, buf_b

mov resuld,eax

slide7
實戰演練步驟:

一、程式功能分析

三(b)流程控制:判斷?或迴圈?或跳躍,代入現有之流程樣板程式段

二、將所需完成之功能分門別類, input、output、運算、流程判斷、資料處理、…

三(c)資料處理: 分析是基本運算(+-*/,and or)或進階運算(如:亂數, 尋找是否有可用之副程式)

三(a)輸出入: 分辨所要輸出入之格式(dec,Hex,char, string), 依屬性呼叫對應之副程式

slide8
實戰演練:過程

一、程式碼驗證是否可正確組譯執行。

重覆1、2、3至所有功能正確,合併整合驗算正確。

使用者使用與功能驗證。

二、程式功能是否可觀察,結果是否正確。

三、與其他功能何合併驗證、是否正確?

程式完成

slide9
答題步驟範例
  • 依上張投影片實戰演練步驟,根據題目要求分析,並規劃程式(題目中之選項順序) 。
  • 將所答之順序,先透過編輯程式與MAKE32組譯驗證,並執行確認無誤後,再填入答案順序,儲存。
  • 待所有題目完成後提交。
  • 因為是隨機出題,且題目繁多,請勿以測試方式否則無法完成(因為每此題目不同),也無法訓練你自己寫程式。
  • 所有題目正確後才有權繳交本次作業(相關作業將累計為期末成績)。
homework
Homework
  • 應用範例所述之技巧,設計一簡易計算器。功能如下:
  • 列印選擇訊息(0:結束,+:加法,-:減法)
  • 依所選擇功能執行,並輸出結果。
    • Homework之輸出規格1
    • Homework之輸出規格2
  • 作業寫作建議
slide13
作業寫作建議
  • 一、先完成課堂上之網路程式測驗。
  • 二、設計作業之方案
    • 方案一:應用home_s2.asm, home.inc,將home_s2.asm之???處填入適當之訊息與指令。
    • 方案二:依網路程式測驗之經驗與作業輸出要求自行設計,執行流程可參考home_s2.asm