用汇编语言编写程序,利用DOS、BIOS系统功能调用进行屏幕菜单设计

利用DOS、BIOS系统功能调用,屏幕菜单设计。提示4条信息进行选择:
1――我是一名大学生;
2――我的专业是自动化
3――我喜欢看书
4――返回



        CODE  SEGMENT
              ASSUME    CS:CODE
              ORG       100H
      START:
              JMP       BBB
        MENU  DB        10,13,10,13,'           MENU          '
              DB        10,13
              DB        10,13,'           1. 我是一名大学生'
              DB        10,13,'           2. 我的专业是自动化'
              DB        10,13,'           3. 我喜欢看书'
              DB        10,13,'           4. RUN'
              DB        10,13,'           0. 返回'
              DB        10,13
              DB        10,13,'   please choose one of 0~4:','$'

        BBB:
              PUSH      CS
              POP       DS
      DISP0:
              MOV       AH,15
              INT       10H
              MOV       AH,0
              INT       10H
              LEA       DX,MENU
              MOV       AH,9
              INT       21H

              MOV       AH,1
              INT       21H
              CMP       AL,'0'
              JE        EXIT
              CMP       AL,'1'
              JE        DISP1
              CMP       AL,'2'
              JE        DISP2
              CMP       AL,'3'
              JE        DISP3
              CMP       AL,'4'
              JE        DISP4
              JMP       DISP0
      DISP1:
              CALL      SUB1
              JMP       DISP0
      DISP2:
              CALL      SUB2
              JMP       DISP0
      DISP3:
              CALL      SUB3
              JMP       DISP0
      DISP4:
              CALL      SUB4
              JMP       DISP0

       EXIT:
              MOV       AH,4CH
              INT       21H

        SUB1  PROC      NEAR
              RET
        SUB1  ENDP

        SUB2  PROC      NEAR
              RET
        SUB2  ENDP

        SUB3  PROC      NEAR
              RET
        SUB3  ENDP

        SUB4  PROC      NEAR
              RET
        SUB4  ENDP


        CODE  ENDS
              END       START

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-30
;用MASM5.0编译通过

data segment
s1 db 0dh,0ah,'1――我是一名大学生',0dh,0ah,'$'
s2 db '2――我的专业是自动化',0dh,0ah,'$'
s3 db '3――我喜欢看书',0dh,0ah,'$'
s4 db '4――返回 ',0dh,0ah,0ah,0dh,'$'

data ends
code segment
assume cs:code, ds:data
main proc far
start:
push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
;-------------------------

mov ah,09
mov dx ,offset s1
int 21h
mov dx ,offset s2
int 21h
mov dx ,offset s3
int 21h
mov dx ,offset s4
int 21h

re_input:
mov ah,0
int 16h
mov ah,09
cmp al,'1'
je y1
cmp al,'2'
je y2
cmp al,'3'
je y3
cmp al,'4'
je endd
jmp re_input
y1:
mov dx ,offset s1
int 21h
jmp endd
y2:
mov dx ,offset s2
int 21h
jmp endd
y3:
mov dx ,offset s3
int 21h
jmp endd

endd:
;-------------------------
ret

main endp
code ends
end start本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网