• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      匯編語言程序上機(jī)調(diào)試運(yùn)行方法

      2018-02-19 20:35:55
      信息記錄材料 2018年7期
      關(guān)鍵詞:鍵入匯編語言模擬器

      梁 偉

      (大連計算機(jī)職業(yè)中專 遼寧 大連 116033)

      1 引言

      《微機(jī)原理與匯編語言》是計算機(jī)專業(yè)的一門主要課程,本課程的教學(xué)目標(biāo)是使學(xué)生掌握匯編語程序設(shè)計的基本知識,理解計算機(jī)編程原理。本課程教學(xué)內(nèi)容分為基礎(chǔ)教學(xué)模塊和實(shí)踐教學(xué)模塊,基礎(chǔ)教學(xué)模塊包括微型計算機(jī)中的基本結(jié)構(gòu)、指令系統(tǒng)、匯編語言程序等基本知識。實(shí)踐教學(xué)模塊包括匯編源程序的編譯,連接與調(diào)試運(yùn)行。

      匯編語言程序上機(jī)操作需要調(diào)用編輯程序,建立以.ASM為擴(kuò)展名的源程序文件;調(diào)用匯編程序,生成以.OBJ為擴(kuò)展名目標(biāo)程序文件;調(diào)用連接程序,生成以.EXE為擴(kuò)展名的執(zhí)行文件,然后運(yùn)行。

      由于masm軟件的限制,在64位系統(tǒng)電腦上進(jìn)行匯編實(shí)驗(yàn)時會遇到問題,可以通過運(yùn)行DOS模擬器軟件,模擬生成一個DOS窗口,使用模擬DOSBox工具來進(jìn)行匯編實(shí)驗(yàn),在模擬DOS窗口中調(diào)試和執(zhí)行匯編語言程序。

      2 安裝DOS模擬器DOSBOX

      (1)安裝DOS模擬器DOSBOX,安裝時不需修改安裝路徑,單擊next按鈕,直到安裝完成,安裝DOSBOX后,在桌面上可以看到DOSBOX的快捷圖標(biāo)。

      (2)設(shè)置DOSBox的虛擬盤,安裝DOSBOX后,當(dāng)打開DOSBOX快捷圖標(biāo)時會發(fā)現(xiàn)兩個窗口,不要關(guān)閉其中任何一個窗口。然后執(zhí)行Z:>mount D D:命令,將D盤設(shè)置為DOSBox的虛擬盤,執(zhí)行Z:> D: 命令,進(jìn)入D盤。

      (3)存放匯編調(diào)試軟件,在D盤建立asmtest文件夾,將masm編譯、link連接和debug調(diào)試匯編程序的命令文件都存放在asmtest這個文件夾下。

      (4)D盤文件夾路徑映射,可以在開始菜單里找到DOSBox 0.74 Options文件,打開文件之后,把mount D D:asmtest命令和D: 命令加在最后兩行,并保存文件。此時調(diào)試匯編程序的DOS環(huán)境設(shè)置完成。

      [autoexec]

      # You can put your MOUNT lines here.

      mount D D:asmtest

      D:

      3 匯編語言程序編輯、匯編、連接過程

      下面以計數(shù)控制循環(huán)例題ltloop.asm程序?yàn)槔榻B匯編語言程序上機(jī)運(yùn)行過程。

      【例題】試編制一程序,將SOURCE源數(shù)據(jù)區(qū)的10個字節(jié)數(shù)據(jù)傳送到DEST目的數(shù)據(jù)區(qū)。

      (1)用編輯器編輯匯編語言源程序,把ltloop.asm文件存放在d:asmtest路徑下。

      data segment

      SOURCE DB 1,2,3,4,5,6,7,8,9,10

      DEST DB 10 dup(?)

      data ends

      code segment

      assume cs:code,ds:data

      start: MOV AX, DATA

      MOV DS, AX

      MOV CX,10

      MOV SI,-1

      next: INC SI

      MOV AL, SOURCE[SI]

      MOV DEST[SI],AL

      LOOP next

      mov ah,4ch

      int 21h

      code ends

      end start.

      (2)打開DOS模擬器DOSBOX,進(jìn)行MASM匯編操作,在DOSBOX平臺上使用匯編程序是MASM,在DOS提示符后鍵入MASM命令。

      D: >masm ltloop.asm

      Object filename [ltloop.OBJ]: (可直接按Enter) Source listing [NUL.LST]:

      Cross-reference [NUL.CRF]: 48056 + 463299 Bytes symbol space free

      0 Warning Errors 0 Severe Errors

      若有錯誤,應(yīng)再用文本編輯器進(jìn)行編輯,然后再匯編,直至匯編通過。

      (3)LINK連接目標(biāo)程序并生成EXE執(zhí)行文件,源程序ltloop.asm被匯編通過后,生成以.OBJ為擴(kuò)展名目標(biāo)程序文件,需要經(jīng)過連接才能執(zhí)行,在DOSBOX平臺上鍵入LINK命令。

      D: >link ltloop.obj

      Run File [LTLOOP.EXE]:(直接回車確認(rèn))List File[NUL.MAP]:(缺省不產(chǎn)生)

      Libraries [.LIB]:(直接按回車鍵)

      4 匯編語言程序運(yùn)行與調(diào)試過程

      (1)運(yùn)行與調(diào)試文件,DEBUG是一種匯編語言程序的調(diào)試工具,在DOS提示符后鍵入LINK DEBUG命令。

      D:>debug ltloop.exe

      - (連字符“-”是 DEBUG的提示符)

      (2)用反匯編命令U顯示可執(zhí)行代碼

      -ucs:0

      163A:0000 B83016 MOV AX,1630

      (3)用R命令顯示寄存器值

      -r

      AX=0000 BX=0000 CX=0387 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000

      DS=1620 ES=1620 SS=1632 CS=163A IP=0000 NV UP EI PL NZ NA PO NC

      163A:0000 B83016 MOV AX,1630

      (4)用T命令跟蹤執(zhí)行程序

      -t

      AX=1601 BX=0000 CX=000A DX=0000 SP=0080 BP=0000 SI=0000 DI=0000

      DS=1630 ES=1620 SS=1632 CS=163A IP=0014 NV UP EI PL ZR AC PE NC

      163A:0014 E2F5 LOOP 000B

      (5)用D命令查看數(shù)據(jù),將SOURCE源數(shù)據(jù)區(qū)的10個字節(jié)數(shù)據(jù)傳送到DEST目的數(shù)據(jù)區(qū)。

      -dds:0

      1630:0000 0102030405060708-090A 010203040506 ................

      1630:0010 0708090A 00000000-00000000 00000000 ................

      (6)用Q命令退出DEBUG返回到操作系統(tǒng)

      (7)返回到Windows操作系統(tǒng),在DOS提示符后鍵入exit返回Windows。

      以上以計數(shù)控制循環(huán)程序?yàn)槔?,說明了匯編語言程序上機(jī)調(diào)試運(yùn)行的基本過程。實(shí)踐教學(xué)模塊還有順序程序設(shè)計調(diào)試、分支程序設(shè)計調(diào)試方法與循環(huán)程序設(shè)計調(diào)試等。學(xué)生通過上機(jī)調(diào)試運(yùn)行實(shí)踐,培養(yǎng)學(xué)生正確書寫匯編源程序,學(xué)會分析一般程序,熟悉掌握簡單程序的設(shè)計的能力,為學(xué)習(xí)本專業(yè)其它編程課程和進(jìn)行與硬件有關(guān)的技術(shù)工作打好基礎(chǔ)。

      [1] 沈美明,溫冬嬋.《IBM-PC匯編語言程序設(shè)計》清華大學(xué).

      [2] 肖金立.《微型計算機(jī)原理與應(yīng)用》.

      [3] 陳文堯.未來匯編軟件.

      猜你喜歡
      鍵入匯編語言模擬器
      了不起的安檢模擬器
      盲盒模擬器
      劃船模擬器
      高等學(xué)校計算機(jī)專業(yè)課程教學(xué)改革實(shí)踐——以匯編語言與接口技術(shù)課程為例
      MATLAB 在導(dǎo)數(shù)和積分中的應(yīng)用
      匯編語言與C語言的混合程序設(shè)計技術(shù)研究
      電子制作(2019年10期)2019-06-17 11:45:16
      提高《匯編語言程序設(shè)計》教學(xué)效率的思考與實(shí)踐
      動態(tài)飛行模擬器及其發(fā)展概述
      Netstat命令使用實(shí)例解析
      河南科技(2013年6期)2013-11-07 07:45:06
      Word文檔快速簽名三法
      峡江县| 丹东市| 定结县| 织金县| 白河县| 布尔津县| 个旧市| 太白县| 凤翔县| 和静县| 临汾市| 灵山县| 渝中区| 白沙| 大田县| 长葛市| 拉萨市| 福建省| 布尔津县| 德保县| 罗田县| 屯昌县| 探索| 包头市| 凤台县| 蓝田县| 永安市| 汉沽区| 乐至县| 新津县| 师宗县| 谢通门县| 会泽县| 长沙市| 吴堡县| 平乡县| 古丈县| 乐陵市| 望城县| 铁岭市| 汉源县|