1 / 1 / 1
Регистрация: 26.06.2020
Сообщений: 2
1

Вычислить арифметическое выражение

26.06.2020, 07:38. Показов 1826. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Никак не могу понять, в какие регистры помещаются данные при умножении. Задача во вложении.
Название: 1212121212121212.PNG
Просмотров: 20

Размер: 3.2 Кб
Я мало, что понимаю, поэтому будет хорошо, если вы напишите комментарии к коду. Все, к чему я пришел на данный момент (пожалуйста, не смейтесь ):
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Data SEGMENT
    A DW 15h
    B DW 14
    C DW 10h
    D DW 7
    X DW ?
Data ENDS
Ourstack SEGMENT Stack
    DB 100h DUP (?)
Ourstack ENDS
ASSUME CS:Code, DS:Data, SS:Ourstack
Code SEGMENT
Start:
    mov AX, Data
    mov DS, AX
    xor AX, AX
    mov AL, A
    mov BL, B
    mov CL, C
    mov DL, D
    mul BL 
    mul DL 
    sub AX, CX
    mov BX, AX
    mul BX 
    mov AX, 4C00h
    int 21h
Code ENDS
END Start
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2020, 07:38
Ответы с готовыми решениями:

Вычислить арифметическое выражение
Если не трудно помогите реализовать такое уравнение.Нужен только код самого уравнения переменые...

Вычислить арифметическое выражение
Здравствуйте! Очень нужна помощь. Дали сложную курсовую работу по ассемблеру, но не преподавали...

Вычислить арифметическое выражение
помогите написать программу,которая выполнят сложение,умножения,деление и вычитание, при том...

Вычислить арифметическое выражение
Нужна помощь. Должен выдать ответ 12. А выдаёт 3 data segment A Db 5 ; A = 6 B Db 3 ; B = 4 D...

2
Модератор
Эксперт по электронике
8564 / 4412 / 1655
Регистрация: 01.02.2015
Сообщений: 13,704
Записей в блоге: 9
26.06.2020, 09:22 2
Лучший ответ Сообщение было отмечено artsrceta как решение

Решение

Вы же инженер, поэтому достаточно помнить о существовании справочников.
Например, о Электронный учебник
в главе 10 есть подразделы по инструкциям умножения - достаточно подробные.
1
1 / 1 / 1
Регистрация: 26.06.2020
Сообщений: 2
27.06.2020, 08:17  [ТС] 3
Лучший ответ Сообщение было отмечено ФедосеевПавел как решение

Решение

Спасибо за учебник. Пойду прочту.

Добавлено через 1 час 14 минут
Спасибо за ссылку. Прочел, понял, решил. Если кто будет искать, оставлю код с комментариями здесь.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Data SEGMENT
    A DW 15h
    B DW 14
    C DW 10h
    D DW 7
    X DW ?
Data ENDS
Ourstack SEGMENT Stack
    DB 100h DUP (?)
Ourstack ENDS
ASSUME CS:Code, DS:Data, SS:Ourstack
Code SEGMENT
Start:
    mov AX, Data
    mov DS, AX
    xor AX, AX
    mov AX, A ;Регистру AX присваивается значение переменной A
    mul B ;В регистр AX помещается значеник выражения A*B.
    ;Младший разряд — AX, старший — DX
    push AX ;Помещение результата в стек
    mov AX, C ;Регистру AX присваивается значение переменной C
    mul D ;D*C. Результат записывается в AX
    push AX ;D*C помещается в стек.
    ;Работает принцип LIFO (последний пришел — первый ушел)
    pop BX ;Помещается последнее значение из стека (D*C)
    pop AX ;Помещается первое значение из стека (A*B)
    sub AX, BX ;(A*B)-(D*C). Результат помещается в регистр AX
    mul AX ;Для нахождения квадрата от числа, умножаем его на само себя.
    ;Результат записывается в AX
    mov AX, 4C00h
    int 21h
Code ENDS
END Start
1
27.06.2020, 08:17
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.06.2020, 08:17
Помогаю со студенческими работами здесь

Вычислить арифметическое выражение
Помогите решить уравнение на ассемблер (4*b/c-1)/(12*c+a-b) a=1 b=2 c=1

Вычислить арифметическое выражение
Всем добрый день, помогите решить новичку в ассемблере. Знаний и понимания 0, а решить надо :-| ...

Вычислить арифметическое выражение
y=((14-4)/2)*(5+16/4)*((17+8/3)/(8/4+2*5)) Правильно ли написан код? mov ax,14 sub ax,4 div...

Вычислить арифметическое выражение
Функция Y= 3x3+5x2+7 Область определения функции x . ; multi-segment executable file template....

Вычислить арифметическое выражение
3. MAX(AX-DX, 128)-2*DX пояснения к 3 работе: MIN(a, b) - минимальное из a и b MAX(a, b) -...

Вычислить арифметическое выражение
Я в ассемблере полный чайник и по этому решение даже данной елементарной задачи мне не по силам. А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
В чем отличие между INNER JOIN и OUTER JOIN
bytestream 22.01.2025
В современных базах данных информация часто распределена между множеством взаимосвязанных таблиц, что делает операции объединения JOIN неотъемлемой частью работы с SQL. Эти операции позволяют. . .
Как сделать первую букву заглавной в JavaScript
bytestream 22.01.2025
JavaScript предоставляет разработчикам множество инструментов для эффективной работы с текстовыми данными. Одной из часто встречающихся задач при обработке строк является преобразование первой буквы. . .
Что такое Big O нотация и алгоритмическая сложность
bytestream 22.01.2025
Введение в алгоритмическую сложность В мире разработки программного обеспечения эффективность алгоритмов играет crucial роль в создании качественных приложений. Алгоритмическая сложность. . .
Как решать конфликты слияния (merge) в Git
bytestream 22.01.2025
Конфликты слияния в системе контроля версий Git возникают в ситуациях, когда две или более ветки разработки содержат несовместимые изменения в одних и тех же участках кода. Эти конфликты представляют. . .
Как использовать регулярные выражения
bytestream 22.01.2025
Регулярные выражения представляют собой мощный инструмент для работы с текстовыми данными, который позволяет осуществлять поиск, проверку и манипуляцию строками на основе определенных шаблонов. Этот. . .
Как выйти из Vim
bytestream 22.01.2025
Vim (Vi IMproved) представляет собой один из самых влиятельных текстовых редакторов в истории компьютерной индустрии, эволюционировавший из своего предшественника Vi, созданного Биллом Джоем в 1976. . .
NoSQL базы данных: что это такое и какие существуют
bytestream 22.01.2025
В современную эпоху цифровой трансформации объемы данных растут экспоненциально, создавая новые вызовы для традиционных систем управления базами данных. NoSQL (Not Only SQL) представляет собой. . .
Обновление исследования от команды MCM (январь 2025 г.)
Programma_Boinc 22.01.2025
Обновление исследования от команды MCM (январь 2025 г. ) Мы продолжаем изучать молекулярные сигнатуры, связанные с раком легких, с текущим фокусом на GCM1, факторе транскрипции, участвующем в. . .
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru