汇编网首页登录博客注册
masmaster的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
文章收藏

[2010-09-04 18:24] 习题3.38

设从地址F000:0000H的开始的内存区是缓冲区,存放一组单字节的正数,负数或零。请编写一个程序确定其中的最大正数和最小负数。

答:就是个排序。咦~???咋没说尺寸多大呀?! 得,就定1024字节吧
;-----------------------------------------------------
assume  cs:code
code    segment
start:
        mov ax,0f000h
        mov ds,ax
;求最大值,结果在DH中
        mov cx,1024
        mov bx,0
        mov dx,0
a:      mov al,[bx]
        cmp al,dh
        jge a1
        jmp j1
a1:     mov dh,al
j1:     inc bx
        loop a
;求最小值,结果在dl中
        mov cx,1024
        mov bx,0
        mov dx,0
b:      mov al,[bx]
        cmp al,dl
        jle b1
        jmp j2
b1:     mov dl,al
j2:     inc bx
        loop b

        mov ah,4ch
        int 21h
code    ends
end     start
;-----------------------------------------------------
评论次数(0)  |  浏览次数(304)  |  类型(汇编习题集) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码