汇编语言:输入一个数字,显示出其月份英文单词的前三个字母例如输入1 显示JAN
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 16:42:12
![汇编语言:输入一个数字,显示出其月份英文单词的前三个字母例如输入1 显示JAN](/uploads/image/z/5527216-64-6.jpg?t=%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80%EF%BC%9A%E8%BE%93%E5%85%A5%E4%B8%80%E4%B8%AA%E6%95%B0%E5%AD%97%2C%E6%98%BE%E7%A4%BA%E5%87%BA%E5%85%B6%E6%9C%88%E4%BB%BD%E8%8B%B1%E6%96%87%E5%8D%95%E8%AF%8D%E7%9A%84%E5%89%8D%E4%B8%89%E4%B8%AA%E5%AD%97%E6%AF%8D%E4%BE%8B%E5%A6%82%E8%BE%93%E5%85%A51+%E6%98%BE%E7%A4%BAJAN)
汇编语言:输入一个数字,显示出其月份英文单词的前三个字母例如输入1 显示JAN
汇编语言:输入一个数字,显示出其月份英文单词的前三个字母
例如输入1 显示JAN
汇编语言:输入一个数字,显示出其月份英文单词的前三个字母例如输入1 显示JAN
Code Segment
Assume CS:Code,DS:Code
EnterCRLF Proc Near
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
int 21h
ret
EnterCRLF EndP
Prompt_Mon DB 'month?:$'
MONTAB DB 'JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'
Input_Num DB 3,0,3 dup(?)
Start:push cs
pop ds
Get_Number:LEA DX,Prompt_Mon
MOV AH,9
INT 21H
call EnterCRLF
lea dx,Input_Num
push dx
pop si
inc si
mov ah,0ah
int 21h
lodsb
test al,0fh
jz Exit_Proc
cmp al,1
ja Two_Chr
lodsb
and al,0fh
xor ah,ah
jmp Seach_Mon
Two_Chr:lodsw
and ax,0f0fh
xchg ah,bh
xor ah,ah
mov bl,10
mul bl
add al,bh
cmp al,1
jb Get_Number
cmp al,12
ja Get_Number
Seach_Mon:dec al
mov bl,3
mul bl
lea si,MONTAB
add si,ax
call EnterCRLF
mov cx,3
Output_Mon:lodsb
xchg dl,al
mov ah,2
int 21h
loop Output_Mon
call EnterCRLF
JMP Get_Number
Exit_Proc:mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束