数据块间的数据传送程序

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

 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    ENDS
11 CODE    SEGMENT
12     ASSUME    CS:CODE,DS:DATA,SS:STACK1
13 START:    MOV    AX,DATA
14     MOV    DS,AX
15     MOV    BL,30H            ;设置计数器(计0个数)
16     MOV    CX,LEN            ;设置计数器(传送条件)
17     MOV    SI,V1            ;SI指向源块首址
18     MOV    DI,V2            ;DI指向目的块首址
19     CMP    SI,DI            ;比较两块首址,选择不同传送方式
20     JA    J2
21     ADD    SI,LEN-1
22     ADD    DI,LEN-1
23 J1:    MOV    AL,[SI]
24     MOV    [DI],AL
25     CMP    AL,30H
26     JNE    J01
27     INC    BL
28 J01:    DEC    SI
29     DEC    DI
30     DEC    CX
31     JNE    J1
32     JMP    DONE
33 J2:    MOV    AL,[SI]
34     MOV    [DI],AL
35     CMP    AL,30H
36     JNE    J02
37     INC    BL
38 J02:    INC    SI
39     INC    DI
40     DEC    CX
41     JNE    J2
42 DONE:    MOV    AH,2            ;显示0个数
43     MOV    DL,BL
44     INT    21H
45     MOV    AH,4CH            ;return DOS
46     INT    21H
47 CODE    ENDS
48     END    START

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

时间: 2024-07-31 07:38:54

数据块间的数据传送程序的相关文章

Mongodb支持关闭自动的分片和迁移功能,支持手动配置分片,数据块分裂和数据迁移

有相关资料,求分享

西门子PLC学习笔记十五-(数据块及数据访问方式)

一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的. 数据块分共享数据块.背景数据块.用户自定义数据块,下面分别介绍. 1.共享数据块(全局数据块) 其用于存储全局数据,所有逻辑块(OB.FC.FB)都可以访问共享数据块中的数据. 2.背景数据块(私有存储区) 其用做功能块(FB)的"存储器".FB的参数和静态变量安排在它的背景数据块中.

HDFS源码分析(三)-----数据块关系基本结构

前言 正如我在前面的文章中曾经写过,在HDFS中存在着两大关系模块,一个是文件与block数据块的关系,简称为第一关系,但是相比于第一个关系清晰的结构关系,HDFS的第二关系就没有这么简单了,第二关系自然是与数据节点相关,就是数据块与数据节点的映射关系,里面的有些过程的确是错综复杂的,这个也很好理解嘛,本身block块就很多,而且还有副本设置,然后一旦集群规模扩大,数据节点的数量也将会变大,如何处理此时的数据块与对应数据节点的映射就必然不是简单的事情了,所以这里有一点是比较特别的,随着系统的运行

实训24 功能块的生成与调用 注意功能块的背景数据块 变量表最左侧的地址是系统自动生成的。前面讲 功能块与功能的区别是 功能块不能一个扫描周期完成,本功能块例子 确实不是一个扫描周期能完成,例如判断转速超速 可能过了好多扫描周期

实训24 功能块的生成与调用 一定要注意 功能块的背景数据块中 最左侧的地址 是自动生成的. 我只需要在功能块的程序中输入 符号 名称 例如 start stop tof …….等等. 如下图 功能块 是用户编写的有自己存储区(背景数据块)的逻辑块. 功能块主要用于执行在一个扫描周期内不能结束的操作. TOF是timer 数据类型 属于输入局部变量. 本例程的输入参数TOF的数据类型为Timer(定时器),TOF的实参应该为定时器的编号 例如T1 PRESPEED 是静止变量 STAT 初始值是

Hadoop HDFS源码分析 关于数据块的类

Hadoop HDFS源码分析 关于数据块的类 1.BlocksMap 官方代码中的注释为: /** * This class maintains the map from a block to its metadata. * block's metadata currently includes blockCollection it belongs to and * the datanodes that store the block. */ BlocksMap数据块映射,管理名字节点上的数据

5.oracle的dump理解五 数据块理论

5.oracle的dump理解五 数据块理论 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51228514 前两篇描述了我们在操作层面看到的一些东西,但是没有理论指导,看到越多我们只会越迷糊.所以,蛤蟆从官方文档上摘取一些老少皆宜的内容来补脑. 块是数据块IO的最小单位. 1     数据块和操作系统块 从物理层面,数据库的块存储时候是由操作系统块组成.操作系统块是操作系统可以读写的最小数据单位.ORACLE块是一个逻辑存

Oracle数据块实现原理深入解读(转)

Oracle对数据库数据文件(datafile)中的存储空间进行管理的单位是数据块(data block).数据块是数据库中最小的(逻辑)数据单位.与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节(byte).每种操作系统都有一个被称为块容量(block size)的参数.Oracle每次获取数据时,总是访问整数个(Oracle)数据块,而不是按照操作系统块的容量访问数据. 数据库中标准的数据块(data block)容量是由初始化参数 DB_BLOCK_SIZE指定的.除此之外,用

[转]Oracle数据块体系的详细介绍

数据块概述Oracle对数据库数据文件(datafile)中的存储空间进行管理的单位是数据块(data block).数据块是数据库中最小的(逻辑)数据单位.与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节(byte).每种操作系统都有一个被称为块容量(block size)的参数.Oracle每次获取数据时,总是访问整个数(Oracle)数据块,而不是按照操作系统块的容量访问数据. 数据库中标准的数据块(data block)容量是由初始化参数 DB_BLOCK_SIZE 指定的.

数据块的内容和参数

数据块由3部分组成:块头部分.空闲区.数据区.随着数据量的增加,块头部分从上而下占据空闲区而数据区从下而上占据空闲区.当两部分接触时数据块就满了. 数据区:存储的是数据行,当插入数据时从下而上占据空闲区 块头部分:存储数据块的地址.表目录.行目录和事务槽,事务槽是在事务修改数据行时使用.头部从上而下占据空闲区 空闲区:位于数据块的中部,初始化时是连续的.但是随着删除修改操作使得空闲区碎片化.oracle服务器会根据需要合并空闲区. 一.oracle引入4个参数管理数据块 1.控制并行操作的参数: