組合語言中功能鍵呼叫
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時,設定失敗。