题目内容

请编制程序,其功能是:内存中连续存放着16个二进制字节数,在原16个数的第4和第5个数之间插入00H,在原16个数的第8和第9个数之间插入55H,在原16个数的第12和第13个数之间插入AAH,在原16个数的最后加入FFH。将按上述方法插入4个字节数后得到的20个字节数存入内存中。 例如: 内存中有:10H,20H,30H,40H,50H,…,8FH(共16个字节) 结果为: 10H,20H,30H,40H,00H,50H,…,8FH,FFH(共20个字节) 部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。 请填空BEGIN和END之间已经给出的源程序使其完整,需填空处已经用横线标出,每个空白一般只需一条指令,也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。 对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。 [试题程序] EXTRN LOAD:FAR,SAVE:FAR N EQU 16 STAC SEGMENT STACK DB 128 DUP () STAC ENDS DATA SEGMENT SOURCE DB N DUP () INDATA DB 0FFH,0AAH,55H,00H RESULT DB N+4 DUP(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 XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX EA DX,SOURCE ; 数据区起始地址 OV CX,N ; 字节数 ALL LOAD ; 从’INPUT1.DAT’中读取数据 ******** BEGIN ******** (1) OV DI,0 OV CX,4 OV BX,4 CHAN: (2) OV RESULT[DI],AH (3) NC DI EC CX Z INSER1 MP CHAN INSER1: PUSH SI MOV SI,BX MOV AX,WORD PTR INDATA[SI-2] MOV RESULT [DI], (4) DEC BX JZ (5) MOV CX,04H (6) INC (7) JMP CHAN EXIT: POP SI ; ******** END ******** LEA DX,RESULT ; 结果数据区首址 LEA SI,NAME1 ; 结果文件名 MOV CX,N+4 ; 结果字节数 CALL SAVE ; 保存结果到文件 RET START ENDP CODE ENDS END START

查看答案
更多问题

机动车载物不得超过机动车行驶证上核定的载质量,装载长度、宽度超出车厢不得超过1米。

A. 对
B. 错

已持有大型货车驾驶证5年以上,并在申请前最近连续3个记分周期内没有满分记录,可以申请增加大型客车准驾车型。

A. 对
B. 错

If ______(give) the same treatment again, he is sure to get well.

He goes to see his parents in Wales once every six months.

A. 他六个月才去威尔士看他父母一次。
B. 他每六个月去成尔士看他父母一次。
C. 六个月中,他去威尔士看过她父母一次。
D. 他去威尔士看父母,一次就呆了六个月。

答案查题题库