题目
使用地址表实现如下功能:根据输入的数字1-7,分别显示相应的英文星期名,如果输入其他字符,则重新输入。
assume cs:code,ds:data
data segment
a dw l1,l2,l3,l4,l5,l6,l7
s1 db 'monday $'
s2 db 'tuesday $'
s3 db 'wednesday $'
s4 db 'thursday$'
s5 db 'friday$'
s6 db 'startday$'
s7 db 'sunday$'
msg db ' num$'
msg1 db 0dh,0ah,' over$'
data ends
code segment
start: mov ax,data
mov ds,ax
start1: mov dx,offset msg
mov ah,9
int 21h
mov ah,1
int 21h
cmp al,'1'
jb start1
cmp al,'8'
ja start1
and ax,000fh
dec ax
shl ax,1
mov bx,ax
jmp a[bx]
l1:lea dx,s1
jmp s
l2:lea dx,s2
jmp s
l3:lea dx,s3
jmp s
l4:lea dx,s4
jmp s
l5:lea dx,s5
jmp s
l6:lea dx,s6
jmp s
l7:lea dx,s7
s:mov ah,9
int 21h
jmp d
start2: mov ah,9
int 21h
mov ah,1
int 21h
jmp far ptr start1
d:mov dx,offset msg1
jmp start2
mov ax,4c00h
int 21h
code ends
end start
程序截图2