📄 month.asm
字号:
.model small
.data
msg db 'Enter A month(1~12): $'
msg1 db 0dh,0ah,'$'
monInfo db 'Jan$','Feb$','Mar$','Apr$','May$','Jun$','Jul$','Aug$','Sep$','Oct$','Nov$','Dec$'
month db 3,?,3 dup(0)
table dw month_1
dw month_2
dw month_3
dw month_4
dw month_5
dw month_6
dw month_7
dw month_8
dw month_9
dw month_10
dw month_11
dw month_12
.code
start:
mov ax,@data
mov ds,ax
mov es,ax
lea dx,msg ;显示信息
mov ah,09h
int 21h
lea dx,month ;输入月份数
mov ah,0ah
int 21h
lea dx,msg1
mov ah,09h
int 21h
mov al,month+1 ;al放入月份位数
cmp al,1
ja double ;月份为两位数
mov al,month+2 ;月份为一位数
sub al,30h
jmp follow
double:
mov al,month+3
sub al,30h
add al,10
follow:
sub ah,ah
dec ax
shl ax,1 ;ax存月份
mov si,ax
jmp table[si]
month_1:
lea dx,monInfo
jmp next
month_2:
lea dx,monInfo+4
jmp next
month_3:
lea dx,monInfo+8
jmp next
month_4:
lea dx,monInfo+12
jmp next
month_5:
lea dx,monInfo+16
jmp next
month_6:
lea dx,monInfo+20
jmp next
month_7:
lea dx,monInfo+24
jmp next
month_8:
lea dx,monInfo+28
jmp next
month_9:
lea dx,monInfo+32
jmp next
month_10:
lea dx,monInfo+36
jmp next
month_11:
lea dx,monInfo+40
jmp next
month_12:
lea dx,monInfo+44
jmp next
next:
mov ah,09h ;输出结果
int 21h
mov ax,4c00h ;返回dos
int 21h
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -