编写一个源程序,在键盘上按一个键,将其返回的ASCII码值显示出来,如果按下退格键(对应ASCII码是08H)则程序退出。请调用书中的HTOASC子程序。
时间: 2024-05-16 21:16:38 浏览: 82
下面是一个使用汇编语言编写的程序,实现了按键返回ASCII码值并退出的功能:
```assembly
.model small
.stack 100h
.data
msg db 0dh, 0ah, 'Press any key to get its ASCII code: $'
result db 0dh, 0ah, 'The ASCII code of the key is: $'
.code
main proc
mov ax, @data
mov ds, ax
; display message
lea dx, msg
mov ah, 09h
int 21h
; wait for key press
mov ah, 00h
int 16h
; check if backspace key was pressed
cmp al, 08h
je exit
; convert ASCII code to hexadecimal string
push ax
call HTOASC
mov si, offset result+26
mov di, offset axbuf
mov cx, 4
rep movsb
; display result
lea dx, result
mov ah, 09h
int 21h
; exit program
jmp exit
exit:
mov ah, 4ch
int 21h
main endp
end main
```
程序首先显示一条提示消息,然后等待用户按下任意键。如果用户按下的是退格键,则程序直接退出。否则,程序将按键返回的ASCII码值转换为十六进制字符串,并显示出来。最后,程序退出。
注意,程序中调用了书中提供的HTOASC子程序,用于将一个十六进制数转换为字符串。在使用该程序之前,需要在程序开头添加以下语句:
```assembly
include htoasc.inc
```
这样就可以使用HTOASC子程序了。
阅读全文