汇编地址表的使用

题目

使用地址表实现如下功能:根据输入的数字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
这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值