高分汇编程序设计,高手来帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/09/26 02:17:30
设计一个汇编程序,由用户输入10个大写字符,按字母从大到小排序,并显示,高手帮帮忙,小弟急用!!!
C我会的,简单的很,我现在要汇编的,不是汇编的不要来回答好不!

有汇编和c转化的软件

for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{ t=a[i];a[i]=a[j];a[j]=t;}

这个C是对的不过你还少了点东西......
下面的汇编我倒是看的很对但是有点还是没有看明白....
你的意思是每次SI和DI都因该加2是在存储数据时占用的2个字节.

data segment
assume ds:data
buff db 11,?
db 11 dup(20h)
db '$'
data ends
code segment
assume cs:code
main proc far
mov ax,data
mov ds,ax
mov es,ax
mov dx,offset buff
mov ah,0ah ;注意21h号中断所得的字符串中
int 21h ;buff+2才是字符串首
mov ah,2
mov dl,0dh
int 21h
mov dl,0ah
int 21h

begin:
mov si,offset buff+1 ;判断buff所有元素是否都成了空格
mov cx,0 ;计算空格
up:inc cx
cmp cx,0ah ;
jz exit
inc si
cmp byte ptr [si],24h ;是否到了结尾
jz ok
cmp byte ptr [si],20h ;是否空格
jz up
ok:
mov si,offset buff+2
mov bl,0

next:
lodsb
cmp al,24h
jz show
cmp al,bl
j