Найти кол-во элементов больших х в численном массиве 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 ; выход!
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д