實驗三從鍵盤輸入數據并顯示_第1頁
實驗三從鍵盤輸入數據并顯示_第2頁
實驗三從鍵盤輸入數據并顯示_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗 2 從鍵盤輸入數據并顯示編寫程序,將鍵盤接收到的 4 位 16 進制數轉換為等值的二進制數,再顯示在熒 光屏上。分析:整個程序分為 3 個部分:鍵盤輸入、轉換、顯示,可以分別用子程序來完 成。1. 輸入。輸入可以利用字符串輸入。這時需要在主程序中先開辟一段輸入緩沖區。先復習一下字符串輸入的知識字符串輸入 ( OAH入口參數功能 )DS : DX = 緩沖區的首地址( DS :DX ) = 限制最多輸入的字符數功能號類型號 出口參數AH = OAH21H( DS : DX+1 ) =實際鍵入的字符 (不含回車符 )從( DS : DX+2 ) 開始順序存放鍵入的字符串, 回車符ODH為串尾

2、最后一字符。實現功能等待從鍵盤輸入字符串,并存入設定的緩沖區內,同時回顯字符串,光標隨著移動,回車符使光標回到行首注意事項:應按要求先定義緩沖區,再調用。 數據緩沖區的設置如下: data SEGMENT ; 定義緩沖區 stri DB PLEASE INPUT ,OAH,ODH, $ ; 輸入提示 maxDB 4; 定義限制最多輸入個數 lenthDB ?; 用于存放實際輸入個數 striDB 5 DUP(?) ; 用于存放輸入的字符串data ENDS從鍵盤輸入 ABCD, 回車,內存的存放結果 :子程序如下:INPUT PROCLEADX, stri調顯示功MOV AH, O9HINT

3、21H LEA DX , maxMOV AH , 0AHINT 21H ; 調 0A 輸入功能RETINPUT ENDP 2. 轉換。由于在緩沖區中存放的是輸入字符的 ASCII 碼,比如1-31H241H , a-61H所以首先需要將它們轉換成對應的數字的大小。如 10000, 0001B, A 和 a1010。如何轉換? 數字和字母的 ASCII 碼是一個有序序列 數字 09:30H 39H大寫字母 AZ :41H 5AH小寫字母 az :61H 7AH對于每個字符,先減去30H,數字09就轉換完了;如果判斷是否 大于09H,是則減去07H,大寫字母AF轉換完畢,如果是小寫字母af ,還要

4、 減去 20H。假設用 SI 間指數據緩沖區,程序段如下:MOV AL, SI; 應用輸入字符SUBAL,30HCMP AL,09H; 大于 09H, 則為字符JLE LOOP1;為字母 AF的 ASCIISUB AL, 07HLOOP1:CMP AL, 20HJLE NEXT1; 為字母 af 的 ASCII SUB AL, 20HNEXT1:; 后續處理 利用一個循環就可以將 4 個字符轉換成相應的二進制數。 現在,在數據緩沖區中存放的是輸入的 16進制數每一位的值, 占用了 4個字節, 每個字節只用到低四位。如:輸入為ABCD則緩沖區中存放的是:0AH 0BH 0CH 0DH 實驗要求將

5、輸入的 4 位 16進制數轉換成等值的二進制數,也就是一個字,所以 還要將這 4 個字節進行組合。組合方法如下:取出最高的兩位,女口 0AH 0BH放入寄存器 AX中,(注意:AH=0BHAL=0AH , 將AL左移4位,變成A0H和AH相“或”,得到AL=ABH存入BH寄存器;同 理將后兩個字節組合成一個字節,存入 BL寄存器。3.顯示。可以調用“以二進制的形式顯示 BX寄存器的內容”子程序來實現合成部分的程序段:MOV CX,4;移位次數LEASI , STRI;取前兩個字節送AXMOVAX, SISHLAL,CL;AL左移四位ORAL,AHMOVBH , AL;保存LEASI , STRI+2MOVAX, SISHLAL,CLORAL,AHMOVBL , AL主程序:codeSEGMENTASSUMECS:code, DS:datastart:MOVAX , data;置緩沖區地址于DS:DXMOVDS , AXLEADX, striMOVAH, 09H;

溫馨提示

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

評論

0/150

提交評論