注册 登录
编程论坛 汇编论坛

向各位前辈请教~~

xp313995762 发布于 2008-06-22 01:42, 902 次点击
设数据段BUF单元开始有10个有符号的单字节数,其中必定有负数,找出其中真值最小的数,并显示在屏幕上。用汇编语言该怎么编?我每次编写都显示不了
2 回复
#2
xp3139957622008-06-22 01:44
前辈教教我吧~~~~
#3
守鹤2008-06-22 14:14
data    segment
  buf    db    2,3,5,-1,-6
  count    dw    5
data    ends
code    segment
  assume    cs:code,ds:data
start:
    mov ax,data
    mov ds,ax
    mov si,offset buf
    mov cx,count
    xor ax,ax
         l1: cmp  al,[si]
    jle   next
    mov  al,[si]
   next: inc  si    
    loop   l1
    cmp  al,0
    jge   outp
         neg  al
         mov  bl,al
    mov dl,'-'
    mov ah,02
    int    21h
   outp: mov  dl,bl
    add  dl,30h
    mov ah,02
    int 21h
    mov ah,4ch
         int   21h
code  ends
end   start
    
这是单个数字的计算,对于多个数字的计算
只需显示时做一些处理:你应该会的
多位数显示为十进制还是十六进制,根据用户的需要
1