На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> преобразования 2 циклов for , нужна помощь просто в преобразовании 2 циклов for
    Есть 2 цикла for, а именно след:
    ExpandedWrap disabled
      for (j= k-1; j<m-k+1; j++) // первый цикл
      { .....}
      for (j=(m-k-1);j>=(k-1);j--) //второй
      {.....}

    их надо переделать под асм, я пробовал сам и вот что вышло :
    ExpandedWrap disabled
      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.))) Помогите из- за этого не могу прогу доделать :/
    Сообщение отредактировано: Qraizer -
      ну вродь так должно быть
      ExpandedWrap disabled
        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...
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0186 ]   [ 15 queries used ]   [ Generated: 26.04.24, 07:21 GMT ]