1. 程式人生 > >介面技術實驗三、響鈴程式

介面技術實驗三、響鈴程式

響鈴程式

實驗目的
掌握響鈴符的使用方法
二.實驗內容
從鍵盤接收輸入字元,如是數字N,則響鈴N次,如不是數字,則不響。
三.程式框圖
如圖4.1所示。
四.實驗報告
1.簡述本次實驗的內容。
2.畫出程式設計流程圖。
3.編寫程式並註釋。
4.寫出自己在除錯過程中遇到的難點及如何解決等心得體會。
在這裡插入圖片描述
提示:
只有程式碼段的完整程式結構:
CODE SEGMENT
ASSUME CS:CODE
START:
……
CODE ENDS
END START

等待輸入程式碼: 鍵盤輸入ASCII碼給al
MOV AH,01H
INT 21H

Ctrl+C複合鍵的ASCII碼是03H

給DL賦值可以顯示某個字元或響鈴,響鈴的ASCII碼是07H,回車是0DH,換行是0AH
MOV AH,02H
MOV DL,??H
INT 21H

延時時間不夠請採用多重迴圈

以下程式作為結束返回DOS
MOV AH,4CH
INT 21H

具體INT 21H的應用請參考理論教材137-139頁

我的程式碼:

CODES SEGMENT
    ASSUME CS:CODES
START:
				 ;DOS系統功能調INT 21H
  A:MOV AH,01H   ;01H號鍵盤輸入功能07H也行
 	INT 21H	     ;AL輸入字元ASCII碼,同時螢幕顯示該字元
    CMP AL,03H   ;比較AL和03H
    JE DOS       ;JE相等則跳DOS 
 				 ;JNE不相等則跳
 				 
    CMP AL,30H   ;"0~9"的ASCII碼為30H~39H
    JNA A	     ;"<"小於30H則跳轉到A區程式碼
    CMP AL,39H
    JA A         ;">"大於39H則跳轉到A區
    
    MOV AH,00H  ;記得AH清零
    MOV BP,AX
  B:MOV AH,02H
	MOV DL,03H
	INT 21H
	DEC BP
	CMP BP,30H
	JZ A  		;等於0時跳轉
	JNZ B 		;不等於0時跳轉
DOS:MOV AH,4CH  ;程式結束
	INT 21H
CODES ENDS
    END START

J:JUMP
A:Above,大於
B:Below,小於
E:Equal,等與
N:Not,非
組合起來:
JA(大於時跳轉)等於JNBE(非(小於或等於時跳轉))
JE(等於時跳轉)
JNE(不等於時跳轉)