汇编语言编程将其中的数字按奇数偶数分开怎么编?

2024-11-02 16:36:42
推荐回答(1个)
回答1:

DATA SEGMENT
ARM DB 1,2,3,4,5,6,7,8,9,10,11
COUNT EQU $-ARM
QISHU DB COUNT DUP(?) ;这里预留11个字节单元存放奇数
OUSHU DB COUNT DUP(?) ;预留11个字节单元存放偶数
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET QISHU ;QISHU首地址的偏移量存入BX
MOV DI,OFFSET OUSHU ;OUSHU首地址的偏移量存入DI
MOV SI,OFFSET ARM ;要处理的数组ARM首地址的偏移量存入SI
MOV CL,COUNT ;设置循环次数
LOP: MOV AL,[SI] ;循环体
INC SI
TEST AL,01H ;测试字节数的最低位是否为1。如果为1,则该数为奇数;
JZ LOP1 ;如果为0,则该数为偶数
MOV [BX],AL ;奇数依此存入QISHU中
INC BX
JMP LOP2
LOP1: MOV [DI],AL ;偶数依此存入OUSHU中
INC DI
LOP2: LOOP LOP
MOV AH,4CH
INT 21H
CODE ENDS
END START