日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用BIOS进行键盘输入和磁盘读写---汇编学习笔记

發布時間:2025/3/15 编程问答 6 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用BIOS进行键盘输入和磁盘读写---汇编学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

匯編筆記

  • 使用BIOS進行鍵盤輸入和磁盤讀寫
      • 17.1 int 9中斷例程對鍵盤輸入的處理
      • 17.2 使用int 16h中斷例程讀取鍵盤緩沖區
      • 17.3 字符串的輸入
      • 17.4 應用int 13h中斷例程對磁盤進行讀寫
    • 實驗17 編寫包含多個功能子程序的中斷例程

使用BIOS進行鍵盤輸入和磁盤讀寫

大多數有用的程序都需要處理用戶的輸入,鍵盤輸入是最基本的輸入。程序和數據通常需要長期存儲,磁盤是最常用的存儲設備。BIOS為這兩種外設的I/O提供了最基本的中斷例程。


17.1 int 9中斷例程對鍵盤輸入的處理

鍵盤緩沖區的一個概念,很簡單。按下shift鍵的同時按下字母鍵會改變大小寫,改變的是編碼!如下:a的變化

第一個是在沒有按下shift的情況下,按下A鍵,編碼將是小寫的“a”;而第二個是在按下shift的情況下,按下A鍵,編碼將是大寫的“A”。


17.2 使用int 16h中斷例程讀取鍵盤緩沖區

BIOS提供了int 16h中斷例程供程序員調用。int 16h中斷例程中包含一個最重要的功能是從鍵盤緩沖區中讀取一個鍵盤輸入,該功能的編號為0。

下面的指令從鍵盤緩沖區中讀取一個鍵盤輸入,并且將其從緩沖區中刪除:

mov ah,0 int 16h

結果:(ah)=掃描碼,(al)=ASCII碼。

可以閱讀書籍,查看詳細內容。

int 16h中斷例程的0號功能,進行如下的工作。

  • 檢查鍵盤緩沖區中是否有數據
  • 沒有則繼續做第1步
  • 讀取緩沖區第一個字單元中的鍵盤輸入
  • 將讀取的掃描送入ah,ASCII碼送入al
  • 將已讀取的鍵盤輸入從緩沖區刪除
  • 可見,BIOS的int 9中斷例程和int 16h中斷例程是一堆互相配合的程序。

    檢測點 17.1
    “在int 16h中斷例程中,一定有設置IF=1的指令。”這種說法對嗎?
    錯誤,當鍵盤緩沖區為空時,如果設置IF=1,int 9中斷無法執行。


    17.3 字符串的輸入

    寫出重要內容吧,其他略過略過。

    字符串顯示過程如下:

  • 調用int 16h讀取鍵輸入
  • 如果是字符,進入字符棧,顯示字符棧中的所有字符;繼續執行1
  • 如果是Backspace鍵,從字符棧中彈出一個字符,顯示字符棧字符串中的所有字符;繼續執行1
  • 如果是Enter鍵,向字符棧中壓入0,返回。

  • 17.4 應用int 13h中斷例程對磁盤進行讀寫

    3.5英寸軟盤分為上下兩面,每面有80個磁道,每個磁道又分為18個扇區,每個扇區的大小為512個字節。

    則:2面?80磁道?18扇區?512字節=1440KB2面*80磁道*18扇區*512字節=1440KB2?80?18?512=1440KB

    在讀寫扇區的時候,要給出面號、磁道號和扇區號。面號和磁道號從0開始,而扇區號從1開始。

    入口參數:

  • (ah)=int 13h的功能號(2表示讀扇區)
  • (al)=讀取的扇區數
  • (ch)=磁道號
  • (cl)=扇區號
  • (dh)=磁頭號(對于軟盤即面號,因為一個面用一個磁頭來讀寫)
  • (dl)=驅動器號
  • es:bx指向接收從扇區讀入數據的內存區
  • 對于驅動器號:

  • 軟盤從0開始:0:軟驅A、1:軟驅B
  • 硬盤從80h開始:80h:硬盤C、81h:硬盤D
  • 返回參數:

  • 操作成功:(ah)=0,(al)=讀入的扇區數
  • 操作失敗:(ah)=出錯代碼

  • 實驗17 編寫包含多個功能子程序的中斷例程

    略過

    本書完,最后3章可能沒有什么耐心看了,不過內容的很簡單。實驗和課程設計還有綜合研究以后有時間必定補上,后面將學習操作系統。

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的使用BIOS进行键盘输入和磁盘读写---汇编学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。