Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.22.119.251] |
|
Сообщ.
#1
,
|
|
|
Есть 2 цикла for, а именно след:
for (j= k-1; j<m-k+1; j++) // первый цикл { .....} for (j=(m-k-1);j>=(k-1);j--) //второй {.....} их надо переделать под асм, я пробовал сам и вот что вышло : mov si, f ; si = k -1 mov bx, m mov dx, k sub bx, dx inc bx ; bx = m - k +1 mov cx, bx @for1: ..... loop @for1 ; это 1 цикл второй что-то у мя не выходит, да и первый что-то мне подсказывает что не верный))). Компилятор tasm.))) Помогите из- за этого не могу прогу доделать :/ |
Сообщ.
#2
,
|
|
|
ну вродь так должно быть
mov si, f ; si = k - 1 mov bx, m mov dx, k sub bx, dx inc bx ; bx = m - k + 1 @for1: .... inc si cmp si,bx jl @for1 ;переход если меньше ;---------------------------- mov si,m sub si,k dec si ; si = m - k - 1 mov bx,f ; bx = k - 1 @for2: .... dec si cmp si,bx jge for2 ;переход если больше или равно только не забудь что здесь короткие прыжки в приделах 128 байт loop работает с регистром CX а ты вродь хотел j закинуть в si... |