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

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


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

Лучшие эксперты в разделе

Лысков Игорь Витальевич
Статус: Мастер-Эксперт
Рейтинг: 0
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 0
∙ повысить рейтинг »
cain52
Статус: 3-й класс
Рейтинг: 0
∙ повысить рейтинг »

∙ Assembler

Номер выпуска:1778
Дата выхода:14.12.2020, 22:45
Администратор рассылки:Зенченко Константин Николаевич (Старший модератор)
Подписчиков / экспертов:86 / 25
Вопросов / ответов:1 / 1

Консультация # 199828: Здравствуйте! У меня возникли сложности с таким вопросом: что не так с D?
Data SEGMENT ;Открыть сегмент данных

A DB 5Ah ;Инициализировать

B DB 5
...

Консультация # 199828:

Здравствуйте! У меня возникли сложности с таким вопросом:
что не так с D?

Data SEGMENT ;Открыть сегмент данных

A DB 5Ah ;Инициализировать

B DB 55h ;переменные A, B, C, D, X

C DB 11h

D DB 5

X DW ?

Data ENDS ;Закрыть сегмент данных

Ourstack SEGMENT Stack ;Открыть сегмент стека

DB 100h DUP (?) ;Отвести под стек 256 байт

Ourstack ENDS ;Закрыть сегмент стека

ASSUME CS:Code, DS:Data, SS:Ourstack ;Назначить сегментные регистры

Code SEGMENT ;Открыть сегмент кодов

Start:

mov AX, Data ;Инициализировать

mov DS, AX ;сегментный регистр DS

xor AX, AX ;Очистить регистр AX

;умножим 3 на A

xor AX, AX ;Очистить регистр AX

mov AL, [A] ;поместим в регистр AL значение переменной A

mov BL, 3 ;Множитель 3 в регистр BL

mul BL ;умножим содержимое регистра AL на C

add AX, 48 ;прибавить к результату умножения 48

mov [X], AX ;возвращаем результат

xor AX, AX ;Очистить регистр AX

mov AL, [B] ;Делимое A в регистр AL(старший байт AX)

mov BL, [C] ;Делитель C в регистр BL

div BL ;Поделить

;умножим AX на D

mul D ;умножим содержимое регистра AX на D

SUB X, AX ;вычесть из Х результат умножения AX на D

mov AX, 4C00h ;Завершить программу

int 21h ;прерывание

Code ENDS ;Закрыть сегмент кодов

END Start ;Конец исходного модуля.

END Start ;Конец исходного модуля.

Дата отправки: 09.12.2020, 22:22
Вопрос задал: Александр (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Старший модератор):

Здравствуйте, Александр!

Не все компиляторы анализируют данные программы. И компилятор не знает какую команду сгенерировать 8-ти битную или 16-ти битную. Укажате явно нужный тип

mul byte ptr D


Удачи!

Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 14.12.2020, 11:47
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное