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

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

匯編語言程序設計步驟: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、 逐條編寫程序 DATA SEGMENT FEN DB 85,90,60,75,87,35,80,78,96,82…… ;存分數 MAX DB ;存最高分 DATA ENDS STACK SEGMENT PARA STACK ‘STACK’ DB 100 DUP(?) ;100字節堆棧 STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START PROC FAR PUSH DS MOV AX,0 PUSH AX ;為了返回DOS MOV AX,DATA MOV DS,AX ;置數據段寄存器 MOV BX,OFFSET FEN ;置數據指針 MOV CX,MAX-FEN ;置計數器初值 DEC CX ;N個分數比較N-1次 MOV AL,[BX] ;取第壹個分數 LOP:INC BX ;調整指針 CMP AL,[BX] ;與下壹數比較 JAE NEXT ;大於等於則轉 MOV AL,[BX] ;否則取下壹數 NEXT:LOOP LOP ;計數器減壹,;不為零轉LOP MOV MAX,AL ;存放最高分 RET ;返回DOS START ENDP CODE ENDS END START 6、 靜態檢查,上機調試 選用指令盡量字節少,使其執行速度快.易錯處應重點查,如比較次數、轉移條件等.確信無錯後方可上機調試.

  • 上一篇:如果技術性員工做事總是很馬虎該怎麽辦?
  • 下一篇:朋友們!學習編程最基本的是什麽啊!可以給我說詳細壹些嗎?謝謝了!
  • copyright 2024編程學習大全網