试题详情
简答题编写程序,求20元素无符号字数组ARRAY中最小的奇数,存入ODD单元,如果不存在奇数,将ODD单元清零。
  • DATASEGEMNT
    ARRAY
    DW 56,12,88,126,5,16,32,99,72,18
    DW 116,34,92,32,156,42,816,16,15,218
    ODD DW ?
    DATA ENDS
    CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
    START:
    MOV AX,DATA
    MOV DS,AX
    MOV BX,0
    MOV ODD,65535;将65535假设为最小的奇数
    LEA SI,ARRAY
    MOV CX,20
    AGAIN:
    MOV AX,[SI]
    TEST AX,1;测试是否为奇数
    JZ SKIP;不是奇数跳过
    INC BX;记录奇数个数
    CMP AX,ODD;奇数与预设的最小奇数比较
    JGE SKIP;大于预设奇数,跳过
    MOV ODD,AX;小于预设奇数,保留
    SKIP:ADD SI,2
    LOOP AGAIN
    CMP BX,0;判有无出现过奇数
    JNZ DONE
    MOV ODD,0;未出现过,把ODD单元清零
    DONE://MOV AX,4C00H
    INT 21H
    CODEENDS
    END START
  • 关注下方微信公众号,在线模考后查看

热门试题