




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
匯編實驗二姓名:康杰靚學號:1120111262班級:05211101專業:通信工程實驗二算術運算類操作實驗姓名:康杰靚學號:1120111262班級:05211101專業:通信工程一、實驗要求和目的1、了解匯編語言中的二進制、十六進制、十進制、BCD碼的表示形式;2、掌握各類運算類指令對各狀態標志位的影響及測試方法;3、熟悉匯編語言二進制多字節加減法基本指令的使用方法;4、熟悉無符號數和有符號數乘法和除法指令的使用;5、掌握符號位擴展指令的使用。6、掌握BCD碼調整指令的使用方法二、軟硬件環境1、硬件環境:計算機系統windows;2、軟件環境:裝有MASM、DEBUG、LINK、等應用程序。三、實驗思想本實驗主要進行算術運算程序設計和調試,涉及到的知識點包括:1.加減法處理指令主要有加法指令ADD,帶進位加法ADC,減法指令SUB,帶進位減法指令SBB。2.乘除法指令和符號位擴展指令主要有無符號數乘法指令MUL,帶符號數乘法指令IMUL,無符號數除法指令DIV,帶符號數除法指令IDIV,以及符號位從字節擴展到字的指令CBW和從字擴展到雙字的指令CWD。3.BCD碼的調整指令主要有非壓縮的BCD碼加法調整指令DAA,壓縮的BCD碼減法調整指令DAS,非壓縮的BCD碼加法調整指令AAA,非壓縮的BCD碼減法調整指令AAS,乘法的非壓縮BCD碼調整指令AAM,除法的非壓縮BCD碼調整指令AAD。8088/8086指令系統提供了實現加、減、乘、除運算的上述基本指令,可對表1所示的數據類型進行數據運算。四、實驗內容與步驟1、對于兩組無符號數,087H和034H,0C2H和5FH,試編程求這兩組數的和差積商,并考慮計算結果對標志寄存器中狀態標志位的影響。2、在數據段定義了兩個多精度的有符號16進制數,FIRST和SECOND,1)求兩數的和與差,并將結果存放在THIRD為首地址的緩沖區中;2)如果把兩組數據當作十進制數據來處理,再次求兩數的和與差,并將結果存放在FORTH為首地址的緩沖區中。試編程實現上述運算。FIRSTDW45H,82H,96H,57HSECONDDW12H,46H,83H,45H3、編程計算((Z+X*Y-328)-V)/Y,其中X、Y、Z、V均為16位帶符號數,假設初始數據分別裝入X、Y、Z、V單元,要求上式計算結果的商存入AX,余數存入DX寄存器。同學自行給出初始值加以驗證程序。五、實驗過程及結果分析實驗1:為兩組數據的四則運算,需要注意的是運算過程中可能出現的進位、借位以及溢出等情況,并且不同的運算對各個狀態標志也有不同影響。流程圖如下: START取值運算+,-,*,/ END程序代碼如下:(1)087H和034H的四種運算加法:DATASSEGMENTdata1dw087Hdata2dw034HDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,data1MOVBX,data2ADDAX,BXMOVAH,4CHINT21HCODESENDSENDSTART減法:DATASSEGMENTdata1dw087Hdata2dw034HDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,data1SUBAX,data2MOVAH,4CHINT21HCODESENDSENDSTART乘法:DATASSEGMENTdata1dw087Hdata2dw034HDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,data1MOVBX,data2MULBX;需要注意MUL指令后面的操作數不能為立即數,只能是寄存器或內存單元MOVAH,4CHINT21HCODESENDSENDSTART除法:DATASSEGMENTdata1dw087Hdata2dw034HDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,data1SUBDX,DX;將DX清零MOVBX,data2DIVBX;DIV指令的操作數也不能為立即數,商存放在寄存器AX中,余數放在寄存器DX中MOVAH,4CHINT21HCODESENDSENDSTART(2)0C2H和5FH的四種運算加法:DATASSEGMENTdata1dw0C2Hdata2dw5FHDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,data1ADDAX,data2MOVAH,4CHINT21HCODESENDSENDSTART減法:DATASSEGMENTdata1dw0C2Hdata2dw5FHDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,data1SUBAX,data2MOVAH,4CHINT21HCODESENDSENDSTART乘法:DATASSEGMENTdata1dw0C2Hdata2dw5FHDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,data1MOVBX,data2MULBXMOVAH,4CHINT21HCODESENDSENDSTART除法:DATASSEGMENTdata1dw0C2Hdata2dw5FHDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,data1SUBDX,DXMOVBX,data2DIVBXMOVAH,4CHINT21HCODESENDSENDSTART 計算結果以及以及對各個狀態標志的影響見下表:計算狀態標志表達式結果CFAFZFOFSFPF087H+034H0BBH000001087H-034H53H000001087H*034H1B6C000001087H/034H商2H余1F0010010C2H+5FH121H0100010C2H-5FH63H0100010C2H*5FH47FE0000000C2H/5FH商2H余4H001001各運算對狀態標志的影響及意義:狀態標志加法減法乘法除法01010101CF最高有效位向高位無進位最高有效位向高位有進位二進制減法運算中最高有效為向高位無借位(被減數大于等于減數,夠減的情況)二進制減法運算中最高有效位向高位有借位(被減數小于減數,不夠減的情況)乘積的高半部分為0(字節型乘法的AH),則CF=0,OF=0
乘積的高半部分不為0,則CF=1,OF=1AF低四位對高位無進位低四位對高位有進位低四位對高位無借位低四位對高位有有借位不確定不確定不確定ZF結果不為零結果為零結果不為零結果為零不確定不確定OF兩個不同符號數相加,或同符號數相加,結果符號與其相同兩個同符號數相加(正數+正數或負數+負數),結果符號與其相反。同符號數相減時,或不同符號數相減,其結果符號與減數不同。兩數符號相反(正數-負數,或負數-正數),而結果符號與減數相同。乘積的高半部分為0(字節型乘法的AH),則CF=0,OF=0
乘積的高半部分不為0,則CF=1,OF=1SF結果不為負結果為負結果不為負結果為負不確定不確定PF運算結果低八位含1的個數是奇數運算結果低八位含1的個數是偶數運算結果低八位含1的個數是奇數運算結果低八位含1的個數是偶數不確定不確定實驗2:先是十六進制的加減法,用SI指向當前運算的字節,然后從低位到高位逐個字節進行加減運算,注意有進位時使用ADC/SBB,緩沖區應多預留以為作為進位,之后利用循環,將每組數據分別相加減,最后調整最高位進位放在THIRD的最高位。十進制的加減法,需要把十六進制數的結果作調整,用到的是壓縮的BCD碼的調整指令DAA和DAS,才能得到正確的結果。流程圖如下: START 取值 CX=3 每個字節進行相應的運算 N CX=0? Y調整最高位進/借位 END程序源代碼:(1)十六進制加法:DATASSEGMENTFIRSTDB45H,82H,96H,57HSECONDDB12H,46H,83H,45HTHIRDDB5DUP(0);定義一個5個字節的緩沖區,最高位放置進位位DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVSI,3;SI的初值設為3,表示指向最低位的字節MOVAL,FIRST[SI]ADDAL,SECOND[SI]MOV[THIRD+1][SI],AL;THIRD+1表示空出最高位作為進位位MOVCX,3next:;循環對每個字節相加DECSIMOVAL,FIRST[SI]ADCAL,SECOND[SI]MOV[THIRD+1][SI],ALloopnextMOVAL,0ADCAL,0MOV[THIRD][SI],AL;以上三步目的是調整最高位進位MOVAH,4CHINT21HCODESENDSENDSTART(2)十六進制減法:DATASSEGMENTFIRSTDB45H,82H,96H,57HSECONDDB12H,46H,83H,45HTHIRDDB5DUP(0)DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVSI,3MOVAL,FIRST[SI]SUBAL,SECOND[SI]MOV[THIRD+1][SI],ALMOVCX,3next:DECSIMOVAL,FIRST[SI]SBBAL,SECOND[SI]MOV[THIRD+1][SI],ALloopnextMOVAL,0SBBAL,0MOV[THIRD][SI],ALMOVAH,4CHINT21HCODESENDSENDSTART(3)十進制加法:DATASSEGMENTFIRSTDB45H,82H,96H,57HSECONDDB12H,46H,83H,45HFORTHDB5DUP(0)DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVSI,3MOVAL,FIRST[SI]ADDAL,SECOND[SI]DAA;壓縮的BCD碼調整指令MOV[FORTH+1][SI],ALMOVCX,3next:DECSIMOVAL,FIRST[SI]ADCAL,SECOND[SI]DAAMOV[FORTH+1][SI],ALloopnextMOVAL,0ADCAL,0DAAMOV[FORTH][SI],ALMOVAH,4CHINT21HCODESENDSENDSTART(4)十進制減法:DATASSEGMENTFIRSTDB45H,82H,96H,57HSECONDDB12H,46H,83H,45HFORTHDB5DUP(0)DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVSI,3MOVAL,FIRST[SI]SUBAL,SECOND[SI]DASMOV[FORTH+1][SI],ALMOVCX,3next:DECSIMOVAL,FIRST[SI]SBBAL,SECOND[SI]DASMOV[FORTH+1][SI],ALloopnextMOVAL,0SBBAL,0DASMOV[FORTH][SI],ALMOVAH,4CHINT21HCODESENDSENDSTART實驗結果:16進制結果10進制結果FIRST+SECOND57,C9,19,9C58,29,80,02FIRST-SECOND33,3C,13,1233,36,13,12實驗三:題目要求用十六位帶符號數,故使用字類型,并且乘法和除法都要用帶符號數的乘除IMUL和IDIV,先計算乘法,然后將乘積高位存在DX中,低位存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫療機構建設結算審計流程審查
- 市場營銷在互聯網營銷方向上的知識點梳理
- 2025年春季科技企業德育創新計劃
- 特別假期旅游同意證明(7篇)
- 教育資源采購合同
- 以感謝為話題的作文300字四年級(13篇)
- 體質健康數據分析與提升方案
- 農村土地利用權益保障合同書
- 外科護士長護理質量提升計劃
- 醫院診療與康復證明書(5篇)
- 2024員工質量意識培訓
- 塔吊定期檢查記錄表
- 信息系統監理師(基礎知識、應用技術)合卷軟件資格考試(中級)試題與參考答案(2024年)
- 上海市上寶中學新初一分班(摸底)語文模擬試題(5套帶答案)
- 河南省南陽市2023-2024學年高二下學期期終質量評估+物理試卷答案
- 食品安全與質量檢測技能大賽考試題庫400題(含答案)
- 2024年浙江省嘉興市初三中考三模科學試卷試題(含答案詳解)
- 核心素養-空間觀念
- 吉林省長春市2024年中考語文真題試卷【附真題答案】
- DZ/T 0462.3-2023 礦產資源“三率”指標要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
- 梧州喜得寶礦業有限公司廣西梧州市金山頂金銀礦礦山地質環境保護與土地復墾方案
評論
0/150
提交評論