![](https://cos-cdn.shuashuati.com/pipixue-web/2020-1231-2005-12/ti_inject-812ce.png)
编制一个程序,其实现的功能为:内存中连续的10个无符号字节数,对其执行(X×7-5)÷8操作(X为内存中的数据,且X不等于0),将结果存入指定的内存区中。 例如: 内存中为:4FH,83H,34H… 则结果为:26H,40H,18H… 部分程序已经给出,原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从 RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空缺处已经用横线标出,空缺处一般只需要一条指令,但采用功能相当的多条指令也可以,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。 对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。 [试题程序] EXTRN LOAD:FAR,SAVE:FAR N EQU 10 DSEG SEGMENT SOURCE DB N DUP(?) RESULT DB N DUP(0) NAME0 DB 'INPUT.DAT',0 NAME2 DB 'OUTPUT.DAT',0 DSEG ENDS SSEG SEGMENT STACK DB 256 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 LEA SI,NAME0 MOV CX,N CALL LOAD ; ******** BEGIN ******** LEA SI,SOURCE LEA DI,RESULT MOV BX,N AGAIN: MOV AL,[SI] MOV DX,0 MOV DL,AL AND AX, (1) MOV CL,3 (2) AX,CL (3) SUB AX,5 MOV CL,3 (4) AX,CL MOV [DI],AL INC SI INC DI DEC BX (5) ; ****+**** END ******** LEA DX,RESULT LEA SI,NAME1 MOV CX,N CALL SAVE RET START ENDP CSEG ENDS END START