xp313995762 发表于 2008-6-22 01:42

向各位前辈请教~~

设数据段BUF单元开始有10个有符号的单字节数,其中必定有负数,找出其中真值最小的数,并显示在屏幕上。用汇编语言该怎么编?我每次编写都显示不了

xp313995762 发表于 2008-6-22 01:44

前辈教教我吧~~~~

守鹤 发表于 2008-6-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]

编程论坛