Найти кол-во элементов больших х в численном массиве tasm - Assembler
Формулировка задачи:
Помогите сделать рабочую программу. Необходимо найти кол-во элементов больших х в численном массиве. Вот код, что я написал, но это прям не очень. Как делать не соображаю, только знаю что цикл с сравнением и увеличением счетчика на 1 можно сделать, но не знаю как.
.Model Small
.Data
n equ 10
y dw 0, 9, 3, 2, -4, 19, -19, 07, 7, -9
x dw 5
Codeseg
Start:
mov ax, @DATA
mov ds, ax
mov cx, n
mov si, [x]
cld
lodsw
mov [x], ax
sravni:
lodsw
cmp ax, [x]
ja zaxlopnis
mov [x], ax
mov ah, 9
Msg db 13,10,'Enter:','$'
zaxlopnis:
loop sravni
mov ax, 4c00h
int 21h
Stack 100
end startРешение задачи: «Найти кол-во элементов больших х в численном массиве tasm»
textual
Листинг программы
;FASM code............ org 100h jmp start mes0 db 'RESULT: $' y dw 0,9,3,2,4,19,1,7,6,8 x dw 5 start: mov ah,9 mov dx,mes0 int 21h mov cx,10 ; длина массива mov si,y ; его адрес mov bx,[x] ; фактор xor dx,dx ; счётчик найденных cycle: lodsw ; берём элемент из SI cmp ax,bx ; сравниваем с фактором jb miss ; пропустить, если меньше inc dx ; иначе: счётчик +1 miss: loop cycle ; мотаем СХ-раз.. xchg ax,dx ; АХ = счётчик aam ; распакованное BCD or ax,3030h ; переводим число в символы xchg ah,al ; int 29h ; xchg ah,al ; int 29h exit: xor ax,ax int 16h int 20h ; выход!