(1)、定义八个元素数组
(2)、统计数组中第一个元素的1的个数,并将其存放到变量num中
(3)、将数组排序
(4)、将排序后的最后一个元素以十六进制输出屏幕
求代码。刚刚学,真的不知道该怎么入手。谢谢了
急急急急
------解决方案--------------------------------------------------------
- Assembly code
assume cs:code,ds:datadata segmentarray db 15,65,1,2,3,6,9,10 num db 0 data ends;code segmentstart: 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 numjx1: loop x;将数组排序。(有好的,暂时没想出来) mov cx,7 mov si,offset arrayy: push cx mov di,si inc diy1: mov al,[si] cmp al,[di] jb jx2 xchg al,[di] mov [si],aljx2: inc di loop y1 inc si pop cx loop y;以十六进制显示数组最后元素的值 mov dx,0 mov dl,[si] mov cx,2z: 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 z2z1: add dl,30h mov ah,2 int 21hz2: pop dx pop cx loop z; mov ah,4ch int 21hcode endsend start
------解决方案--------------------------------------------------------
分而治之,化繁为简。