помогите пожалуста,а то в армию придётся топать(((

Тема в разделе "Другие", создана пользователем deni, 11 дек 2008.

  1. deni

    deni Гость

    что-то нужно подправить,а я не понимаю что...не бум-бум в ассемблере :(




    data segment
    NB db 04h, 07h, 14h, 23h, 04h,38h, 3Fh, 2Ah0Dh, 34h
    data ends
    code segment
    assume cs: code. ds:data
    START: mov ax, data
    mov ds, ax ; Загрузить сегментный адрес данных
    lea bx, NB ; bx-текущий адрес массива NB
    mov cx, 10 ; cx-счетчик числа итераций
    BEG: mov al, [bx] ; считать очередной байт массива
    test al, 1b ; установлен ли бит 0?
    jz BITOCLR ; нет, бит 0 сброшен
    ; бит 0 установлен
    test al, 0ffh ; четное число единиц?
    jp OK ; да, больше ничего делать не надо
    or al, 80h ; нечетное дополнить до четного?
    jmp short OK
    ; бит 0 сброшен
    BITOCLR: test al, 0ffh ; четное число единиц?
    jnp OK ; нет, больше ничего делать не нужно
    or al,80h ; нечетное, дополнить до нечетного

    OK: mov [bx], al ; записать измененный байт массива
    loop BEG
    QUIT: mov ax, 4c00h ; Код завершения 0
    Int 21h ; Выход в DOS
    code ends
    end START


    Дан массив из 8 байт. Рассматривая его, как массив из 64 бит, посчитать количество пар единиц в окружении нулей. Конец последовательности рассматривать как нуль.
     
Загрузка...
Похожие Темы - помогите пожалуста то
  1. limbra
    Ответов:
    3
    Просмотров:
    44
  2. NylevoiChelovek
    Ответов:
    4
    Просмотров:
    99
  3. Ruska132
    Ответов:
    34
    Просмотров:
    269
  4. gURaBA_N
    Ответов:
    7
    Просмотров:
    147
  5. uxbmw3w
    Ответов:
    0
    Просмотров:
    62

Поделиться этой страницей