DATAS SEGMENT
VAR1 DB 7
VAR2 DB 199 DUP(0)
MOD DB 107
CNT DB 0
NUM DW 200
SUMODD DW 0
DATAS ENDS
STACKS SEGMENT
DW 200H DUP(0)
TOP LABEL WORD
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,ES:DATAS,SS:STACKS
START:
MOV AX, DATAS
MOV DS, AX
MOV ES,AX
MOV AX,STACKS
MOV SS,AX
LEA SI,VAR1
MOV CX,NUM
DEC CX
L: PUSH CX
MOV CX,1
MOV AL,[SI]
L0: ADD AL,[SI]
LOOP L0
ADD AL,9
MOV AH,0
DIV MOD
INC SI
MOV [SI],AH
POP CX
LOOP L
MOV CX,NUM
LEA SI,VAR1
MOV BX,0
L1:
MOV AL,[SI]
CBW
SHR AX,1
JNC L2;是偶数跳过
INC CNT
MOV AL,[SI]
CBW
ADD BX,AX
L2:
INC SI
LOOP L1
MOV SUMODD,BX
MOV AH,4CH
INT 21H
CODES ENDS
END START
结果如下图所示,奇数个数为67H,奇数和为1505H