内存单元连续存放的20个8位有符号数(补码)是由一个8位A/D转换器采集的双极性值的双极性信号(Xn),现有要求对该信号作如下限幅处理(处理后的信号记做Yn)。 a.Yn=-100 Xn<-100 b. Yn=Xn |Xn|

admin2012-03-05  34

问题 内存单元连续存放的20个8位有符号数(补码)是由一个8位A/D转换器采集的双极性值的双极性信号(Xn),现有要求对该信号作如下限幅处理(处理后的信号记做Yn)。
   a.Yn=-100     Xn<-100
   b. Yn=Xn       |Xn|<100
   c.Yn=100      Xn>100
   例如:Xn=68H,8EH,38H…
   Yn:64H,60H,9CH,38H…
   部分程序已经在PROG1.ASM中给出,请填空BEGIN到END之间已经给出的源程序,使其完整(空白已经用横线标出,每行空白一般只需要一条指令,但功能相当多条指令亦可)或删除BE GIN到END之间的原有代码并自行编写程序片段完成所需的功能。
   原有数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从 RESULT开始存放,由SAVE保存到OUT1.DAT文件。
   对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果(无结果或结果不正确均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。
   PROG1.ASM源程序如下:
   EXTRN              LOAD:FAR,SAVE:FAR
   N           EQU       20
   MAX-VAL     EQU       100
   STAG        SEGMENT   STACK
               DB        128  DUP(?)
   STAC        ENDS
   DATA        SEGMENT
   SOURCE      DB         N    DUP(?)
   RESULT      DB         N    DUP(?)
   NAME0       DB         INPUT1.DAT’,0
   NAME1       DB         ’OUTPUT1.DAT’,0,
   DATA        ENDS
   CODE        SEGMENT
   ASSUMEME    CS:CODE,DS:DATA,SS:STAC
   START       PROC       FAR
               PUSH       DS
               XOR        AX,AX
               MOV        AX,DATA
               MOV        DS ? AX
               LEA        DX, SOURCE    ; 数据区起始地址
               LEA        SI, NAME0     ; 原始数据文件名起始地址
               MOV        CX,N          ; 字节数
               CALL       LOAD          ; 从’INPUT1. DAT’中读取数据
    ;, * * * * BEGIN * * * *
               LEA        SI, SOURCE
               LEA        DI, RESULT
               _____
    NEXT:      MOV        AL, [SI]
               CMP        AL, - MAX - VAL
               ______     LESS
               CMP        AL, MAX - VAL
               ______
               MOV        AL, MAX - AL
               JMP        STORE
    LESS:      MOV        AL, - MAX - VAL
    STORE:     MOV        [DI], AL
               ______
               ______
               ______
    * * * * END * * * *
               LEA        DX,RESULT  ; 结果数据区首址
               LEA        SI,NAME1   ; 结果文件名起始地址
               MOV        CX,N       ; 字节数
               CALL       SAVE       ; 保存结果到“output1. dat" 文件中
               RET
    START      ENDP
    CODE       ENDS
               END        START

选项

答案;* * * * BDGIN * * * * LEA SI,SOURCE LEA DI,RESULT MOV CX,20 NEXT:MOV AL,[SI] CMP AL,-MAX-VAL JL IESS CMP AL,MAX-VAL JL STORE MOV AL,MAX-AL JMP STORE LESS: MOV AL,-;MAX-VAL STORE:MOV [DI],AL INCSI或ADDSI:1 1NC DI或ADD DI,1 LOOP NEXT ;* * * * END * * * *

解析
转载请注明原文地址:https://jikaoti.com/ti/PM27FFFM
0

相关试题推荐
最新回复(0)