首页 > 代码库 > 数据块间的数据传送程序

数据块间的数据传送程序

数据块移动。将一个连续存储单元的数据移动到另一个连续的存储单元,并找出其中零的个数并显示出来。(注意在编程的时候要确保数据块位置的不确定性)

 1 DATA    SEGMENT 2 ORG    $+20H 3 VA    DB    2014001002003004    ;数据块 4 LEN    EQU    $-VA            ;数据块长度 5 V1    DW    VA            ;源块首址 6 V2    DW    VA+1            ;目的块首址 7 DATA    ENDS 8 STACK1    SEGMENT    STACK 9     DW    20H    DUP(0)10 STACK1    ENDS11 CODE    SEGMENT12     ASSUME    CS:CODE,DS:DATA,SS:STACK113 START:    MOV    AX,DATA14     MOV    DS,AX15     MOV    BL,30H            ;设置计数器(计0个数)16     MOV    CX,LEN            ;设置计数器(传送条件)17     MOV    SI,V1            ;SI指向源块首址18     MOV    DI,V2            ;DI指向目的块首址19     CMP    SI,DI            ;比较两块首址,选择不同传送方式20     JA    J221     ADD    SI,LEN-122     ADD    DI,LEN-123 J1:    MOV    AL,[SI]24     MOV    [DI],AL25     CMP    AL,30H26     JNE    J0127     INC    BL28 J01:    DEC    SI29     DEC    DI30     DEC    CX31     JNE    J132     JMP    DONE33 J2:    MOV    AL,[SI]34     MOV    [DI],AL35     CMP    AL,30H36     JNE    J0237     INC    BL38 J02:    INC    SI39     INC    DI40     DEC    CX41     JNE    J242 DONE:    MOV    AH,2            ;显示0个数43     MOV    DL,BL44     INT    21H45     MOV    AH,4CH            ;return DOS46     INT    21H47 CODE    ENDS48     END    START
View Code

两种传送方式分别对应两种情况。

数据块间的数据传送程序