串操作程序实验

来源:互联网 发布:诺基亚e63软件 编辑:程序博客网 时间:2024/04/29 12:56

一、 实习目的

掌握串操作程序设计的基本方针。

二、 实习内容

      将首地址DATA1按字节存储的数据块通过使用字符串操作将其移动到首地址为DATA2的数据块中。

三、 提示与说明

数据传递中注意:如果两个数据地址不重叠则可以按地址增量方式传送,也可以按地址减量方式传送。若重叠就须分析源程序首地址与目的块首地址关系,若源块首址低于目的首址,则只能按地址减量方式传送。反之,按地址增量方式传送。

注意:REPNEREP指令用法;区别SCASB用法。


DATA SEGMENT     DATA1 DB "HELLO","WORLD",'$';    DATA2 DB "THIS","IS","A","TIP",'$';    ADDR DW ?        STR1 DB 0AH,0DH,"FAILED",0AH,0DH,"$";    DATA ENDSCODE SEGMENT    ASSUME CS:CODE,DS:DATA    START:    MOV AX,DATA;    MOV DS,AX;    MOV ES,AX;这个很重要         MOV CX,16;    MOV AL,'$';        ONE:         MOV DI,OFFSET DATA1;       REPNE SCASB;          JZ TOW    LEA DX,STR1;    JMP DONE    TOW:    DEC DI    MOV ADDR,DI;    MOV CX,ADDR;     MOV BX,0;    CHAGE:     MOV DL, DATA1[BX];    MOV DATA2[BX],DL;     INC BX;    LOOP CHAGE    LEA DX,DATA2;     DONE:    MOV AH,9;    INT 21H;    MOV AX,4C00H;    INT 21H;    CODE ENDSEND START