Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

помогите решить задачу или просто киньте решение пожалуста или найдите ошибку у меня

42K
08 сентября 2008 года
neanabol
2 / / 08.09.2008
задание
в массиве переставить положительные элементы в обратном порядке

мой вариант решения - мож кто найдет ошибки

data segment
x dw 1,2,3,-9,-8,0,5,-6,4,5
nx dw 10
y dw 1,2,3,5,-5,0,6
ny dw 7
r dw ?
data ends

stack segment
stack ends

code SEGMENT
assume ds:data,cs:code,ss:stack
start:
mov ax,data
mov ds,ax

lea bx,x
mov di,nx
dec di
add di,di
call procedure1

lea bx,y
mov di,ny
dec di
add di,di
call procedure1

procedure1 proc near
c1:
cmp si,di
jnl m11

m1:
cmp [bx+si],0
jng m22

m2:
cmp [bx+di],0
jng m33

m3:
push cx
mov ax,[bx+si]
mov cx,[bx+di]
mov r,ax
mov ax,cx
mov cx,r
pop cx
sub cx,2
add si,2
sub di,2
jmp m11

m22:
add si,2
dec bx
jmp m11

m33:
sub di,2
dec bx

m11:

loop c1

ret

procedure1 endp

mov ah,4ch
int 21h

code ends
end start
42K
08 сентября 2008 года
neanabol
2 / / 08.09.2008
одну ошибку уже сам нашел
нужно вначале в регистр mov cx,nx
mov di,cx и т.д. так как loop должен работать с cx
602
08 сентября 2008 года
KPI Student
265 / / 16.12.2006
С удовольствием помогу, т.к. люблю асм, но при том условии, что будет указан компилятор, и отформатирован код. А если вы еще и комментраии соизволите добавить... Потому, как ломать глаза о кашу из сплошного Си-шного кода я иногда решаюсь, а вот каша из асма... берегу глаза.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог