實驗二算術(shù)運算類操作實驗_第1頁
實驗二算術(shù)運算類操作實驗_第2頁
實驗二算術(shù)運算類操作實驗_第3頁
實驗二算術(shù)運算類操作實驗_第4頁
實驗二算術(shù)運算類操作實驗_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、匯編程序上機實踐實驗報告實驗二算術(shù)運算類操作實驗 (基礎(chǔ)與設(shè)計班級:05811101學號:1120111447姓名:敬漢丹實驗二算術(shù)運算類操作實驗 (基礎(chǔ)與設(shè)計一、實驗要求和目的1、了解匯編語言中的二進制、十六進制、十進制、BCD 碼的表示形式;2、掌握各類運算類指令對各狀態(tài)標志位的影響及測試方法;3、熟悉匯編語言二進制多字節(jié)加減法基本指令的使用方法;4、熟悉無符號數(shù)和有符號數(shù)乘法和除法指令的使用;5、掌握符號位擴展指令的使用。6、掌握BCD 碼調(diào)整指令的使用方法二、軟硬件環(huán)境1、硬件環(huán)境:計算機系統(tǒng) windows;2、軟件環(huán)境:裝有MASM、DEBUG、LINK、等應(yīng)用程序。三、實驗涉及的

2、主要知識本實驗主要進行算術(shù)運算程序設(shè)計和調(diào)試,涉及到的知識點包括:1.加減法處理指令主要有加法指令 ADD,帶進位加法ADC,減法指令SUB,帶進位減法指令SBB。2.乘除法指令和符號位擴展指令主要有無符號數(shù)乘法指令MUL,帶符號數(shù)乘法指令I(lǐng)MUL,無符號數(shù)除法指令DIV,帶符號數(shù)除法指令I(lǐng)DIV,以及符號位從字節(jié)擴展到字的指令CBW 和從字擴展到雙字的指令CWD。3.BCD 碼的調(diào)整指令主要有非壓縮的 BCD 碼加法調(diào)整指令DAA,壓縮的BCD 碼減法調(diào)整指令DAS,非壓縮的BCD 碼加法調(diào)整指令AAA,非壓縮的BCD 碼減法調(diào)整指令AAS,乘法的非壓縮BCD碼調(diào)整指令AAM,除法的非壓縮B

3、CD 碼調(diào)整指令AAD。四、實驗內(nèi)容與步驟1、對于兩組無符號數(shù),087H 和034H,0C2H 和5FH,試編程求這兩組數(shù)的和差積商,并考慮計算結(jié)果對標志寄存器中狀態(tài)標志位的影響:源程序:注:由于所給數(shù)據(jù)長度都是一字節(jié),因而求和求差運算用al與bl進行以觀察標志位狀態(tài)DATAS SEGMENT;此處輸入數(shù)據(jù)段代碼DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV ax,87hMOV bx,34hadd al,blnopMOV ax,87hMOV bx,34hsub al,blnopMOV ax,87hMOV bx,34hmul bx

4、nopMOV ax,87hMOV bl,34hdiv blnopMOV ax,00C2hMOV bx,5Fhadd al,blnopMOV ax,00C2hMOV bx,005Fhsub al,blnopMOV ax,00C2hMOV bx,005Fhmul bxnopMOV ax,00C2hMOV bl,5Fhdiv blnop;此處輸入代碼段代碼MOV AH,4CHINT 21HCODES ENDSEND START計算狀態(tài)標志表達式結(jié)果CF AF ZF OF SF PF 087H+034H BBH 0 0 0 0 0 1 087H-034H 53H 1 0 0 0 0 1 087H*03

5、4H 1B6CH 0 0 0 0 0 1 087H/034H 1F02H 0 0 0 0 0 1 0C2H+5FH 21H 1 1 0 0 0 1 0C2H-5FH 63H 0 1 0 1 0 1 0C2H*5FH 47FEH 0 1 0 0 0 1 0C2H/5FH 402H 0 1 0 0 0 1 CF:進位標志位當進行加(減法運算時,若最高位向前有進(借位,則CF=1,否則CF=0。AF:輔助進位在加(減法操作中,Bit3向Bit4有進位(借位發(fā)生時,AF=1,否則AF=0。DAA和DAS指令測試這個標志位,以便在BCD加法或減法之后調(diào)整AL中的值。ZF:零標志位當運算結(jié)果為零時ZF=1

6、,否則ZF=0。OF:溢出標志位當算術(shù)運算結(jié)果超出了帶符號數(shù)的范圍,即溢出時,OF=1,否則OF=0。SF:符號標志位當運算結(jié)果的最高位為1時SF=1,否則SF=0。PF:奇偶標志位當運算結(jié)果的低8位中的“1”的個數(shù)為偶數(shù)時PF=1,為奇數(shù)時,PF=0。2、在數(shù)據(jù)段定義了兩個多精度的有符號16 進制數(shù),FIRST 和SECOND ,1求兩數(shù)的和與差,并將結(jié)果存放在THIRD 為首地址的緩沖區(qū)中;2如果把兩組數(shù)據(jù)當作十進制數(shù)據(jù)來處理,再次求兩數(shù)的和與差,并將結(jié)果存放在FORTH 為首地址的緩沖區(qū)中。試編程實現(xiàn)上述運算。FIRST DB 45 H,82H,96 H,57HSECOND DB 12

7、H,46H,83 H,45H程序分析:首先定義4個連續(xù)占用4個字節(jié)空間的存儲單元,首地址分別為FIRST , SECOND,THIRD和FORTH,然后將雙精度16進制數(shù)分成4個字節(jié),分別以字節(jié)為單位存入FIRST和SECOND。由于數(shù)字的低位在存儲單元的高地址單元里,因此,為了保留低位向高位的進位及借位,應(yīng)當從高地址內(nèi)存儲的數(shù)據(jù)開始計算。程序:DATAS SEGMENTfirst db 45h,82h,96h,57hsecond db 12h,46h,83h,45hthird db 00h,00h,00h,00h ;此處輸入數(shù)據(jù)段代碼DATAS ENDSCODES SEGMENTASSUME

8、 CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXmov ax,0mov bx,0mov cx,0mov dx,0mov cx,4mov si,3(16進制加法L1:mov al,firstsimov bl,almov al,secondsiadc al,blmov thirdsi,aldec cxjnz L1nop ;此處輸入代碼段代碼MOV AH,4CHINT 21HCODES ENDSEND START(16進制減法的循環(huán)體L1:mov bl,firstsimov al,blmov bl,secondsisbb al,blmov thirdsi,a

9、ldec sidec cxjnz L1(10進制加法循環(huán)體L1:mov al,firstsimov bl,almov al,secondsiadc al,bldaamov thirdsi,aldec sidec cxjnz L1(10進制減法的循環(huán)體L1:mov bl,firstsimov al,blmov bl,secondsicmp si,1je S1sbb al,bljmp S2S1: sbb al,blsub al,6S2: daamov thirdsi,aldec sijnz L1add al,1nop16進制加法單步調(diào)試結(jié)果,ax里的值依次為求和后從低位到高位的結(jié)果: 57C919

10、9C 16進制減法單步調(diào)試結(jié)果,ax里的值依次為求差后從低位到高位的結(jié)果: 333C1312 10進制加法單步調(diào)試結(jié)果,ax里的值依次為求和后從低位到高位的結(jié)果: 58298002 10進制減法單步調(diào)試結(jié)果,ax里的值依次為求差后從低位到高位的結(jié)果: 33361312 16進制結(jié)果10進制結(jié)果FIRST+SECOND 57C9199C 58298002FIRST-SECOND 333C1312 333613123、編程計算(Z +X*Y -328 -V/ Y,其中X、Y、Z、V 均為16 位帶符號數(shù),假設(shè)初始數(shù)據(jù)分別裝入X、Y、Z、V 單元,要求上式計算結(jié)果的商存入AX,余數(shù)存入DX 寄存器。

11、同學自行給出初始值加以驗證程序。程序分析:首先,X、Y、Z、V 均為16 位帶符號數(shù),則,X*Y為32位,那么需要對存入z和v的寄存器的內(nèi)容進行擴展,同時328的高16位補零。最后進行除法時還應(yīng)注意商默認存入AX,而余數(shù)默認存入DX寄存器。源程序:DATAS SEGMENTx dw 20y dw 50z dw 20v dw 20;此處輸入數(shù)據(jù)段代碼DATAS ENDSSTACKS SEGMENT;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXmov ax,ximul ynopmov cx,axmov bx,dxmov ax,zcwdadd cx,axadc bx,dxnopsub cx,328sbb bx,0nopmov ax,vcwdsub cx,axsbb bx,dxxchg cx,axxchg bx,dxidiv ynop;此處輸入代碼段代碼MOV AH,4CHINT 21HCODES ENDSEND START (Z +X*Y -328 -V/ Y=(20+20*50-328-

溫馨提示

  • 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

提交評論