1. 程式人生 > >組合語言中功能鍵呼叫

組合語言中功能鍵呼叫


1.鍵盤輸入並顯示(1號功能呼叫)

格式: MOV AH, 01H
       INT 21H

功能:按下任何鍵,將其對應字元的ASCII碼送入AL中,並在螢幕上顯示該字元。如果按下的是Ctrl+Break組合鍵,則終止程式執行。1號功能呼叫無須入口引數,出口引數在AL中

2.鍵盤輸入但不顯示輸入字元(8號功能呼叫)

格式: MOV AH, 08H
       INT 21H

功能:同1號功能呼叫,但字元不在螢幕上顯示。

3.螢幕顯示一個字元(2號功能呼叫)

格式: MOV DL, ‘字元’
       MOV AH, 02H
       INT 21H

功能:將置入DL暫存器中的字元在螢幕上顯示輸出。

4.列印輸出(5號功能呼叫)

格式: MOV DL, ‘字元’
       MOV AH, 05H
       INT 21H

功能:將置入DL暫存器中的字元送印表機介面,列印輸出。

5.螢幕顯示字串(9號功能呼叫)

格式: MOV DX, 字串的偏移地址
       MOV AH, 09H
       INT 21H

    功能:在螢幕上顯示字串。
    在使用9號功能呼叫時,應當注意以下問題。

    ① 待顯示的字串必須先放在記憶體一資料區(DS段)中,且以‘$’符號作為結束標誌。

    ② 應當將字串首地址的段基址和偏移地址分別存入DS和DX暫存器中。

6.字串輸入功能呼叫(0AH號功能呼叫)

     格式: MOV DX, 已定義緩衝區的偏移地址
           MOV AH, 0AH
           INT 21H

    功能:從鍵盤接收字元,並存放到記憶體緩衝區。

    在使用0AH號功能呼叫時,應當注意以下問題。

    ① 執行前先定義一個輸入緩衝區,緩衝區內第一個位元組定義為允許最多輸入的字元個數,字元個數應包括回車符0DH在內,不能為“0”值。第二個位元組保留,在執 行程式完畢後存入輸入的實際字元個數。從第三個位元組開始存入從鍵盤上接收字元的ASCII碼。若實際輸入的字元個數少於定義的最大字元個數,則緩衝區其他 單元自動清0。若實際輸入的字元個數大於定義的字元個數,其後輸入的字元丟棄不用,且響鈴示警,一直到輸入回車鍵為止。整個緩衝區的長度等於最大字元個數 再加2。

    ② 應當將緩衝區首地址的段基址和偏移地址分別存入DS和DX暫存器中。

7.返回DOS作業系統(4CH號功能呼叫)

格式: MOV AH, 4CH
       INT 21H

    功能:終止當前程式的執行,並把控制權交給呼叫的程式,即返回DOS系統,螢幕出現DOS提示符,如“C: \ >”,等待DOS命令。

8.直接輸入、輸出單字元(6號功能呼叫)

格式: MOV DL, 輸入/輸出標誌
       MOV AH, 06H
       INT 21H

    功能:執行鍵盤輸入操作或螢幕顯示輸出操作,但不檢查Ctrl+Break組合鍵是否按下。執行這兩種操作的選擇由DL暫存器中的內容決定。

    ① 當(DL)=0FFH時,執行鍵盤輸入操作。若標誌ZF=0,AL中放入字元的ASCII碼;若標誌ZF=1,表示無鍵按下。這種呼叫用來檢測鍵盤是否有鍵按下,但不等待鍵盤輸入。

    ② 當(DL)≠0FFH時,表示將DL中內容送螢幕顯示輸出。

9.檢查鍵盤的工作狀態(0BH號功能呼叫)

格式: MOV AH, 0BH
       INT 21H

    功能:檢查是否有鍵盤輸入,若有鍵按下,則使AL=0FFH,若無鍵按下,則AL=00H。對於利用鍵盤操作退出迴圈或使程式結束之類的操作來說,這種呼叫是很方便實用的。

10.設定系統日期(2BH號功能呼叫)

格式: MOV CX, 年號
       MOV DH, 月號
       MOV DL, 日期
       MOV AH, 2BH
       INT 21H

    功能:設定有效的年、月、日。當AL=0時,設定成功;當AL=0FFH時,設定失敗。

11.設定系統時間(2DH號功能呼叫)

格式: MOV CH, 小時
       MOV CL, 分
       MOV DH, 秒
       MOV AH, 2DH
       INT 21H

    功能:設定有效的時間。當AL=0時,設定成功;當AL=0FFH時,設定失敗。


