大作业题目
编一开奖程序,打开并读取文件中的数据,计算参会人数N,利用BIOS的1AH时钟中断产生一随机数M(1~N之间),根据该随机数确定本次中奖人员为文件中的第M个人,并在屏幕上显示该幸运数和中奖学号。
说明
该程序是一个开奖程序,它的功能是在N个同学中随机产生一个幸运数M,使第M个学号的学生成为中奖学生。
它的工作是通过读取txt文件,计算文件中所含学号个数,利用BIOS调用1AH时钟中断产生一个随机数,并且通过随机数找到文件中的相应位置的学号,最后在屏幕上显示随机数和中奖学号。
代码
DATA SEGMENT
file DB 'mystu.txt',0
BUF DB 100 DUP(0) ;文件内容暂存区
ERR1 DB 13,10,'OPEN FAIL!$'
ERR2 DB 13,10,'READ FAIL!$'
ERR3 DB 13,10,'CLOSE FAIL!$'
handle DW ?
TOTAL DW ? ;学生总数N
RANDOM_M DW ? ;随机数M
M_stu DW ? ;第M个学号首个字节偏移地址
COUNTNINE DW 9 ;计数器
STR1 DB 13,10,'LuckyNumberIs:$' ;输出提示
STR2 DB 13,10,'LuckyStuNo.:$' ;输出提示
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
CALL COUNTNUM