80x86 汇编语言编程:移动平均处理

来源:互联网 发布:做淘宝客的步骤有哪些 编辑:程序博客网 时间:2024/05/29 14:57


将内存中SOURCE处的10个字节无符号数S(k)(k=1,2,,,,,10)

进行移动平均处理,处理方法为:


将S(k)(k=1,2,,,8)用{S(k)+S(k+1)+S(k+2)}/3代替(余数舍去),

而最后两个数不变。


处理结果存到RESULT处。


题目链接:http://zhidao.baidu.com/question/1989536007723552347


做而论道编程如下:         (今天 08:51 提问者采纳)


.MODEL SMALL

.STACK

.DATA

    SOURCE  DB  10H, 09H, 77H, 23H, 14H, 30H, 81H, 03H, 18H, 25H

    COUNT   EQU  $ - SOURCE

    RESULT  DB  COUNT DUP (?)

.CODE


.STARTUP


    MOV   AX, @DATA

    MOV   DS, AX


    MOV   SI, 0

    MOV   DI, 0

    MOV   CX, COUNT

    SUB   CX, 2

    MOV   BL, 3

LP:

    MOV   AL, SOURCE [SI]

    MOV   AH, 0

    ADD   AL, SOURCE [SI + 1]

    ADC   AH, 0

    ADD   AL, SOURCE [SI + 2]

    ADC   AH, 0


    DIV   BL


    MOV   RESULT[DI], AL


    INC   SI

    INC   DI


    LOOP  LP


    MOV   AL, SOURCE [SI]

    MOV   RESULT[DI], AL


    MOV   AL, SOURCE [SI + 1]

    MOV   RESULT[DI + 1], AL


.EXIT

    END


提问者评价:谢谢!


0 0