从键盘输入一个月号(1-12),并显示该月号的英文名称

本文介绍如何使用C语言编写程序,根据用户输入的1到12之间的月份数字,输出对应的英文月份名称。通过示例代码详细解析实现过程。
摘要由CSDN通过智能技术生成
#include<stdio.h>
#include<stdlib.h>
int main()
{
   
	int month;
	printf("从键盘输入一个月号(1-12):");
	scanf_s("%d", &month);
	switch (month)
	{
   
	case 1
好的,以下是用emu8086编写的从键盘输入英文字符,显示其二进制ASCII码的汇编语言源程序: ``` ;程序名称:ASCII码显示程序 ;作者:AI助手 ;编写时间:2021年11日 .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码,最后将输入字符的二进制数以空格隔开的形式输出,程序运行完成后自动退出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值