實驗任務:
編一子,主程序,其功能要求如下:
子程序的入口參數爲一ASCII碼字符,它將該字符的ASCII碼分部以十六進制和二進制形式顯示出來。如主程序調用該子程序時,若傳送給子程序的ASCII碼爲42H,則顯示信息如下:
B: 42H 01000010
主程序的功能是反覆從鍵盤輸入字符,然後調用上述子程序,用十六進制及二進制形式顯示出鍵入字符的ASCII碼,當輸入ESC時返回Dos。
代碼(測試可用,排版問題自行調整):
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;This program is created by LiZhuYang(LzySeed) 轉載請註明出處;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
assume cs:code,ss:stack
stack segment
db 512 dup(?)
stack ends
code segment
start:mov
ah,07h
;鍵盤輸入無回顯
int 21h
cmp al,00011011b
je _ok
push ax
mov ah,02h
mov dl,0Ah
int 21h
mov ah,02h
mov dl,0Dh
int 21h
pop ax
call
_ASCII
;顯示要求規則
mov ah,02h
mov dl,0Ah
int 21h
mov ah,02h
mov dl,0Dh
int 21h
ret
;不返回操作系統
_ASCII:push
ax
push dx
push ax
mov
dl,al
;ASCII字符
mov ah,02h
int 21h
mov
dl,3Ah