Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Лысков Игорь Витальевич
Статус: Специалист
Рейтинг: 216
∙ повысить рейтинг >>
Зенченко Константин Николаевич
Статус: Профессор
Рейтинг: 140
∙ повысить рейтинг >>
Шевченко Александр Владимирович
Статус: 3-й класс
Рейтинг: 23
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 1142
от 24.12.2008, 05:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 305, Экспертов: 19
В номере:Вопросов: 8, Ответов: 8

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 154857: Здравствуйте, профессиональные эксперты. Вопрос Лыскову Игорю Витальевичу. Помогите решить первое задание лабораторное работы №6: Написать и отладить программу, предусмотренную заданием, с использованием программного анализа флагов готовнос...


Вопрос № 154858: Здравствуйте, профессиональные эксперты. Вопрос Лыскову Игорю Витальевичу. Помогите решить второе задание лабораторное работы №6: Изменить первую программу таким образом, чтобы процессор реагировал на готовность ВУ с помощью подсистемы прер...
Вопрос № 154861: В данном коде реализована программа вывода системной даты и времени...она работает, но не так ка хотелось бы...помогите сделать, чтоб она выводилась в следущем формате пример: 11 часов 30 минут 25 секунд 17 декабря 2008 года чтоб оканчани...
Вопрос № 154894: Уважаемые эксперты помогите решить задание по ассемблеру на тему програмирование циклов.. №19 Если число нулевых элементов поля 02bd-02da четно, тогда в ячейку с адресом 02аа поместить 200(в 10 системе счисления)...
Вопрос № 154895: Уважаемые эксперты помогите решить задание по ассемблеру на тему програмирование циклов. a) В поле байт с 0200 по 02а2 найти сумму всех элементов, меньше 3 и поместить ее в регистр Dx. b) В 25 ячейках отстоящих друг от друга через 2 бай...
Вопрос № 154900: Помогите сделать пожалуйста!!Объединить ASCIIZ-строки с адресами в AX и DX в одну по адресу в АХ. Признаком конца строки является нулевой ASCII-символ. Делал оператором movsb только заменяет строку ...
Вопрос № 154905: Здравствуйте! Помогите пожалуйста в решении следующей задачи: Составьте программу, которая преобразует исходный массив, содержащий символы “ ” (пробел), в масси в без пробелов. Исходный массив содержит 16 однобайтных символов. В про...
Вопрос № 154935: Помогите пожалуйста с программой. Очень нужно сдать зачет <img src="http://rusfaq.ru/images/Forum/72.gif" border="0"> вот собственно задание: разработать комплекс подпрограмм для шифрации/дешифрации. Первая подпрограмма шифрует, для этого очер...

Вопрос № 154.857
Здравствуйте, профессиональные эксперты. Вопрос Лыскову Игорю Витальевичу.
Помогите решить первое задание лабораторное работы №6:

Написать и отладить программу, предусмотренную заданием, с использованием программного анализа флагов готовности ВУ.

Вариант №7.

Заранее - спасибо.
Отправлен: 18.12.2008, 17:26
Вопрос задал: Соболев Сергей Владимирович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Соболев Сергей Владимирович!
Решение, подробнейшим образом прокомментированное, в приложении

Приложение:

