Я взял ввод в массив.Затем я попытался напечатать четные числа в массиве.Я получил вывод, как и ожидалось, но я получаю дополнительные цифры после печати результата.Например, предположим, что мой массив равен 1,2,3, вывод равен
200000000000 ...
и продолжается.
Мой код:
include emu8086.inc
org 100h
define_scan_num
define_print_num
define_print_num_uns
.model small
.stack 100h
.data
a dw ?
b dw 50 dup(?)
z dw ?
.code
main proc
mov ax, @data
mov ds,ax
call scan_num
printn ""
mov a,cx
mov bx,1
for1:
push cx
call scan_num
printn ""
mov b[bx],cx
add bx,2
pop cx
loop for1
mov bx,1
mov cx,a
for2:
mov ax, b[bx]
mov dx,0
mov z,2
div z
cmp dx,0
je even
jne odd
loop for2
jmp skip
even:
mov ax,b[bx]
call print_num
printn ""
add bx,2
jmp for2
odd:
add bx,2
jmp for2
skip:
ret
main endp
end main