微機(jī)原理上機(jī) 匯編語(yǔ)言程序 編寫程序求兩個(gè)十進(jìn)制數(shù)之和,并將和以十進(jìn)制數(shù)的形式送屏幕顯示.doc_第1頁(yè)
微機(jī)原理上機(jī) 匯編語(yǔ)言程序 編寫程序求兩個(gè)十進(jìn)制數(shù)之和,并將和以十進(jìn)制數(shù)的形式送屏幕顯示.doc_第2頁(yè)
微機(jī)原理上機(jī) 匯編語(yǔ)言程序 編寫程序求兩個(gè)十進(jìn)制數(shù)之和,并將和以十進(jìn)制數(shù)的形式送屏幕顯示.doc_第3頁(yè)
微機(jī)原理上機(jī) 匯編語(yǔ)言程序 編寫程序求兩個(gè)十進(jìn)制數(shù)之和,并將和以十進(jìn)制數(shù)的形式送屏幕顯示.doc_第4頁(yè)
微機(jī)原理上機(jī) 匯編語(yǔ)言程序 編寫程序求兩個(gè)十進(jìn)制數(shù)之和,并將和以十進(jìn)制數(shù)的形式送屏幕顯示.doc_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

上機(jī)作業(yè)二1 實(shí)驗(yàn)?zāi)康? 熟練掌握匯編語(yǔ)言程序設(shè)計(jì)的方法及上機(jī)步驟。2 掌握算術(shù)運(yùn)算指令的應(yīng)用。3 掌握子程序的設(shè)計(jì)方法。4 掌握DOS功能的調(diào)用方法。2 試驗(yàn)儀器586微機(jī) 一臺(tái)3 實(shí)驗(yàn)內(nèi)容編寫程序求兩個(gè)十進(jìn)制數(shù)之和,并將和以十進(jìn)制數(shù)的形式送屏幕顯示。編程要求與提示:1 從鍵盤輸入兩個(gè)十進(jìn)制數(shù)(如12678532與21736543),以二進(jìn)制數(shù)形式存放在ADD1和ADD2為首址的存貯器單元,輸入一個(gè)十進(jìn)制數(shù)采用子程序形式。2 和以二進(jìn)制數(shù)的形式存入SUM以下單元。3 將和送到屏幕顯示采用子程序形式。4 實(shí)驗(yàn)步驟如下:a. 用全屏幕編輯軟件建立源程序。b用masm.exe匯編程序?qū)υ闯绦蜻M(jìn)行匯編,形成目標(biāo)程序。c. 用link.exe連接程序?qū)δ繕?biāo)程序進(jìn)行連接形成可執(zhí)行文件。d. 用DEBUG對(duì)連接通過的可執(zhí)行程序進(jìn)行調(diào)試。4 源程序STACKSEGMENT STACK STACKDW 100H DUP(?)TOPLABEL WORDSTACKENDSDATASEGMENTFAKE DW 0KEYBUFFERDB 100DB ?DB 100 DUP(?)BUF DB 8 DUP(?),$ADD1 DW ?A1 DW ?ADD2 DW ?A2 DW ?SUM DW ?S1 DW ?STRING1 DB PLEASE input decimal data: $DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,STACKMOV SS,AXLEA SP,TOPCALL INPUT1CALL TRANS10TO16MOV ADD1,AXMOV A1,DXCALL DISPCRCALL INPUT1CALL TRANS10TO16MOV ADD2,AXMOV A2,DXCALL DISPCRMOV SUM,AXMOV S1,DXADD AX,ADD1ADC DX,A1MOV SUM,AXMOV S1,DXCALL far ptr ADISPMOV AH,4CHMOV AL,0INT 21HINPUT1 PROC NEARLEA DX,STRING1MOV AH,09HINT 21HMOV AH,0AHLEA DX,KEYBUFFERINT 21HLEA SI,KEYBUFFER+1retINPUT1 endpTRANS10TO16PROC NEARPUSH CXPUSH SI; PUSH BX ?XOR AX,AXXOR DX,DXXOR CX,CXMOV CL,SIINC SIMOV AL,SIINC SISUB AL,30HDEC CXJCXZ TRANSF2MOV BX,10TRANSF1:CALL MULAXIPUSH DXJO TRANSF_ERRMOV DL,SIINC SISUB DL,30HADD AL,DLADC AH,0JC TRANSF_ERRPOP DXLOOP TRANSF1MOV BX,0TRANSF2:JMP TRANSF_OKTRANSF_ERR:MOV BX,-1TRANSF_OK:POP SIPOP CXretTRANS10TO16 endpMULAXI PROC NEARPUSH CXPUSH AXMOV AX,DXMUL BXMOV CX,AXPOP AX;XOR DX,DXMUL BXPUSH AXMOV AX,CXADD AL,DLADC AH,DHMOV DX,AXPOP AXPOP CXretMULAXI endpDISPCR PROC NEARPUSH AXPUSH DXMOV AH,2MOV DL,0AHINT 21HMOV AH,2MOV DL,0DHINT 21HPOP DXPOP AXretDISPCR endpADISP PROC FARPUSH AXPUSH CXPUSH DXPUSH BXLEA SI,BUF+7MOV BX,10000DIV BXPUSH AXMOV AX,DXXOR DX,DXMOV BX,10MOV CX,4L1: DIV BXMOV SI,DLXOR DL,DLADD BYTE PTR SI,30HDEC SILOOP L1CMP SI,OFFSET BUFJC L2POP AXMOV CX,4JMP L1L2:LEA DX,BUFMOV AH,09HINT 21HPOP BXPOP DXPOP CXPOP AXretfADISP endpCODE ENDSEND START5、 實(shí)驗(yàn)體會(huì)實(shí)驗(yàn)中遇到的問題以及解決方法:在這幾次的編程實(shí)驗(yàn)中,我遇到了許多問題。首先,在最開始的時(shí)候,無(wú)論怎么輸入都顯示:masm不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。后來(lái)發(fā)現(xiàn)把自己編寫的asm文件放到E盤masm文件夾里就行了,之后的每一步實(shí)驗(yàn)按照要求一步一步做,就都能出來(lái)結(jié)果。還有就是不懂得如何輸出自己所得到的結(jié)果,于是先抄寫課本上所給的程序,當(dāng)出現(xiàn)自己想要的結(jié)果之后,再與同學(xué)討論輸出結(jié)果的語(yǔ)句,充分理解其內(nèi)涵。心得體會(huì):通過幾次的上機(jī)實(shí)驗(yàn)課,我懂得了如何使用txt文檔編寫asm文件。然后對(duì)其進(jìn)行編譯和連接。當(dāng)完成上述過程后,可以使用DEBUG功能來(lái)對(duì)程序進(jìn)行調(diào)試,這樣,就可以清楚地看到每一步運(yùn)行時(shí)各個(gè)寄存器的狀態(tài)。同時(shí),通過

溫馨提示

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

評(píng)論

0/150

提交評(píng)論