回 帖 发 新 帖 刷新版面

主题:初学汇编




data segment
stu  dw 12,34,9,10,45,88,79
max  dw ?
at   dw ?
mes1 db 13,10,'max=$'

data ends

prog segment
main proc far
     assume csrog,ds:data,es:data
startush ds
      sub  ax,ax
      mov  ds,ax
      push ax
      mov ax,data
      mov ds,ax
      mov es,ax
      mov cx,7
      mov bx,0
            
      mov ax,stu[bx]
loop1:
      dec cx
      cmp cx,0
      je  input     
      add bx,2
      mov dx,stu[bx]
      cmp ax,dx
      ja loop1
      jb change     

change:
      mov  si,8  
     
      sub  si,cx
    
      xchg ax,dx
      jmp  loop1
                 

input:
      mov  max,ax
      mov  at,si
            
      lea  dx,mes1
      mov  ah,9
      int  21h
      
      lea  dx,max
      mov  ah,9
      int  21h
      
    
      
      lea  dx,at
      mov  ah,9
      int  21h
   
      
      mov  ah,4ch
      int  21h    

            
      
main endp
prog ends
     end start

[img]http://images.blogcn.com/2005/11/27/9/forever406,20051127164158.jpg[/img]

回复列表 (共5个回复)

沙发

顶顶

板凳

同学,还是不行啊。

明天就给老师检查了。。。各位大哥大姐,帮帮忙啊。

3 楼

你可能是想要得数?
我给你个显示四位十六进制数的print_4_bits(al)
print_4_bits proc near
push ax
push dx
add al,30h
cmp al,3ah
jb _lok_1
add al,7
_lok_1:
mov dl,al
mov ah,2
int 21h
pop dx
pop ax
ret
print_4_bits endp

4 楼

16bit:
print_al_hex proc near
mov cl,4
rol al,cl
call print_4_bits
rol al,cl
call print_4_bits
rol al,cl
call print_4_bits
rol al,cl
jmp print_4_bits
print_al_hex endp
32bit:......................

5 楼

100

我来回复

您尚未登录,请登录后再回复。点此登录或注册