當前位置:編程學習大全網 - 編程語言 - 匯編語言程序設計步驟有那幾步_匯編語言編程步驟有哪些

匯編語言程序設計步驟有那幾步_匯編語言編程步驟有哪些

匯編語言程序設計步驟:

1、分析問題,抽象出描述問題的數據模型

2、確定問題的算法思想

3、畫出流程圖或結構圖

4、分配存儲器和工作單元(寄存器)

5、逐條編寫程序

6、靜態檢查,上機調試例:編程查找考生的最高分,假設所有考生分數已存入計算機內存

1、分析問題根據條件、特點、規律→數學模型本例分數已給定為0~200之間的整數集合(考慮加試分),記為{S},找max{S}(註:簡單問題不壹定寫數學模型)

2、確定算法思想最好利用現成算法和程序設計方法,若無,則需根據實踐經驗總結算法思想

如本例,從成績單第壹分數往下看,邊看邊比較,記住較高分,舍棄較低分,直至看完,最高分存於腦中

歸納算法思想:建立數據指針並指向數據區首地址

將第壹數取入寄存器(如AL),與下壹數比較,若下壹數大則將其取入寄存器,否則調整指針,再與下壹數比較,重復上述過程,直至比較完畢,寄存器中即最高分

讀分數用MOV指令,比較用CMP指令,分析判斷用條件轉移指令

3、畫流程圖或結構圖有邏輯流程、算法流程、程序流程等,復雜問題需畫模塊結構

本例簡單,只畫出程序流程圖(用模塊化結構的N-S流程圖表示):本例的N-S流程圖圖中初始化包括:設壹個計數器,將分數個數減壹後送計數器,每比較壹次減壹,至零查找結束;建立壹個指針指向數據區

開始初始化取第壹數到寄存器與下壹數比較下壹數大?是否取大數到寄存器修改指針,計數次數減壹返回到循環體開始,直到計數次數為0退出循環結束

4、分配存儲器空間和工作單元(寄存器)定義數據段、堆棧段、代碼段等

工作單元壹般用寄存器

本例:分數放數據段,建100字節堆棧空間,BX作數據指針,CX作計數器,AL放最高分

5、逐條編寫程序DATASEGMENTFENDB85,90,60,75,87,35,80,78,96,82;存分數MAXDB?;存最高分DATAENDSSTACKSEGMENTPARASTACK‘STACK’DB100DUP(?);100字節堆棧STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTARTPROCFARPUSHDSMOVAX,0PUSHAX;為了返回DOSMOVAX,DATAMOVDS,AX;置數據段寄存器MOVBX,OFFSETFEN;置數據指針MOVCX,MAX-FEN;置計數器初值DECCX;N個分數比較N-1次MOVAL,[BX];取第壹個分數LOP:INCBX;調整指針CMPAL,[BX];與下壹數比較JAENEXT;大於等於則轉MOVAL,[BX];否則取下壹數NEXT:LOOPLOP;計數器減壹,;不為零轉LOPMOVMAX,AL;存放最高分RET;返回DOSSTARTENDPCODEENDSENDSTART6、靜態檢查,上機調試選用指令盡量字節少,使其執行速度快

易錯處應重點查,如比較次數、轉移條件等

確信無錯後方可上機調試

  • 上一篇:求藍貓每首歌的歌詞。
  • 下一篇:手機安卓系統和蘋果系統有什麽差別
  • copyright 2024編程學習大全網