Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ассемблер _ Циклические и разветвляющиеся программы

Автор: Rocket 28.09.2008 23:43

Вот начал изучать Assembler. Как-то смутно всё, примеров наглядных нет, а прожку нужно вот написать, хотя должно быть она довольно лёгкая. СОбственно задача: дан массив из 10 знаковых чисел( байт),
найти в массиве кол-во чисел, больших 12h и меньших 0Afh.
Немного начал писать:


data segment
mass db 10,24,76,4,-34,81,-24,70,124,97
kol db ?
data ends
code segment
assume cs:code, ds:data
start: mov ax, data
mov ds, ax
lea bx, mass
mov cx, 10
mov ax, [bx]




Автор: andriano 29.09.2008 11:42

Хочу заметить, что ВСЕ однобайтовые знаковые числа меньше 0AFh.

Автор: Rocket 4.10.2008 21:07

Вот что у меня получилось:


data segment
mass db 121, 29, 34, 44, 51, 26, 37, 48, 79, 105
kol db ?
data ends
code segment
assume cs:code, ds:data
start: mov ax, data
mov ds, ax
lea bx, mass
mov cx, 10
mov ax, [bx]
mov dx, 12h

beg: cmp [bx], dx

jl no
inc al

no: inc bx
loop beg

quit:
mov kol, al
mov ax, 4c00h
int 21h
code ends
end start




В чём ошибки?