WMmail.ru - сервис почтовых рассылок

четверг, 31 марта 2011 г.

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

 
Если выпуск не отображается, вы можете прочесть его на сайте Отказаться от рекламы
  
  
  

  Мои подписки      Мои группы      Мои новости     
        Автор 
Калашников О.А.
      
  
Компьютеры и интернет   →   Софт   →   Программирование   →   RFpro.ru: Ассемблер? Это просто! Учимся программировать
  
RFpro.ru: Ассемблер? Это просто! Учимся программировать
 
 

Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

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

Лучшие эксперты данной рассылки

Boriss
Статус: Академик
Рейтинг: 2648
• повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2370
• повысить рейтинг »
vladisslav
Статус: 8-й класс
Рейтинг: 1333
• повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Assembler (Ассемблер)

Номер выпуска:1432
Дата выхода:31.03.2011, 16:00
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:216 / 67
Вопросов / ответов:1 / 1

Вопрос № 182623: Здравствуйте! Прошу помощи в следующем вопросе: Помогите с программой на ассемблере под ОС Windows XP на TASM. Условие задачи: Даны 4 числа, найти их сумму и разделить ее на 2^a. Числа задаются в программе и не какого ввода с клавиат...



Вопрос № 182623:

Здравствуйте! Прошу помощи в следующем вопросе:
Помогите с программой на ассемблере под ОС Windows XP на TASM. Условие задачи:
Даны 4 числа, найти их сумму и разделить ее на 2^a.
Числа задаются в программе и не какого ввода с клавиатуры не производится.

Заранее Большое Спасибо!!!!!!!!!

Отправлен: 25.03.2011, 18:19
Вопрос задал: Magma (Посетитель)
Всего ответов: 1
Страница вопроса »


Отвечает Лысков Игорь Витальевич (Старший модератор) :
Здравствуйте, Magma!
Два момента:
1) У Вас c, d, e байты, и Вы их складываете со словом AX (байт a Вы преобразовали в слово).
Тогда уже делайте так:
Код:
mov al, a
cbw
mov bx, ax
mov al, b
cbw
add bx, ax
;...

2)делить на 2^a надо сдвигом на a бит вправо

3)Вот Вам примерная программа.
Учтено, что байты b, c, d, e могут быть знаковыми числами
В результате получим частное в bx, остаток в ax

Код:

.model small
.stack 100h
.data

a db 2
b db 3
c db 5
d db 7
e db 4

.code

begin: mov AX, @data
mov DS, AX

mov al, b
cbw ;ax = b
mov bx, ax ;bx = b
mov al, c
cbw ;ax = c
add bx, ax ;bx = b + c
mov al, d
cbw ;ax = d
add bx, ax ;bx = b + c + d
mov al, e
cbw ;ax = e
add bx, ax ;bx = b + c + d + e

;разделим с остатком на 2^a
;найдем маску для остатка
mov cl, a ;cl = a
mov ax, 1 ;ax = 00000001b
shl ax, cl ;ax = 00000100b (для а = 2)
dec ax ;ax = 00000011b
and ax, bx ;остаток деления на 2^а = 4 будет число, "равное а последним битам&q uot;
sar bx, cl ;частное, как арифметический сдвиг вправо на а бит

mov ax, 4c00h
int 21h

end

-----
Люби своего ближнего, как самого себя

Ответ отправил: Лысков Игорь Витальевич (Старший модератор)
Ответ отправлен: 25.03.2011, 18:31
Номер ответа: 266400
Украина, Кировоград
Тел.: +380957525051
ICQ # 234137952
Mail.ru-агент: igorlyskov@mail.ru

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


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

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

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

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

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

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

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


     
     
    Комментировать выпуск
         В избранное

    Прошлые выпуски
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    30 марта 2011, 15:33
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    23 марта 2011, 07:33
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    22 марта 2011, 07:03

    Все выпуски рассылки
     
     

    Subscribe рекомендует
     
    Компьютеры и интернет  →   рассылки   и   группы
      
    Интернет для начинающих пользователей
    Группа начинающих пользователей Интернета. Советы, статьи, инструкции новичкам. Если вы недавно подключились к Интернету и у вас на счет него есть куча ...
    Темы: 1413   Участники: 6355
      Создание настроения на день
    Создавая рассылку "МентРа" (сокращение от Ментальная Разминка), я столкнулся с тем, что в каталоге Subscribe просто нет подходящей секции для рассылок, ...
    Темы: 69   Участники: 1832
      Свободный микрофон
    Вы готовы брать ответственность за каждую свою мысль, каждое своё слово и действие? Тогда, ДОБРО ПОЖАЛОВАТЬ в группу, в которой приветствуется: желание ...
    Темы: 527   Участники: 636
     
     
     
    Подписан адрес: admin10383.deep@blogger.com
    Код этой рассылки: comp.prog.assembler
    Архив рассылки
    Отписаться:  На сайте  Почтой
    Поддержка подписчиков
    Убрать рекламу
    Другие рассылки этой тематики
    Другие рассылки этого автора
     
    Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности

    Комментариев нет:

    Отправить комментарий