上机考试内容
B.1考题格式
根据上机考试要求,既要考察上机操作和编程能力,又要便于计算机规格化考试与评分,全国计算机等级考试三级PC技术上机考题的一般格式如下所示,考生只要在BEGIN和END区间根据考题要求完成编程或填充必要的指令,或修改整个程序中存在的错误,然后进行汇编、连接并运行程序,最终产生正确的结果,即可以达到上机考试目的。
;PROG1.ASM
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20 ;需输入的字节数
DSEG SEGMENT ;数据段
SOURCE DW N DUP(?) ;存放原始数据
RESULT DW N DUP(0) ;存放运算结果
NAME0 DB 'INPUT1.DAT',0 ;输入文件名
NAME1 DB 'OUTPUT1.DAT',0 ;输出文件名
DSEG ENDS
SSEG SEGMENT STACK ;堆栈段
DB 128 DUP (?)
SSEG ENDS
CSEG SEGMENT ;代码段
ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
LEA DX,SOURCE ;原始数据区首址送DX
LEA SI,NAME0 ;输入文件名首址送SI
MOV CX,2*N ;输入字节数送CX
CALL LOAD ;从"INPUT1.DAT"中读取数据
; **** BEGIN ****
┅ ;考生在此区间编程、完形填充
┅
; **** END ****
LEA DX,RESULT ;结果数据区首址送DX
LEA SI,NAME1 ;结果文件名首址送SI
MOV CX,N*2 ;结果字节数送CX
CALL SAVE ;保存结果到OUTPUT1.DAT
RET
START ENDP
CSEG ENDS
END START
上面的程序定名为PROG1.ASM,程序中用到的LOAD和SAVE子程序由IO.OBJ提供,它们的功能与入出口参数说明如下:
⑴ LOAD(FAR)
功能:从磁盘文件读取原始数据到内存缓冲区
入口:DS:SI 文件名首指针(文件名要求以00H结束)
DS:DX 内存缓冲区首址
CX 要读入的字节数
出口:CX 实际读入的字节数
若出现文件操作错误,则显示错误信息后中止程序运行
⑵ SAVE(FAR)
功能:将内存中程序运行结果存入磁盘文件
入口:DS:SI 文件名首指针(文件名要求以00H结束)
DS:DX 内存缓冲区首址
CX 要输出的字节数
出口:CX 实际输出的字节数
若出现文件操作错误,则显示错误信息后中止程序运行
因此,当PROG1.ASM经过汇编得到PROG1.OBJ文件以后,必须与IO.OBJ文件连接,才能生成PROG1.EXE文件。
需要说明的是,源程序经汇编、连接以后,即使没有发现错误,也不能说明运行PROG1.EXE一定会得到正确的结果。这是因为汇编、连接正确,只能说明语法没有错误,编程算法是否正确还需要进一步验证。如果不符合要求,必须利用DEBUG或TD动态程序调试工具,跟踪程序的执行,检查程序中的问题,最后才能得到满意的结果。
注意,经过上述汇编、连接以及调试后得到的PROG1.EXE文件必须再一次运行,才能提供输出文件OUTPUT1.DAT,否则计算机无法进行评分。