要求
在内部RAM30H开始的10个单元中连续存放着10个无符号随机数,编写一段程序,将这10个数中从大到小排列,存放在内部RAM40H开始的连续10个单元中。
将30H开头的10个单元格定义为TAB,将40H开头的10个单元格定义为TAB1。
思路是先将TAB中的数据复制到TAB1中,然后在进行冒泡排序。
代码:
DATAS SEGMENT
;此处输入数据段代码
ORG 0030H
TAB DB 2,4,9,6,3,5,7,0,8,1
ORG 0040H
TAB1 DB 10 DUP(?)
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
;TAB中的数据复制到TAB1中
MOV CL,10
LEA SI,TAB
LEA DI,TAB1
XOR BX,BX
LOP:MOV AX,[SI+BX]