【计算机类职业资格】三级PC技术机试-219及答案解析.doc

上传人:tireattitude366 文档编号:1320204 上传时间:2019-10-17 格式:DOC 页数:5 大小:30.50KB
下载 相关 举报
【计算机类职业资格】三级PC技术机试-219及答案解析.doc_第1页
第1页 / 共5页
【计算机类职业资格】三级PC技术机试-219及答案解析.doc_第2页
第2页 / 共5页
【计算机类职业资格】三级PC技术机试-219及答案解析.doc_第3页
第3页 / 共5页
【计算机类职业资格】三级PC技术机试-219及答案解析.doc_第4页
第4页 / 共5页
【计算机类职业资格】三级PC技术机试-219及答案解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、三级 PC技术机试-219 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.请编制程序 PROG1.ASM,其功能是:以 SOURCE开始的内存区域存放着多个字节的数据,其中有压缩 BCD码和其他数据。现按下列编码规则进行编码:在每个压缩 BCD码前面加两个字节前缀代码 BEH和 CCH,并在其后加两个字节后缀代码 DDH和 EDH;如果不是压缩 BCD码,则该数据前后均加两个代码 0DH和 0EH。编码后的数据存放到 RESULT指示的内存区域。例如:原信息为:12H,D9H,86H,54H,结果为:BEH,CCH,12H,DDH,EDH

2、,0DH,0EH,D9H,0DH,0EH,BEH,CCH,86H,DDH,EDH,BEH,CCH,86H,DDH,EDH,部分程序已给出,其中原始数据由过程 LOAD从文件 INPUT1.DAT中读入 SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放,由过程 SAVE保存到文件 OUTPUT1.DAT 中。填空 BEGIN和 END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除 BEGIN和 END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与 IO.OBJ链接产生 PROG1.EXE执行文件

3、,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:EXTRN LOAD:FAR, SAVE:FARN EQU 10STAC SEGMENT STACKDB 128 DUP (?)STAC ENDSDATA SEGMENTSOURCE DB N DUP(0)RESULT DB 5*N DUP(0)NAME0 DB INPUT1.DAT,0NAME1 DB OUTPUT1.DAT,0DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACSTART PROC FARPUSH DSXOR

4、 AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AX ; 置附加段寄存器LEA DX,SOURCE ; 数据区起始地址LEA SI,NAME0 ; 原始数据文件名MOV CX,N ; 字节数CALL LOAD ; 从 INPUT1.DAT中读取数据;* BEGIN *LEA SI, SOURCEMOV DI,OFFSET RESULTMOV CX,NCLP1: MOV AL, SIMOV BL,ALMOV AH,AL(1) AND AL,0FOH(2) MOV CL,4(3) POP CXCMP (4) JA CLP2CMP AH,9JA CLP2MOV (5)

5、 INC DIMOV BYTE PTRDI,0CCHINC DIMOV BYTE PTRDI,BLINC DIMOV BYTE PTRDI,0DDHINC DIMOV BYTE PTRDI,0EDHJMP CLP3CLP2: MOV BYTE PTRDI,0DHINC DIMOV BYTE PTRDI,0EHINC DIMOV BYTE PTRDI,BLINC DIMOV BYTE PTRDI,0DHINC DIMOV BYTE PTRDI,0EHCLP3: INC SIINC DI(6) ; * END *LEA DX,RESULT ; 结果数据区首址LEA SI,NAME1 ; 结果文件名

6、起始地址MOV CX,5*N ; 字节数CALL SAVE ; 保存结果到 OUTPUT1.DATRETSTART ENDPCODE ENDSEND START(分数:100.00)_三级 PC技术机试-219 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.请编制程序 PROG1.ASM,其功能是:以 SOURCE开始的内存区域存放着多个字节的数据,其中有压缩 BCD码和其他数据。现按下列编码规则进行编码:在每个压缩 BCD码前面加两个字节前缀代码 BEH和 CCH,并在其后加两个字节后缀代码 DDH和 EDH;如果不是压缩 BCD码,则该

7、数据前后均加两个代码 0DH和 0EH。编码后的数据存放到 RESULT指示的内存区域。例如:原信息为:12H,D9H,86H,54H,结果为:BEH,CCH,12H,DDH,EDH,0DH,0EH,D9H,0DH,0EH,BEH,CCH,86H,DDH,EDH,BEH,CCH,86H,DDH,EDH,部分程序已给出,其中原始数据由过程 LOAD从文件 INPUT1.DAT中读入 SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放,由过程 SAVE保存到文件 OUTPUT1.DAT 中。填空 BEGIN和 END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条

8、指令,但采用功能相当的多条指令亦可),或删除 BEGIN和 END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与 IO.OBJ链接产生 PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:EXTRN LOAD:FAR, SAVE:FARN EQU 10STAC SEGMENT STACKDB 128 DUP (?)STAC ENDSDATA SEGMENTSOURCE DB N DUP(0)RESULT DB 5*N DUP(0)NAME0 DB INPUT1.DAT,0NAME1 DB

9、 OUTPUT1.DAT,0DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AX ; 置附加段寄存器LEA DX,SOURCE ; 数据区起始地址LEA SI,NAME0 ; 原始数据文件名MOV CX,N ; 字节数CALL LOAD ; 从 INPUT1.DAT中读取数据;* BEGIN *LEA SI, SOURCEMOV DI,OFFSET RESULTMOV CX,NCLP1: MOV AL, SIM

10、OV BL,ALMOV AH,AL(1) AND AL,0FOH(2) MOV CL,4(3) POP CXCMP (4) JA CLP2CMP AH,9JA CLP2MOV (5) INC DIMOV BYTE PTRDI,0CCHINC DIMOV BYTE PTRDI,BLINC DIMOV BYTE PTRDI,0DDHINC DIMOV BYTE PTRDI,0EDHJMP CLP3CLP2: MOV BYTE PTRDI,0DHINC DIMOV BYTE PTRDI,0EHINC DIMOV BYTE PTRDI,BLINC DIMOV BYTE PTRDI,0DHINC DIM

11、OV BYTE PTRDI,0EHCLP3: INC SIINC DI(6) ; * END *LEA DX,RESULT ; 结果数据区首址LEA SI,NAME1 ; 结果文件名起始地址MOV CX,5*N ; 字节数CALL SAVE ; 保存结果到 OUTPUT1.DATRETSTART ENDPCODE ENDSEND START(分数:100.00)_正确答案:(1) AND AH,OFH (2) PUSH CX (3) ROR AL,CL(4) AL,9 (5) BYTE PTR DI,0BEH (6) LOOP CLP1)解析:解析 解题思路:识别是否为压缩 BCD码,若是,则利用堆栈的性质,在前面加 BEH和 CCH,在其后加 DDH和 EDH;若不是,则该数据前后均加 0DH和 0EH。最后编码后的数据存放到 RESULT指示的内存区域。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1