任务描述
本关任务:编写一个能统计数组中奇数偶数数量的小程序。
编程要求
在寄存器RSI
中存放了一个字节型数组的地址,数组中存放有多个数据,均为非负数。在寄存器AX
中则存有这个数组的长度。
请编写代码,在数据段中定义一个字节型变量Result
,长度为**2
个字节,然后统计这个数组中的奇数和偶数的数量,将偶数数量放入变量第一个字节,奇数数量放入变量第二个字节**。
输入数据由评测系统读取,并存放到指定寄存器中,程序运行结果也由评测系统读取并输出,学员只需要实现任务逻辑即可。
测试说明
平台会对你编写的代码进行测试:
测试输入:03000204
预期输出:0300
测试输入:020102
预期输出:0101
测试输入的前两个字符是数组的长度的十六进制表示,之后每两个字符组成一个十六进制数,代表数组中的值。
section .data
Result db 0,0
Count:
mov cx, ax
tes:
mov al, byte [rsi]
and al, 0x01
mov rdi, Result
jz even
inc rdi
even:
mov ah, byte [rdi]
inc ah
mov byte [rdi], ah
inc rsi
loop tes
ret