1.鍵盤輸入並顯示(1號功能呼叫)

格式: MOV AH, 01H
       INT 21H

功能:按下任何鍵,將其對應字元的ASCII碼送入AL中,並在螢幕上顯示該字元。如果按下的是Ctrl+Break組合鍵,則終止程式執行。1號功能呼叫無須入口引數,出口引數在AL中

2.鍵盤輸入但不顯示輸入字元(8號功能呼叫)

格式: MOV AH, 08H
       INT 21H

功能:同1號功能呼叫,但字元不在螢幕上顯示。

3.螢幕顯示一個字元(2號功能呼叫)

格式: MOV DL, ‘字元’
       MOV AH, 02H
       INT 21H

功能:將置入DL暫存器中的字元在螢幕上顯示輸出。

4.列印輸出(5號功能呼叫)

格式: MOV DL, ‘字元’
       MOV AH, 05H
       INT 21H

功能:將置入DL暫存器中的字元送印表機介面,列印輸出。

5.螢幕顯示字串(9號功能呼叫)

格式: MOV DX, 字串的偏移地址
       MOV AH, 09H
       INT 21H

    功能:在螢幕上顯示字串。
    在使用9號功能呼叫時,應當注意以下問題。

    ① 待顯示的字串必須先放在記憶體一資料區(DS段)中,且以‘$’符號作為結束標誌。

    ② 應當將字串首地址的段基址和偏移地址分別存入DS和DX暫存器中。

6.字串輸入功能呼叫(0AH號功能呼叫)

     格式: MOV DX, 已定義緩衝區的偏移地址
           MOV AH, 0AH
           INT 21H

    功能:從鍵盤接收字元,並存放到記憶體緩衝區。

    在使用0AH號功能呼叫時,應當注意以下問題。

    ① 執行前先定義一個輸入緩衝區,緩衝區內第一個位元組定義為允許最多輸入的字元個數,字元個數應包括回車符0DH在內,不能為“0”值。第二個位元組保留,在執 行程式完畢後存入輸入的實際字元個數。從第三個位元組開始存入從鍵盤上接收字元的ASCII碼。若實際輸入的字元個數少於定義的最大字元個數,則緩衝區其他 單元自動清0。若實際輸入的字元個數大於定義的字元個數,其後輸入的字元丟棄不用,且響鈴示警,一直到輸入回車鍵為止。整個緩衝區的長度等於最大字元個數 再加2。

    ② 應當將緩衝區首地址的段基址和偏移地址分別存入DS和DX暫存器中。

7.返回DOS作業系統(4CH號功能呼叫)

格式: MOV AH, 4CH
       INT 21H

    功能:終止當前程式的執行,並把控制權交給呼叫的程式,即返回DOS系統,螢幕出現DOS提示符,如“C: \ >”,等待DOS命令。

8.直接輸入、輸出單字元(6號功能呼叫)

格式: MOV DL, 輸入/輸出標誌
       MOV AH, 06H
       INT 21H

    功能:執行鍵盤輸入操作或螢幕顯示輸出操作,但不檢查Ctrl+Break組合鍵是否按下。執行這兩種操作的選擇由DL暫存器中的內容決定。

    ① 當(DL)=0FFH時,執行鍵盤輸入操作。若標誌ZF=0,AL中放入字元的ASCII碼;若標誌ZF=1,表示無鍵按下。這種呼叫用來檢測鍵盤是否有鍵按下,但不等待鍵盤輸入。

    ② 當(DL)≠0FFH時,表示將DL中內容送螢幕顯示輸出。

9.檢查鍵盤的工作狀態(0BH號功能呼叫)

格式: MOV AH, 0BH
       INT 21H

    功能:檢查是否有鍵盤輸入,若有鍵按下,則使AL=0FFH,若無鍵按下,則AL=00H。對於利用鍵盤操作退出迴圈或使程式結束之類的操作來說,這種呼叫是很方便實用的。

10.設定系統日期(2BH號功能呼叫)

格式: MOV CX, 年號
       MOV DH, 月號
       MOV DL, 日期
       MOV AH, 2BH
       INT 21H

    功能:設定有效的年、月、日。當AL=0時,設定成功;當AL=0FFH時,設定失敗。

11.設定系統時間(2DH號功能呼叫)

格式: MOV CH, 小時
       MOV CL, 分
       MOV DH, 秒
       MOV AH, 2DH
       INT 21H

    功能:設定有效的時間。當AL=0時,設定成功;當AL=0FFH時,設定失敗。


