PC技术机试模拟试卷12(题后含答案及解析)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PC技术机试模拟试卷12(题后含答案及解析) 题型有:1. 程序设计题
程序设计题
1.请编制程序PROG1,ASM,其功能是:内存中连续存放着12个字节的数字ASCII码字符串,将它们转换成相应无符号数字,并在原第1、5、9个数字前插入一个24H数值。

将这20个数值存入RESULT指示的区域。

例如:源数:30H,31H,32H,33H,34H,35H,36H,…结果:24H,00H,01H,02H,03H,24H,04H,…部分程序已经给出,其中原始数据由过程LOAD 从文件INPUT1.DAT中读入SOURCE开始的内存元中,运算结果要求从RESULT 开始存放,由过程SA VE保存到文件OUTPUT1.DAT中。

填空BEGIN和END 之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令也可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生执行文件,最终运行程序产生结果。

调试中若发现整个程序中存在错误之处,请加以修改。

PROG1.ASM文件内容如下:EXTRN LOAD:FAR,SA VE:FAR NEQU16 STAC SEGMENT STACK DB 128 DUP(?) STAC ENDS DATA SEGMENT SOURCE DB NDUP(?) RESULT DB N+4DUP(0) NAME0 DB INPUT1.DAT’,0 NAME1 DB ‘OUTPUT1.DAT’,0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STAC START PROC FAR PUSH DS XORAX,AX PUSH AX MOV AX,DATA MOVDS,AX LEADX,SOURCE ;数据区起始地址LEASI,NAMEO ;原始数据文件名MOVCX,N ;字节数CALL LOAD ;从INPUT1.DAT文件中读取数据;* * * * BECIN * * * * ___________ MOVDI,0 MOVCX,4 MOVBX,_ INSER1:DEC BX JZ EXIT MOVRESULT[DI),0FFH ___________ MOVCX,4 CHAN:MOV AL,SOURCE[SI] ___________ MOVRESULT[DI],AL ___________ INCDI DECCX JZ ______ JMPCHAN EXIT:NOP ;* * * * END * * * * LKA DX,RESULT ;结果数据区首址LEA SI,NAME1 ;结果文件名MOV CX,N+4 ;结果字节数CALL SA VE ;保存结果到文件RET START ENDP CODE ENDS END START
正确答案:;* * * * BECIN * * * * * MOV SI,0 ;设源数据的下标初值MOV DI,0 MOV CX,4 MOV BX,4 ;设外循环的计数初值INSER1:DEC BX JZ EXIT MOV RESULT[DI],24H INC DI ;结果数据的下标值加 1 MOV CX,4 CHAN:MOV AL,SOURCE[SI] SUB AL,30H ;将当
前ASCII码转换为数值MOV RESULT[DI],AL INC SI ;源数据的下标值加1 1NC DI DEC CX JZ INSER1 ;判定内循环JMP CHAN EXIT:NOP ;* * * * END * * * *。

相关文档
最新文档