[页数] 6 [字数] 869 [目录] 一、实验名称和题目 二、实验目的 三、实验内容 四、实验分析和总结 [原文] 一、实验名称和题目 A.实验名称:上机实验三:分支程序设计实验 B.题目:设计一个菜单程序,菜单选项和每个选项执行的代码或显示内容自选。 二、实验目的 1.掌握分支程序的一般结构和设计方法。 2.掌握地址表法多分支程序设计的方法。 3.掌握用汇编语言设计菜单程序的方法。 4.熟悉用9号功能调用显示字符串的方法。 三、实验内容 编写一个有8个选项的菜单程序,当选中1-7项的任意一项时,在屏幕上显示出相应的星期一到星期日的英文单词,选中第0项时退出程序。 1. 源程序代码输入: DATA SEGMENT MENUA DB ' ',0DH,0AH,'$' MENU0 DB ' ********************* ',0DH,0AH,'$' MENU00 DB ' * WORK TABLE *',0DH,0AH,'$' MENU1 DB ' * *',0DH,0AH,'$' MENU2 DB ' * 0------QUIT * ',0DH,0AH,'$' MENU3 DB ' * 1----MONDAY *',0DH,0AH,'$' MENU4 DB ' * 2---TUESDAY *',0DH,0AH,'$' MENU5 DB ' * 3-WEDNESDAY *',0DH,0AH,'$' MENU6 DB ' * 4--THURSDAY *',0DH,0AH,'$' MENU7 DB ' * 5----FRIDAY *',0DH,0AH,'$' MENU8 DB ' * 6--SATURDAY *',0DH,0AH,'$' MENU9 DB ' * 7----SUNDAY *',0DH,0AH,'$' MENUZ DB ' * *',0DH,0AH,'$' MENU DB ' ********************* ',0DH,0AH,'$' ADRS DW P0,P1,P2,P3,P4,P5,P6,P7 MESS DB '********** PLEASE OPTION (1-7,0-QUIT) ***************************',0DH,0AH,'$' ERR DB '********** INPUT ERROR,PLEASE ONCE AGAIN!***********************',0DH,0AH,'$' M1 DB '-------------->MONDAY',0DH,0AH,'$' M2 DB '------------->TUESDAY',0DH,0AH,'$' M3 DB '----------->WEDNESDAY',0DH,0AH,'$' M4 DB '------------>THURSDAY',0DH,0AH,'$' M5 DB '-------------->FRIDAY',0DH,0AH,'$' M6 DB '------------>SATURDAY',0DH,0AH,'$' M7 DB '-------------->SUNDAY',0DH,0AH,'$' M8 DB '********** WuJinCheng Computer Grade-2003 Class-1 079#**********',0DH,0AH,'$' DATA ENDS STACK SEGMENT PARA STACK 'STACK' DB 100H DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX, OFFSET M8 MOV AH,9 INT 21H MOV AH,9 ; 菜单显示部分 MOV DX,OFFSET MENUA INT 21H MOV DX,OFFSET MENU0 INT 21H MOV DX,OFFSET MENU00 INT 21H MOV DX,OFFSET MENU1 INT 21H MOV DX,OFFSET MENU2 INT 21H MOV DX,OFFSET MENU3 INT 21H MOV DX,OFFSET MENU4 INT 21H MOV DX,OFFSET MENU5 INT 21H MOV DX,OFFSET MENU6 INT 21H MOV DX,OFFSET MENU7 INT 21H MOV DX,OFFSET MENU8 INT 21H MOV DX,OFFSET MENU9 INT 21H MOV DX,OFFSET MENUZ INT 21H MOV DX,OFFSET MENU INT 21H MOV DX,OFFSET MENUA INT 21H MOV DX,OFFSET MESS INT 21H L2: MOV BX,OFFSET ADRS MOV AH,1 ; 键盘输入处理 INT 21H AND AL,0FH CMP AL,7 ; 容错处理 JA L3 CMP AL,0 JB L3 ADD AL,AL MOV AH,0 ADD BX,AX MOV AH,9 JMP WORD PTR [BX] ; 选项处理 L3: MOV DX,OFFSET ERR MOV AH,9 INT 21H JMP L2 L4: MOV AH,4CH INT 21H P1: MOV DX, OFFSET M1 ; 分支程序 INT 21H JMP L2 P2: MOV DX, OFFSET M2 INT 21H JMP L2 P3: MOV DX, OFFSET M3 INT 21H JMP L2 P4: MOV DX, OFFSET M4 INT 21H JMP L2 P5: MOV DX, OFFSET M5 INT 21H JMP L2 P6: MOV DX, OFFSET M6 INT 21H JMP L2 P7: MOV DX, OFFSET M7 INT 21H JMP L2 P0: JMP L4 ; 返回DOS CODE ENDS END START 2. 实验步骤。 (1)输入源程序,汇编、连接直到没有错误。 (2)进入DEBUG运行程序...... [原文截取] 实验报告 计算机03级(1)班 姓名: 学号: # 一、实验名称和题目 A.实验名称:上机实验三:分支程序设计实验 B.题目:设计一个菜单程序,菜单选项和每个选项执行的代码或显示内容自选。 二、实验目的 1.掌握分支程序的一般结构和设计方法。 2.掌握地址表法多分支程序设计的方法。 3.掌握用汇编语言设计菜单程序的方法。 4.熟悉用9号功能调用显示字符串的方法。 三、实验内容 编写一个有8个选项的菜单程序,当选中1-7项的任意一项时,在屏幕上显示出相应的星期一到星期日的英文单词,选中第0项时退出程序。 源程序代码输入: DATA SEGMENT MENUA DB ' ',0DH,0AH,'$' MENU0 DB ' ********************* ',0DH,0AH,'$' MENU00 DB ' * WORK TABLE *',0DH,0AH,'$' MENU1 DB ' * *',0DH,0AH,'$' MENU2 DB ' * 0------QUIT * ',0DH,0AH,'$' MENU3 DB ' * 1----MONDAY *',0DH,0AH,'$' MEN..... |
[计算机汇编语言] 分支程序设计
查看评论
已有0位网友发表了看法