---------
Удачи!

Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
Ответ отправлен: 19.12.2008, 17:50

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239075 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Блестяще! Спасибо Вам огромное.


    Вопрос № 154.858
    Здравствуйте, профессиональные эксперты. Вопрос Лыскову Игорю Витальевичу.
    Помогите решить второе задание лабораторное работы №6:

    Изменить первую программу таким образом, чтобы процессор реагировал на готовность ВУ с помощью подсистемы прерывания.

    Вариант №7.

    Заранее - спасибо.
    Отправлен: 18.12.2008, 17:26
    Вопрос задал: Соболев Сергей Владимирович (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 5)

    Отвечает: Лысков Игорь Витальевич
    Здравствуйте, Соболев Сергей Владимирович!
    Решение с прерываниями.

    Приложение:

    ---------
    Удачи!

    Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
    Ответ отправлен: 19.12.2008, 19:09

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239078 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вопрос № 154.861
    В данном коде реализована программа вывода системной даты и времени...она работает, но не так ка хотелось бы...помогите сделать, чтоб она выводилась в следущем формате
    пример:
    11 часов 30 минут 25 секунд
    17 декабря 2008 года
    чтоб оканчания менялись..( 1 час 31 минута 1 секунда)..
    Заранее признателен..

    Приложение:

    Отправлен: 18.12.2008, 17:33
    Вопрос задал: Angel1731 (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 3)

    Отвечает: Лысков Игорь Витальевич
    Здравствуйте, Angel1731!
    Позвольте предложить свой вариант

    Приложение:

    ---------
    Удачи!

    Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
    Ответ отправлен: 20.12.2008, 03:53

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239121 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 154.894
    Уважаемые эксперты помогите решить задание по ассемблеру на тему програмирование циклов..
    №19
    Если число нулевых элементов поля 02bd-02da четно, тогда в ячейку с адресом 02аа поместить 200(в 10 системе счисления)
    Отправлен: 18.12.2008, 19:55
    Вопрос задал: Домиров Андрей Aлексеевич (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Лысков Игорь Витальевич
    Здравствуйте, Домиров Андрей Aлексеевич!
    Код:
    mov si,2bdh ;начальный адрес
    mov cx,1eh ; количество
    xor dx, dx ; число нулевых элементов
    iLoop: ;цикл
    lodsb ; читаем очередной байт
    cmp al,0 ;сравниваем с 0
    jne next ; не 0 - обходим
    inc dx ; считаем нулевые байты
    next:
    loop iLoop ; по всем
    test dx,1 ; младший бит 1 - нечетнное число
    jnz exit ; ничего не делаем
    mov ds:[2aah], 200 ; пишем 200
    exit:

    ---------
    Удачи!
    Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
    Ответ отправлен: 19.12.2008, 05:40

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239026 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 154.895
    Уважаемые эксперты помогите решить задание по ассемблеру на тему програмирование циклов.
    a)
    В поле байт с 0200 по 02а2 найти сумму всех элементов, меньше 3 и поместить ее в регистр Dx.
    b)
    В 25 ячейках отстоящих друг от друга через 2 байта - числа.Найти их сумму и умножить на 3.Результат поместить в ячейку с адресом 02А2.
    Отправлен: 18.12.2008, 19:58
    Вопрос задал: Домиров Андрей Aлексеевич (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Лысков Игорь Витальевич
    Здравствуйте, Домиров Андрей Aлексеевич!
    a)
    Код:
    mov si, 200h ; начальный адрес
    xor dx,dx ; здесь будем накапливать сумму
    xor ax,ax ; нам важно ah=0
    mov cx,0a3h ; количество элементов
    iLoop: начало цикла
    lodsb ; читаем очередной в al
    cmp al, 3 ; сравним с 3
    jae next ; >= обходим
    add dx, ax ; иначе складываем в DX
    next:
    loop iLoop ; на повтор

    б)
    Код:
    mov si, 200h ;какой-то там начальный адрес
    mov cx, 25 ; счетчик байт
    xor ax, ax ; подготовим регистр AX
    xor dx, dx ; сумма
    iLoo p: ;цикл
    mov al,[si] ; читаем очередной в al
    add si, 3 ; смещаем на следующий элемент
    add dx,ax ; накапливаем сумму
    loop iLoop ; по всем
    mov ax,dx ; ax = dx (вместо умножения на 3)
    shl ax,1 ; ax = dx*2
    add ax,dx ; ax = dx*3
    mov ds:[2a2h],ax ; сохраним в ячейке

    ---------
    Удачи!
    Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
    Ответ отправлен: 19.12.2008, 05:33

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239025 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 154.900
    Помогите сделать пожалуйста!!Объединить ASCIIZ-строки с адресами в AX и DX в одну по адресу в АХ. Признаком конца строки является нулевой ASCII-символ. Делал оператором movsb только заменяет строку
    Отправлен: 18.12.2008, 20:38
    Вопрос задал: Artem--ua (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 3)

    Отвечает: Лысков Игорь Витальевич
    Здравствуйте, Artem--ua!
    Примерно так. Сначала ищем конец первой, потом добавляем вторую.
    Предполагаем, что ES указывает на сегмент данных
    Код:
    mov di, ax ; адрес сроки, куда добавляем
    mov al,0 ; ищем конечный нулевой байт
    mov cx,0ffffh ; заведомо большая величина
    repne scasb ; ищем al в es:di
    dec di ; теперь di показывает на 0
    mov si, dx ; адрес второй строки
    copy_loop: копируем
    lodsb
    stosb
    cmp al,0 ; проверим на последний 0
    jne copy_loop

    ---------
    Удачи!
    Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
    Ответ отправлен: 19.12.2008, 05:18

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239023 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Спасибо!


    Вопрос № 154.905
    Здравствуйте! Помогите пожалуйста в решении следующей задачи:

    Составьте программу, которая преобразует исходный массив, содержащий
    символы “ ” (пробел), в массив без пробелов. Исходный массив содержит 16 однобайтных символов.

    В программе необходимо исполькозвать строковые функции. Если можно откоментируйте код.

    Заранее благодарен
    Отправлен: 18.12.2008, 20:54
    Вопрос задал: Byebye (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Лысков Игорь Витальевич
    Здравствуйте, Byebye!
    Примерно так:
    Код:
    model .tiny
    .data
    iarray db 'cvb ccx fgh s d' ;исходный массив
    oarray db 16 dup (?) ;результирующий

    .code
    lea si, iarray ;адрес исходного массива
    lea di, oarray ;адрес результирующего
    mov cx,16 ; число байт
    iLoop: ;циклим по байтам
    lodsb ; al = [si], si=si+1
    cmp al,' ' ; пробел?
    je next ; обойдем
    stosb ; "непробел" копируем
    next:
    loop iLoop ; прдолжим
    mov ax,4c00h ;выход
    int 21h

    ---------
    Удачи!
    Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
    Ответ отправлен: 19.12.2008, 05:07

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239022 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 154.935
    Помогите пожалуйста с программой. Очень нужно сдать зачет
    вот собственно задание:
    разработать комплекс подпрограмм для шифрации/дешифрации. Первая подпрограмма шифрует, для этого очередной элемент ищется в таблице и заменяется на порядковый номер совпавшего табличного элемента. Вторая подпрограмма дешифрует информацию используя ту же таблицу. Размер элемента информации 4 тетрады(тетрада это полбайта)
    заранее огромное спасибо
    Отправлен: 19.12.2008, 02:27
    Вопрос задал: Токарев Дмитрий Сергеевич (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Trulala
    Здравствуйте, Токарев Дмитрий Сергеевич!

    TASM программа для ДОС

    Приложение:

    Ответ отправил: Trulala (статус: 3-й класс)
    Ответ отправлен: 22.12.2008, 21:31

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239355 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2008, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное