用emu8086编写一个从键盘输入英文字符,显示其二进制ASCII码的汇编语言源程序
时间: 2024-05-11 16:15:56 浏览: 159
好的,以下是用emu8086编写的从键盘输入英文字符,显示其二进制ASCII码的汇编语言源程序:
```
;程序名称:ASCII码显示程序
;作者:AI助手
;编写时间:2021年1月1日
.stack 100h ;定义堆栈空间大小
.data ;定义数据段
msg1 db '请输入一个英文字符:$'
msg2 db '输入字符的ASCII码为:$'
char db 0 ;定义一个字节变量char用于存储输入的字符
.code ;定义代码段
main proc ;定义主程序
;显示提示信息
mov ah, 09h ;设置显示字符串功能号
lea dx, msg1 ;将要显示的字符串的地址传送到dx寄存器
int 21h ;调用21h中断显示字符串
;接收输入字符
mov ah, 01h ;设置字符输入功能号
int 21h ;调用21h中断接收输入字符
mov char, al ;将输入的字符存储到char变量中
;显示ASCII码
mov ah, 09h ;设置显示字符串功能号
lea dx, msg2 ;将要显示的字符串的地址传送到dx寄存器
int 21h ;调用21h中断显示字符串
mov ah, 02h ;设置字符输出功能号
mov dl, char ;将输入的字符传送给dl寄存器
int 21h ;调用21h中断输出字符
;转换为二进制
mov ax, 0 ;寄存器ax清零
mov bl, char ;将输入的字符传送给bl寄存器
mov cx, 8 ;循环8次
read_bit:
shr bl, 1 ;将bl右移一位
adc ax, 0 ;将进位标志ADC加到ax寄存器中
shl ax, 1 ;将ax左移一位
loop read_bit ;循环读取每一位二进制数
;显示二进制数
mov ah, 02h ;设置字符输出功能号
mov dl, ' ' ;将空格字符传送给dl寄存器
int 21h ;调用21h中断输出字符
mov ah, 02h ;设置字符输出功能号
mov bl, 8 ;循环次数为8次
print_bit:
mov al, ah ;将ah寄存器的值传送给al寄存器
and al, 00000001b ;将al寄存器的值与00000001b按位与运算
add al, '0' ;将al寄存器的值加上'0'字符
mov dl, al ;将al寄存器的值传送给dl寄存器
int 21h ;调用21h中断输出字符
shr ah, 1 ;将ah右移一位
dec bl ;循环次数减一
jnz print_bit ;如果循环次数不为0就跳转到print_bit处
;退出程序
mov ah, 4ch ;设置程序退出功能号
int 21h ;调用21h中断退出程序
main endp ;结束主程序
end main ;程序结束标志
```
上述程序在接收输入字符后将其转换为二进制数并输出。程序执行时,先提示用户输入一个英文字符,然后接收用户输入的字符,接着显示输入字符的ASCII码,最后将输入字符的二进制数以空格隔开的形式输出,程序运行完成后自动退出。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)