急!怎样用汇编语言中的右移指令写求16个8位无符数(30H到3FH)的平均值,储存在40H.

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:09:51

mov si,30h
xor bx,bx
xor ah,ah
mov cx,16
cld
addition:
lodsb
add bx,ax
loop addition
mov cx,3
shr bx,cl
mov [si],bl

解决问题是应该先从原理上分析,明白左右移位的意义是什么,会带来什么后果,试想一下,00001000(B)=8右移一位即00000100(B)=4,再移一位就是2了,也就是说每移n位相当于把原数除以2的n次方,剩下来的你就自己想办法了