1.鍵盤輸入並顯示(1號功能呼叫)

格式: MOV AH, 01H
       INT 21H

功能:按下任何鍵,將其對應字元的ASCII碼送入AL中,並在螢幕上顯示該字元。如果按下的是Ctrl+Break組合鍵,則終止程式執行。1號功能呼叫無須入口引數,出口引數在AL中

2.鍵盤輸入但不顯示輸入字元(8號功能呼叫)

格式: MOV AH, 08H
       INT 21H

功能:同1號功能呼叫,但字元不在螢幕上顯示。

3.螢幕顯示一個字元(2號功能呼叫)

格式: MOV DL, ‘字元’
       MOV AH, 02H
       INT 21H

功能:將置入DL暫存器中的字元在螢幕上顯示輸出。

4.列印輸出(5號功能呼叫)

格式: MOV DL, ‘字元’
       MOV AH, 05H
       INT 21H

功能:將置入DL暫存器中的字元送印表機介面,列印輸出。

5.螢幕顯示字串(9號功能呼叫)

格式: MOV DX, 字串的偏移地址
       MOV AH, 09H
       INT 21H

    功能:在螢幕上顯示字串。
    在使用9號功能呼叫時,應當注意以下問題。

    ① 待顯示的字串必須先放在記憶體一資料區(DS段)中,且以‘$’符號作為結束標誌。

    ② 應當將字串首地址的段基址和偏移地址分別存入DS和DX暫存器中。

6.字串輸入功能呼叫(0AH號功能呼叫)

     格式: MOV DX, 已定義緩衝區的偏移地址
           MOV AH, 0AH
           INT 21H

    功能:從鍵盤接收字元,並存放到記憶體緩衝區。

    在使用0AH號功能呼叫時,應當注意以下問題。

    ① 執行前先定義一個輸入緩衝區,緩衝區內第一個位元組定義為允許最多輸入的字元個數,字元個數應包括回車符0DH在內,不能為“0”值。第二個位元組保留,在執 行程式完畢後存入輸入的實際字元個數。從第三個位元組開始存入從鍵盤上接收字元的ASCII碼。若實際輸入的字元個數少於定義的最大字元個數,則緩衝區其他 單元自動清0。若實際輸入的字元個數大於定義的字元個數,其後輸入的字元丟棄不用,且響鈴示警,一直到輸入回車鍵為止。整個緩衝區的長度等於最大字元個數 再加2。

    ② 應當將緩衝區首地址的段基址和偏移地址分別存入DS和DX暫存器中。

7.返回DOS作業系統(4CH號功能呼叫)

格式: MOV AH, 4CH
       INT 21H

    功能:終止當前程式的執行,並把控制權交給呼叫的程式,即返回DOS系統,螢幕出現DOS提示符,如“C: \ >”,等待DOS命令。

8.直接輸入、輸出單字元(6號功能呼叫)

格式: MOV DL, 輸入/輸出標誌
       MOV AH, 06H
       INT 21H

    功能:執行鍵盤輸入操作或螢幕顯示輸出操作,但不檢查Ctrl+Break組合鍵是否按下。執行這兩種操作的選擇由DL暫存器中的內容決定。

    ① 當(DL)=0FFH時,執行鍵盤輸入操作。若標誌ZF=0,AL中放入字元的ASCII碼;若標誌ZF=1,表示無鍵按下。這種呼叫用來檢測鍵盤是否有鍵按下,但不等待鍵盤輸入。

    ② 當(DL)≠0FFH時,表示將DL中內容送螢幕顯示輸出。

9.檢查鍵盤的工作狀態(0BH號功能呼叫)

格式: MOV AH, 0BH
       INT 21H

    功能:檢查是否有鍵盤輸入,若有鍵按下,則使AL=0FFH,若無鍵按下,則AL=00H。對於利用鍵盤操作退出迴圈或使程式結束之類的操作來說,這種呼叫是很方便實用的。

10.設定系統日期(2BH號功能呼叫)

格式: MOV CX, 年號
       MOV DH, 月號
       MOV DL, 日期
       MOV AH, 2BH
       INT 21H

    功能:設定有效的年、月、日。當AL=0時,設定成功;當AL=0FFH時,設定失敗。

11.設定系統時間(2DH號功能呼叫)

格式: MOV CH, 小時
       MOV CL, 分
       MOV DH, 秒
       MOV AH, 2DH
       INT 21H

    功能:設定有效的時間。當AL=0時,設定成功;當AL=0FFH時,設定失敗。