汇编语言-理解下面的程序,完成对数据段中数据的从小到大排序,并输出

问题描述

理解下面的程序,完成对数据段中数据的从小到大排序,并输出

输出功能块label2我已给出,通过CALL和RET实现调用。

DATAS SEGMENT
DB 2,5,6,8,3,7,4,9,2,6,1
DATAS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX

 ;输出原来排序
 mov  cx, 9
 mov  bx,0
 call label2
 ;把DATAS中的数从小到大排序

 ;换行
 mov dl, 10
 MOV  AH,6
 INT  21H
 mov dl, 13
 MOV  AH,6
 INT  21H
 ;输出新排序
 mov  cx, 9
 mov  bx,0
 call label2

 MOV  AH,4CH
 INT  21H

 ;输出排序子程序

label2:

mov dl, [bx]
add dl, 30H
MOV AH,6
INT 21H
INC BX
loop label2
ret

CODES ENDS
END START

时间: 2024-08-02 23:34:57

汇编语言-理解下面的程序,完成对数据段中数据的从小到大排序,并输出的相关文章

数据表中数据的管理

 下面介绍如何操作数据表中的数据.向数据表中插入数据     1. 向导师信息表中插入数据    (1)在图7.19所示的快捷菜单中选择[表数据编辑器]选项,出现如图7.21所示的界面.可以按照二维表格输入数据.    (2)单击按钮可以查看输入的数据对应的SQL代码.    (3)数据输入完毕后,单击按钮可以完成数据的插入.    (4)上述过程对应的SQL代码如下.    ―――――――――――――――――――――――――――――――――――――    INSERT INTO "SCOTT&

vs 中Insert数据数据库中数据不变化

问题描述 ExecuteNonQuery执行后返回为1,但数据库中的数据不变化,而且执行两次还报错提示数据已经存在,在数据库中用新建查询执行时数据又被插入进去了....是不是设置上的问题啊?还是数据库的问题?求解释 解决方案 解决方案二:你重启下数据库看看,估计是插入成功的解决方案三:那肯定是成功了....你可以在数据库里...新建个查询...用select语句查看一下解决方案四:刷新数据库表就可以看到了解决方案五:我刷新该数据库,提示此数据库没有有效的dbo用户......后面提示要创建什么数

操作系统-对于程序分为代码段和数据段的一些疑问?

问题描述 对于程序分为代码段和数据段的一些疑问? 以前初学C,java时,都被告知代码被分为什么段,什么段. 现在学了操作系统和编译原理之后. 突然就想到了, 程序被编译后分为数据段和代码段等其它段. 数据段存放数据,代码段存放编译之后的指令. 那么编译器将程序中定义的变量和数据放在数据段的相应位置,其地址都是逻辑地址. 即编译器编译的时候给了每个程序一个物理地址空间,里面的地址都是逻辑地址. 然后当程序运行时,就分配给程序相应地空间和PCB形成一个进程,当进行需要某个变量时就通过对逻辑地址进行

调试-汇编语言将数据段内容读入寄存器的方法

问题描述 汇编语言将数据段内容读入寄存器的方法 请问同样是一条指令,为什么在debug模式下可以取出数据段的数据,但是用debug追踪指令的时候就不行了? 解决方案 http://www.cnblogs.com/technology/archive/2010/05/16/1736782.html 解决方案二: 没有看到有异常. 楼主说不行了,是什么意思?

gdn-要求在一个 0 级代码段中将源数据段中的一段数据传输到目标数据段中段描述符均放臵在全局描述符表 GDT 中。

问题描述 要求在一个 0 级代码段中将源数据段中的一段数据传输到目标数据段中段描述符均放臵在全局描述符表 GDT 中. 这个怎么弄啊 要求在一个 0 级代码段中将源数据段中的一段数据传输到目标数据段中.其中所有 段的段描述符均放臵在全局描述符表 GDT 中. 解决方案 具体来说可以这么实现: 在程序开始声明一个数据段? DSEG?,来描述这三个段的描述符,其中有代码段描述符CODEM,源数据段描述符 DATAS 和目标数据段描述符 DATAD,将它们相应的选择子分别定义为 CODEM_SEL,

数据段、代码段、堆栈段、BSS段的区别

最近在复习一些以前的知识点,整理了一些相关的基本概念,以下的概念网上有博客已经提出了,在此我将这些知识点进行总结: 5个数据段        进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等.不过进程对这些内存的管理方式因内存用途 不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的.对任何一个普通进程来讲,它都会涉及到5种不同的数据段. Linux进程的五个段 下面我们来简单归纳一下进程对应的内存空间中所

不刷新页面查询数据库中数据的方法--XML方法

我在作asp程序时经常遇到这种情况: 将数据库中的数据(如所有雇员名)列在列表框中,程序要求进行选择其中一项或多项提交到下一个页面. 但麻烦的是如果数据(如雇员)过多,会给客户的选择带来麻烦--要从很长的列表中进行数据定位.最好的解决方法是用户在选择前采用模糊查询的方式进行数据定位,准确找出需要选择的雇员名,再选择.提交. 问题出现在我们程序员面前:如何不刷新页面筛选从数据库中筛选数据.本人的方法有两种: 1.采用双列表框的方法 2.采用XML方法 本文主要介绍第二种方法:采用XML的解决方法

同步可以理解为保持多个设备中数据一致

文章描述:同步技术的应用趋势. 年中Apple发布了icoud,基于原有的MobileMe功能全新改写而成,提供了原有的邮件.日历和联络人同步功能.可见其中重要的功能就是同步,越来越多的手机和应用程序中都在应用同步,那同步的技术原理和未来应用趋势是什么呢? 同步可以理解为保持多个设备中数据一致,需求可能来源于以下几种常见场景: 1.用户频繁地使用USB导入和导出数据,比如图片.电影和音乐等文件数据. 2.用户需要保证多设备之间的数据一致,随时调用最新的数据.多人也可以协同编辑同一文件. 3.设备

在Jsp程序读取或向DB写入数据乱码解决办法

js|程序|解决|数据 在Jsp程序读取或向DB写入数据乱码解决办法 在基于JAVA的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号.这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题.以前我也经常为这个问题而苦恼,后来经查了些资料,终于解决了,我知道一定有很多朋友也会碰到这个问题,所以特就总结了一下,来拿出来让大家一起分享了.1.在网页中输出中文.JAVA在网络传输中使用的编码是"ISO-8859