利用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本回答被提问者采纳
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本回答被提问者采纳