+ -
当前位置:首页 → 问答吧 → 求助高手,用汇编,求10个8位无符号数平均值,并显示结果

求助高手,用汇编,求10个8位无符号数平均值,并显示结果

时间:2011-01-03

来源:互联网

用的是masm50环境

作者: 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