




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
匯編語(yǔ)言上機(jī)實(shí)驗(yàn)(二)
4學(xué)時(shí)國(guó)家級(jí)計(jì)算機(jī)實(shí)驗(yàn)示范中心實(shí)驗(yàn)二數(shù)制、碼制和子程序的編程與調(diào)試
一.實(shí)驗(yàn)?zāi)康模?.熟練掌握編寫(xiě)匯編語(yǔ)言原程序的基本方法和基本框架。2.熟練使用DEBUG調(diào)試程序。3.掌握十六進(jìn)制數(shù)與ASCII碼之間,ASCII碼與BCD碼之間的轉(zhuǎn)換。4.掌握用DOS功能調(diào)用,實(shí)現(xiàn)字符的輸入和顯示。5.掌握子程序的編程與調(diào)試方法。二.實(shí)驗(yàn)內(nèi)容:1、從鍵盤(pán)輸入兩個(gè)2位十進(jìn)制正數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)后,對(duì)這兩個(gè)數(shù)進(jìn)行相加相乘運(yùn)算,結(jié)果以十六進(jìn)制數(shù)形式顯示在屏幕上。2、從鍵盤(pán)輸入兩個(gè)2位十進(jìn)制正數(shù)轉(zhuǎn)換成組合BCD碼后,對(duì)這兩個(gè)數(shù)進(jìn)行相加相乘運(yùn)算,結(jié)果以十進(jìn)制形式顯示在屏幕上。3、從鍵盤(pán)輸入一個(gè)4位十進(jìn)制正數(shù)并回顯后,將其對(duì)應(yīng)的十六進(jìn)制數(shù)顯示在屏幕上。三、實(shí)驗(yàn)要求及調(diào)試步驟程序說(shuō)明。說(shuō)明程序的功能、結(jié)構(gòu)。調(diào)試說(shuō)明。包括上機(jī)調(diào)試的情況、上機(jī)調(diào)試步驟、調(diào)試所遇到的問(wèn)題是如何解決的,并對(duì)調(diào)試過(guò)程中的問(wèn)題進(jìn)行分析,對(duì)執(zhí)行結(jié)果進(jìn)行分析。寫(xiě)出源程序清單和執(zhí)行結(jié)果?!九e例】從鍵盤(pán)輸入4位十六進(jìn)制數(shù)(它對(duì)應(yīng)的二進(jìn)制數(shù)是補(bǔ)碼表示的帶符號(hào)數(shù)),把它們轉(zhuǎn)換為帶符號(hào)非組合型BCD碼,并在屏幕上顯示出來(lái)。從鍵盤(pán)輸入1~4位十六進(jìn)制數(shù),存放在以HEXBUF+2為首址的4個(gè)字節(jié)單元中。其中HEXBUF+1單元中為輸入的數(shù)據(jù)個(gè)數(shù)。字符串輸入功能調(diào)用(0AH號(hào)功能調(diào)用)
格式: MOVDX,已定義緩沖區(qū)的偏移地址
MOVAH,0AH
INT21H功能:從鍵盤(pán)接收字符,并存放到內(nèi)存緩沖區(qū)。①執(zhí)行前先定義一個(gè)輸入緩沖區(qū),緩沖區(qū)內(nèi)第一個(gè)字節(jié)定義為允許最多輸入的字符個(gè)數(shù),字符個(gè)數(shù)應(yīng)包括回車(chē)符0DH在內(nèi),不能為“0”值。第二個(gè)字節(jié)保留,在執(zhí)行程序完畢后存入輸入的實(shí)際字符個(gè)數(shù)。從第三個(gè)字節(jié)開(kāi)始存入從鍵盤(pán)上接收字符的ASCII碼。若實(shí)際輸入的字符個(gè)數(shù)少于定義的最大字符個(gè)數(shù),則緩沖區(qū)其他單元自動(dòng)清0。若實(shí)際輸入的字符個(gè)數(shù)大于定義的字符個(gè)數(shù),其后輸入的字符丟棄不用,且響鈴示警,一直到輸入回車(chē)鍵為止。整個(gè)緩沖區(qū)的長(zhǎng)度等于最大字符個(gè)數(shù)再加2。
②應(yīng)當(dāng)將緩沖區(qū)首地址的段基址和偏移地址分別存入DS和DX寄存器中?!瑽UF
DB25;緩沖區(qū)長(zhǎng)度
ACTHAR
DB?;保留單元,存放輸入的實(shí)際字符個(gè)數(shù)
CHAR
DB25DUP(?);定義25個(gè)字節(jié)存儲(chǔ)空間
DB‘$’
……
MOVAX,DATA
MOVDS,AX
……
MOVDX,OFFSETBUF
MOVAH,0AH
INT21H
……
本例可從鍵盤(pán)接收23個(gè)有效字符并存入以BUF為首地址的緩沖區(qū)中。將ASCII碼表示的4位十六進(jìn)制數(shù)轉(zhuǎn)換為16位二進(jìn)制數(shù),并暫時(shí)存放在
BX中;
字符對(duì)應(yīng)的ASCII碼0~930H~39HA~Z41H~5AH換行0AH回車(chē)0DHESC鍵1BH空格20H確定十進(jìn)制數(shù)的符號(hào),并把符號(hào)(+或-)存放在BCDBUF單元中;使用指令TEST對(duì)最高位進(jìn)行判定,如若最高位為1,則是負(fù)數(shù),反之。對(duì)BX中的二進(jìn)制數(shù)采用前述算法轉(zhuǎn)換為十進(jìn)制數(shù)(非組合型BCD碼),轉(zhuǎn)換結(jié)果存放在以BCDBUF+1為首址的5個(gè)字節(jié)單元中;把轉(zhuǎn)換結(jié)果的5個(gè)非組合型BCD碼形成相應(yīng)的ASCII碼。
組合BCD碼是用4個(gè)二進(jìn)制位表示一個(gè)十進(jìn)制位,如:
MOVAL,68H
MOVBL,28H
ADDAL,BL
;AL=68H+28H=90H DAA
;十進(jìn)制調(diào)整:AL=96H
非組合BCD碼是用8個(gè)二進(jìn)制位表示一個(gè)十進(jìn)制位。如:
MOVAX,0608H MOVBL,09H
ADDAL,BL
;AL=08H+09=11H
AAA
;十進(jìn)制調(diào)整:AX=0107H顯示結(jié)果屏幕顯示字符串(9號(hào)功能調(diào)用)格式: MOVDX,字符串的偏移地址
MOVAH,09H
INT21H在使用9號(hào)功能調(diào)用時(shí),應(yīng)當(dāng)注意以下問(wèn)題:
①待顯示的字符串必須先放在內(nèi)存一數(shù)據(jù)區(qū)(DS段)中,且以‘$’符號(hào)作為結(jié)束標(biāo)志。
②應(yīng)當(dāng)將字符串首地址的段基址和偏移地址分別存入DS和DX寄存器中。
…… BUF
DB‘HOWDOYOUDO?’,0AH,0DH,‘$’
……
MOV
AX,DATA MOV
DS,AX
……
MOV
DX,OFFSETBUF
MOV
AH,09H
INT
21H
……
執(zhí)行程序,在屏幕上顯示“HOWDOYOUDO?”字符串。實(shí)驗(yàn)要求一參考程序:TITLECONVERTHEXADECIMALTOBCDDATASEGMENTPROMPTDB"INPUTHEXADECIMAL(4DIGITS):$'HEXBUFDB5,0,5DUP(0)DISPDB0AH,0DHBCDBUFDB6DUP(0),'$'DATAENDSSTACK1SEGMENTPARASTACKDW20HDUP(0)STACK1ENDSCOSEGSEGMENTASSUMECS:COSEG,DS:DATA,SS:STACK1HEXBCD:MOVAX,DATAMOVDS,AX;輸入1~4位十六進(jìn)制數(shù)LEADX,PROMPT;顯示提示信息MOVAH,09HINT21HLEADX,HEXBUF;輸入數(shù)據(jù)MOVAH,0AHINT21H;ASCII碼轉(zhuǎn)換為16位二進(jìn)制數(shù)并存入BX中LEASI,HEXBUF+2;取十六進(jìn)制數(shù)ASCII碼首址MOVBX,0;暫存二進(jìn)制數(shù)的寄存器清零MOVCH,HEXBUF+1;取輸入數(shù)據(jù)個(gè)數(shù)HEX1:MOVAL,[SI];取一個(gè)十六進(jìn)制數(shù)字符CMPAL,'9'JBENUMB;小于等于‘9’是數(shù)字符SUBAL,07H;是字母符
NUMB:ANDAL,0FHMOVCL,4SALBX,CLORBL,ALINCSIDECCHJNEHEX1;確定十進(jìn)制數(shù)的符號(hào)MOVBCDBUF,'+'TESTBX,8000HJNSPLUS;是正數(shù)MOVBCDBUF,'-';是負(fù)數(shù)NEGBX;求補(bǔ)后變?yōu)樵a;將二進(jìn)制數(shù)轉(zhuǎn)換為非組合型BCD碼,從二進(jìn)制數(shù)高位起,進(jìn)行15次加和乘PLUS:MOVCH,0FH;“加乘”運(yùn)算的次數(shù)LOP0:SHLBX,1;最高位二進(jìn)制數(shù)送CFCALLADDIT;先加1位二進(jìn)制數(shù)CALLMULTI;再乘2DECCHJNELOP0SHLBX,1;加最低位二進(jìn)制數(shù)CALLADDIT
;把非組合型BCD碼轉(zhuǎn)換為ASCII碼形式LEADI,BCDBUF+1MOV
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025工廠員工安全培訓(xùn)考試試題及答案【真題匯編】
- 嶗山初一分班試卷及答案
- 快樂(lè)試卷三年級(jí)及答案
- 2025年工廠員工安全培訓(xùn)考試試題及答案歷年考題
- 九下語(yǔ)文聯(lián)考試卷及答案
- 家具生產(chǎn)工藝流程與市場(chǎng)趨勢(shì)
- 數(shù)字化物流在跨境電商中的應(yīng)用-全面剖析
- 燃料產(chǎn)品生命周期評(píng)價(jià)-全面剖析
- 疾病預(yù)測(cè)與預(yù)防-全面剖析
- 社會(huì)責(zé)任與企業(yè)品牌形象的關(guān)聯(lián)研究-全面剖析
- 2023-2024學(xué)年湖北省荊門(mén)市京山市八年級(jí)(下)期中數(shù)學(xué)試卷(含解析)
- 創(chuàng)新思維拓展-知到答案、智慧樹(shù)答案
- 浙江宇翔職業(yè)技術(shù)學(xué)院?jiǎn)握新殰y(cè)參考試題庫(kù)(含答案)
- 給小學(xué)生科普地質(zhì)學(xué)知識(shí)
- 課程與教學(xué)評(píng)價(jià)課件
- 提高手衛(wèi)生正確率品管圈課件
- 中醫(yī)護(hù)理技術(shù)穴位貼敷
- 分布式光伏高處作業(yè)專(zhuān)項(xiàng)施工方案
- 《狼王夢(mèng)》小學(xué)讀后感400字
- 中國(guó)居民膳食指南(全)
- 水泥脫硝安全專(zhuān)篇
評(píng)論
0/150
提交評(píng)論