+ -
当前位置:首页 → 问答吧 → 菜鸟求教一个简单的问题

菜鸟求教一个简单的问题

时间:2011-12-19

来源:互联网

(1)、定义八个元素数组
(2)、统计数组中第一个元素的1的个数,并将其存放到变量num中
(3)、将数组排序
(4)、将排序后的最后一个元素以十六进制输出屏幕

求代码。刚刚学,真的不知道该怎么入手。谢谢了

急急急急

作者: showlovetous   发布时间: 2011-12-19

Assembly code
assume    cs:code,ds:data
data    segment
array    db    15,65,1,2,3,6,9,10 
num    db    0                  
data    ends
;
code    segment
start:
    mov ax,data                
    mov ds,ax
;统计0号元素1的个数
    mov si,offset array        
    mov cx,8                  
    mov al,[si]                
x:
    rol al,1                   
    jc x1                      
    jmp jx1                    
x1:
    inc num
jx1:
    loop x
;将数组排序。(有好的,暂时没想出来)
    mov cx,7    
    mov si,offset array
y:    
    push cx
    mov di,si
    inc di
y1:
    mov al,[si]
    cmp al,[di]
    jb jx2
    xchg al,[di]
    mov [si],al
jx2:
    inc di
    loop y1

    inc si
    pop cx
    loop y
;以十六进制显示数组最后元素的值
    mov dx,0
    mov dl,[si]
    mov cx,2
z:
    push cx
    mov cl,4
    rol dl,cl
    push dx
    and dx,0fh
    cmp dl,0ah
    jb z1
    add dl,37h
    mov ah,2
    int 21h
    jmp z2
z1:
    add dl,30h
    mov ah,2
    int 21h
z2:
    pop dx
    pop cx
    loop z
;
    mov ah,4ch
    int 21h
code    ends
end    start

作者: masmaster   发布时间: 2011-12-19