+ -
当前位置:首页 → 问答吧 → 求10个8位无符号数平均值,并显示结果 求救!!!

求10个8位无符号数平均值,并显示结果 求救!!!

时间:2011-01-03

来源:互联网

微机原理实验 一直困扰着我 大家都不会搞!!

作者: zhl3486   发布时间: 2011-01-03

data segment
 shu db 10,20,30,40,50,60,70,80,90,100
 count EQU $-shu
data ends
code segment
assume cs:code,ds:data
 start:  
  mov ax,data
  mov ds,ax
  lea bx,shu
  mov si,bx
  inc si
  mov cx,count
  dec cx
  mov al,[bx]  
  mov ah,0
  S: add al,[si]  
  adc ah,0  
  inc si
  loop s
  mov bl,count
  div bl
   
   
int 21h
  mov ax,4c00h
  int 21h
  code ends
  end start
   
  这是求平均数

-------------------------
assume cs:code,ds:data,ss:stack  
  data segment  
  dw 10 dup(?) ;10字缓冲区  
  data ends  
  stack segment  
  dw 20 dup(0)  
  stack ends  
  code segment  
start:  
  mov ax,stack  
  mov ss,ax  
  mov sp,20  
  mov ax,data  
  mov ds,ax  
  mov si,0 ;SI指向缓冲区首地址  
  mov al,'$'  
  mov ah,0  
  push ax ;为以后输出字符串做准备  
  mov cx,1 ;CX记录入栈次数  
  mov ax,1000101011b  
  mov dx,0 ;ax,dx存放被除数  
  mov di,10 ;除数  
  S:div di  
  add dx,30h  
  push dx  
  inc cx ;入栈次数+1  
  mov dx,0  
  cmp ax,0  
  jz over  
  jnz S
over:pop ax  
  mov [si],al  
  add si,1  
  loop over  
   
  mov ah,09h  
  int 21h  
  mov ax,4c00h  
  int 21h  
 code ends  
 end start
 这是2化10屏幕输出 连接一下吧

作者: znxllyuan   发布时间: 2011-01-03

2化10屏幕输出
 肯定是没错的 ax中存放要转换的数
 
 上面的那个我没测试

 如果你不会把两个程序合并 
我可以帮你

作者: znxllyuan   发布时间: 2011-01-03

我也贴一个。
Assembly code
;
;This Program Compiled Sucess by Masm 5.0
;
assume    cs:code,ds:data
data    segment
num    db    10,20,30,40,50,60,70,80,90,100
data    ends
code    segment
start:
    mov ax,data
    mov ds,ax
    xor ax,ax
    mov bx,offset num
    mov cx,10
sum:
    add al,[bx]
    adc ah,0
    inc bx
    loop sum
;
    mov cl,10
    div cl    
;
        xor ah,ah
    mov dx,ax
    call dispdec
;
    mov ah,4ch
    int 21h
;input:dx
dispdec    proc 
    push ax
    push bx
    push cx
    push dx
;
    mov ax,dx
    xor dx,dx
    mov bx,10
    mov cx,0
d1:
    cmp ax,10
    jb ok
    div bx
    add dl,30h
    push dx
    xor dx,dx
    inc cx
    jmp d1
ok:
    add al,30h
    push ax
    inc cx
d2:
    pop dx
    mov ah,2
    int 21h
    loop d2
;
    pop dx
    pop cx
    pop bx
    pop ax
    ret
dispdec    endp
;
code    ends
end    start



作者: masmaster   发布时间: 2011-01-03