設計一個完整的匯編語言源程序_第1頁
設計一個完整的匯編語言源程序_第2頁
設計一個完整的匯編語言源程序_第3頁
設計一個完整的匯編語言源程序_第4頁
設計一個完整的匯編語言源程序_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

一、設計一個完整的匯編語言源程序,實現(xiàn)Z=X+Y。MOVAL,XMOVBL,YADDAL,BLMOVZ,AL;取被加數(shù);取加數(shù);完成X+Y運算;把結(jié)果保存在目的單元中1.實現(xiàn)加法運算的程序段如下:2.數(shù)據(jù)段定義DATA SEGMENTDATA ENDSXDB32HYDB25HZDB1DUP(?)段定義語句SEGMENT/ENDS功能:指出段名,表示段的開始和結(jié)束格式:段名 SEGMENT┆

段名ENDS;數(shù)據(jù)段起始;數(shù)據(jù)段內(nèi)容;數(shù)據(jù)段結(jié)束3.堆棧段定義STACKASEGMENTSTACKDB100DUP(?)STACKAENDS4.代碼段定義CODESEGMENTCODEENDSASSUMECS:CODE,SS:STACKA,DS:DATA,ES:DATA ┇段寄存器說明語句ASSUME格式:ASSUME段寄存器:段名,段寄存器:段名,……功能:說明當前段所在位置。二、完整的匯編語言源程序,實現(xiàn)Z=X+Y。MOVAL,XMOVBL,YADDAL,BLMOVZ,ALXDB32HYDB25HZDB1DUP(?)DATASEGMENTDATAENDSSTACKASEGMENTSTACKAENDSCODESEGMENTCODEENDS ENDSTARTASSUMECS:CODE,SS:STACKA,DS:DATA,ES:DATASTART:MOVAX,DATA MOVDS,AX MOVES,AXMOVAH,4CHINT21H核心程序段數(shù)據(jù)定義返回DOS狀態(tài)對DS和ES進行初始化說明各段所在位置定義堆棧段定義數(shù)據(jù)段定義代碼段結(jié)束DB100DUP(?)ORG2100H指定程序存放的起始地址偏移量DATASEGMENTDATAENDSCODESEGMENTCODEENDS ENDSTARTASSUMECS:CODE,SS:STACKA,DS:DATA,ES:DATASTART:MOVAX,DATA MOVDS,AX MOVES,AXMOVAH,4CHINT21H核心程序段返回DOS狀態(tài)對DS和ES進行初始化說明各段所在位置定義數(shù)據(jù)段結(jié)束············三、程序正常結(jié)束的方式1。主程序方式2。定義為過程形式DATASEGMENTDATAENDSCODESEGMENTCODEENDS ENDSTARTASSUMECS:CODE,SS:STACKA,DS:DATA,ES:DATA

MOVAX,DATA MOVDS,AX MOVES,AXRET核心程序段返回DOS狀態(tài)對DS和ES進行初始化說明各段所在位置定義數(shù)據(jù)段結(jié)束············MAINPROCFARPUSHDSSUBAX,AX PUSHAX壓返回DOS地址MAINENDP1.起始地址說明偽指令ORG格式:ORG偏移地址2.數(shù)據(jù)定義偽指令DB、DW、DD、DF、DQ、DT、DUP格式:[變量名]DB表達式表作用:為數(shù)據(jù)項分配一個或多個字節(jié)的存儲空間,且可給它們賦初值。

⑴字節(jié)變量定義偽指令DB

功能:定義字節(jié)變量區(qū),變量區(qū)的數(shù)據(jù)由表達式(逗號分隔的數(shù)據(jù)項)給出,每個數(shù)據(jù)項占一個字節(jié)。四、其他偽指令說明功能:說明該偽指令后的程序或數(shù)據(jù)所在位置的起始偏移地址例如:XDB1,3,5+3-1,9內(nèi)存分配圖如右所示:01030709X

⑵字變量定義偽指令DW

格式與DB指令相同,定義字變量區(qū),每個數(shù)據(jù)項占兩個字節(jié),低字節(jié)在低地址處,高字節(jié)在高地址處?!谩美纾篩DW1005h,0028h05h10h28h00hY⑶雙字變量定義偽指令DD

⑷三字變量定義偽指令DF

⑸四字變量定義偽指令DQ

2010h2011h2012h2013h單元地址內(nèi)存分配圖如右所示:⑹五字變量定義偽指令DT

格式與DB指令相同,定義雙字變量區(qū)格式與DB指令相同,定義三字變量區(qū)格式與DB指令相同,定義四字變量區(qū)格式與DB指令相同,定義五字變量區(qū)80h70h60h50hZ40h30h20h10h2100h2101h2106h2107h∶∶例:有如下數(shù)據(jù)定義指令,分析其存儲情況。

C1DB‘A’,‘B’,‘C’C2DW‘A’,‘B’,‘C’內(nèi)存分配圖如下所示:41h42h43h41hC100h42h00h43h2020h2021h2027h2028h∶∶C200h例如:ZDQ1020304050607080h內(nèi)存分配圖如下頁所示:五、匯編語言程序的上機步驟用EDIT編輯修改源程序,存盤形成*.asm文件用TASM32匯編源程序文件,形成*.obj文件有錯誤嗎?用TLINK程序連接目標碼文件,形成可執(zhí)行文件*.exe文件有錯誤嗎?用TD程序運行可執(zhí)行文件*.exe有錯誤嗎?用TD程序進行調(diào)試,找出錯誤原因結(jié)束開始NYNYYN第一次實驗內(nèi)容

1.2:匯編語言編程與調(diào)試方法(1)匯編語言程序結(jié)構(gòu)(2)匯編語言程序開發(fā)過程(3)MS—DOSEDIT文本編輯(4)TD使用方法1.3.1:簡單程序設計實驗P25:例1.1P26:實驗內(nèi)容1P27:實驗內(nèi)容2P27:實驗內(nèi)容3p28實驗(2)

datasegmentxdd02a8b7654hydw5abchzdw?fdw?dataendsstackasegmentparastack'stack'db100dup(?)stackaendscodesegmentassumeds:data,cs:code,ss:stacka,es:datastart:movax,data

mov

ds,ax

mov

es,ax

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論