问题 填空题

下面的程序用来删除字符串’’AABA’’中第1个出现的由DAT单元指定的字符,删除字符后,后面字符前移,并在字符串尾部添加字符’’$’’(24H)。DSEG SEGMENT  BUF DB ’’AABA’’  CNT DW $-BUF  DAT DB 41H  DSEG ENDS  SSEG SEGMENT STACK  DB 256 DUP(0)  SSEG ENDS  CSEG SEGMENT  ASSUME DS:DSEG,SS:SSEG,CS:CSEG,ES:DSEG  START PROC FAR  PUSH DS  XOR AX,AX  PUSH AX  MOV AX,DSEG  MOV DS,AX  MOV ES,AS  CLD  LEA DI,BUF  MOV CX,CNT  MOV AL,DAT  REPNE SCASB  JE DEL  JMP EXIT  DEL: JCXZ FILL  NEXT: MOV BL,[DI]  MOV [DI-1],BL  INC DI  LOOP NEXT  FILL: MOV  【 】 ,24H  EXIT RET  START ENDP  CSEG ENDS  END START

请在横线处填充,使程序能达到预定的功能。

答案

参考答案:BYTEPTR[DI-1]#byteptr[di-1]

解析:该程序先在指定的字符中查找DAT指定的字符41H,若没有查到则该程序结束若找到则判断其在字符串中的位置删除该字符,并将后面的字符前移,根据题目要求在字符串结尾加上字符‘$’(24H)。空缺处完成的功能是在字符串结尾加上字符‘$’(24H)由于DI的属性是字类型,而操作数要求是字节类型,所以要改变操作数的属性。

问答题
多项选择题