Консультация № 199828
09.12.2020, 22:22
0.00 руб.
0 3 1
Здравствуйте! У меня возникли сложности с таким вопросом:
что не так с 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 ;Конец исходного модуля.

Обсуждение

давно
Старший Модератор
31795
6196
10.12.2020, 21:40
общий
Адресаты:
Код:
mul byte ptr D 
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
11.12.2020, 22:01
общий
Адресаты:
помогло?
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
14.12.2020, 11:47
общий
это ответ
Здравствуйте, Александр!

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


Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа