匯編語言第九章答案_第1頁
匯編語言第九章答案_第2頁
匯編語言第九章答案_第3頁
匯編語言第九章答案_第4頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

1、9.1 INT 21H的鍵盤輸入功能1和功能8有什么區(qū)別?答:鍵盤輸入功能1:輸入字符并回顯(回送顯示器顯示) (檢測Ctrl_Break);鍵盤輸入功能8:輸入字符但不回顯(也檢測Ctrl_Break)。9.2 編寫一個程序,接受從鍵盤輸入的10個十進制數(shù)字,輸入回車符則停止輸入,然后將這些數(shù)字加密后(用XLAT指令變換)存入內(nèi)存緩沖區(qū)BUFFER。加密表為:輸入數(shù)字:0,1,2,3,4,5,6,7,8,9密碼數(shù)字:7,5,9,1,3,6,8,0,2,4答:程序段如下:SCODE DB 7, 5, 9, 1, 3, 6, 8, 0, 2, 4 ;密碼數(shù)字BUFFER DB 10 DUP (?

2、); MOV SI, 0MOV CX, 10LEA BX, SCODEINPUT: MOV AH, 1 ;從鍵盤輸入一個字符的功能調(diào)用INT 21HCMP AL, 0DH ;輸入回車符則停止輸入JZ EXITSUB AL, 30H ;是09嗎?JB INPUTCMP AL, 09HJA INPUTXLAT ;換為密碼MOV BUFFERSI, AL ;保存密碼INC SILOOP INPUTEXIT: RET9.3 對應黑白顯示器屏幕上40列最下邊一個象素的存儲單元地址是什么?答:對應黑白顯示器屏幕上40列最下邊一個象素的存儲單元地址是:B000:0F78H9.4 寫出把光標置在第12行,第8

3、列的指令。答:指令如下:MOV DH, 0BH ;0BH=12-1MOV DL, 07H ;07H=8-1MOV BH, 0MOV AH, 2 ;置光標功能調(diào)用INT 10H9.5 編寫指令把12行0列到22行79列的屏幕清除。答:指令如下:MOV AL, 0 ;清除屏幕MOV BH, 07MOV CH, 12 ;左上角行號MOV CL, 0 ;左上角列號MOV DH, 22 ;右下角行號MOV DL, 79 ;右下角列號MOV AH, 6 ;屏幕上滾功能調(diào)用INT 10H9.6 編寫指令使其完成下列要求。(1) 讀當前光標位置(2) 把光標移至屏底一行的開始(3) 在屏幕的左上角以正常屬性顯

4、示一個字母M答:指令序列如下:(1) MOV AH, 3 ;讀當前光標位置,返回DH/DL=光標所在的行/列MOV BH, 0INT 10H(2) MOV DH, 24 ;設(shè)置光標位置MOV DL, 0MOV BH, 0MOV AH, 2INT 10H(3) MOV AH, 2 ;設(shè)置光標位置MOV DX, 0MOV BH, 0INT 10HMOV AH, 9 ;在當前光標位置顯示一個字符MOV AL, MMOV BH, 0MOV BL, 7MOV CX, 1INT 10H9.7 寫一段程序,顯示如下格式的信息:Try again, you have n starfighters left.其

5、中n為CX寄存器中的19之間的二進制數(shù)。答:程序段如下:MESSAGE DB Try again, you have CONT DB nDB starfighters left.$; ADD CL, 30HMOV CONT, CL ;保存ASCII碼LEA DX, MESSAGEMOV AH, 9 ;顯示一個字符串的DOS調(diào)用INT 21H9.8 從鍵盤上輸入一行字符,如果這行字符比前一次輸入的一行字符長度長,則保存該行字符,然后繼續(xù)輸入另一行字符;如果它比前一次輸入的行短,則不保存這行字符。按下$輸入結(jié)束,最后將最長的一行字符顯示出來。答:程序段如下:STRING DB 0 ;存放字符的個數(shù)

6、DB 80 DUP (?), 0DH,0AH,$ ;存放前一次輸入的字符串,兼作顯示緩沖區(qū)BUFFER DB 80 ;輸入字符串的緩沖區(qū),最多輸入80個字符DB ?DB 80 DUP (20H); INPUT: LEA DX, BUFFER ;輸入字符串MOV AH, 0AH ;輸入字符串的DOS調(diào)用INT 21HLEA SI, BUFFER+1 ;比較字符串長度LES DI, STRINGMOV AL, SICMP AL, DIJBE NEXTMOV CX, 80+1 ;大于前次輸入的字符串,更換前次的字符串CLDREP MOVSBNEXT: MOV AH, 1 ;輸入結(jié)束符嗎?INT 21

7、HCMP AL, $ ;是結(jié)束符嗎?JNE INPUT ;不是則繼續(xù)輸入LEA DX, STRING+1 ;顯示字符串MOV AH, 9 ;顯示一個字符串的DOS調(diào)用INT 21H9.9 編寫程序,讓屏幕上顯示出信息“What is the date (mm/dd/yy)?”并響鈴(響鈴符為07),然后從鍵盤接收數(shù)據(jù),并按要求的格式保存在date存儲區(qū)中。答:程序段如下:MESSAGE DB What is the date (mm/dd/yy)?, 07H, $DATAFLD DB 10, 0DATE DB 10 DUP ( ); MOV AH, 9 ;顯示一個字符串的DOS調(diào)用LEA DX

8、, MESSAGE ;顯示字符串INT 21HMOV AH, 0AH ;輸入字符串的DOS調(diào)用LEA DX, DATAFLDINT 21H9.10 用戶從鍵盤輸入一文件并在屏幕上回顯出來。每輸入一行(80字符),用戶檢查一遍, 如果用戶認為無需修改,則鍵入回車鍵,此時這行字符存入BUFFER緩沖區(qū)保存,同時打印機把這行字符打印出來并回車換行。答:程序段如下:INAREA DB 80 ;輸入字符串的緩沖區(qū),最多輸入80個字符ACTLEN DB ?BUFFER DB 80 DUP (?); INPUT: LEA DX, INAREA ;輸入字符串MOV AH, 0AH ;輸入字符串的DOS調(diào)用INT 21HCMP ACTLEN, 0JE EXITMOV BX, 0MOV CH, 0MOV CL, ACTLENPRINT: MOV AH, 5 ;打印輸出MOV DL, BUFFERBXINT 21HINC BXLOOP PRINTMOV AH, 5 ;打印輸出回車換行MOV DL

溫馨提示

  • 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

提交評論