169 похожих чатов

Подскажите, где смотреть результат выполнения программы? Код: ;.686

;Система команд процессора 686
;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный
;вызов процедуры
;option casemap:none ;Режим при котором заглавные и
;строчные буквы не различаются

comment * --- Это многострочный комментарий
Условие задачи:Вычислить арифметические выражения для x и y.
Вычисления в байтах. *----

.XLIST
include \masm32\include\masm32rt.inc
; Обеспечивает подключение всех необходимых функций
; и макросов.

.LIST ; Директивы .XLIST и .LIST обеспечивают правильное
; формирование листинга программы
.DATA ; Директива описания начала раздела инициализированных данных.
a dw 4
b dw 3
c1 dw 13

.DATA? ;Директива описания начала раздела неинициализированных данных.
x dw ?
y dw ?
; Выражения для Х и У
; (c-5)^2 + ca ba^2 - c(21+x)
; x:= --------------; y:= -------------;
; b + 21 (a-b)^2 114(x+a)-920

.CODE ;Директива описания начала сегмента кода.
lab1: ;Это метка, в нашей программе определяет точку
;входа - стартовый адрес

; Вычисление x
; ((c-5)^2 + ca) / (b + 21 (a-b)^2)
mov ax, c1 ; ax = c
sub ax, 5 ; ax = c - 5
imul ax, ax ; ax = (c-5)^2
mov bx, a ; bx = a
imul bx, c1 ; bx = ca
add ax, bx ; ax = (c-5)^2 + ca

mov bx, a ; bx = a
sub bx, b ; bx = a - b
imul bx, bx ; bx = (a - b)^2
imul bx, 21 ; bx = 21 * (a - b)^2
add bx, b ; bx = a + (a - b)^2
cwd
idiv bx ; ax = ax / bx
mov x, ax ; x = ax

; Вычисление y
; (ba^2 - c(21+x)) / (114(x+a)-920)
mov ax, b ; ax = b
imul ax, a ; ax = ab
imul ax, a ; ax = a^2 * b
mov bx, x ; bx = x
add bx, 21 ; bx = 21 + x
imul bx, c1 ; bx = c(21 + x)
sub ax, bx ; ax = b * a^2 - c1 * (21 + x)

mov bx, x ; bx = x
add bx, a ; bx = x + a
imul bx, 114 ; bx = 114(x + a)
sub bx, 920 ; bx = 114(x + a) - 920
cwd
idiv bx ; ax = ax / bx
mov y, ax ; y = ax

exit ;это макрос, который вызывает функцию ExitProcess, которая
;возвращает управление операционоой системе
end lab1 ;Это директива ассемблера - определяет точку входа.

5 ответов

90 просмотров
Егор-Анелькин Автор вопроса

В visual studio

Егор Анелькин
В visual studio

тогда не знаю, разбирайся

Егор Анелькин
В visual studio

как вариант найди строки где у тя присваивается значение памяти, посмотри какой адрес у тя в дизассемблере для х и для у. и в дампе сделай переход на этот/эти адреса

Егор-Анелькин Автор вопроса
Aiwan \ (•◡•) / _bot
как вариант найди строки где у тя присваивается з...

Пытался наводить на значения регистров, вдруг результат будет, но что-то оно не хочет

Егор-Анелькин Автор вопроса

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
86
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
@rouse_79 а ты не знаешь простого способа определить что приложение запущено из под среды delphi?
Михаил
16
Я тут пытаюсь переработать архитектуру подсистемы памяти ядра во что-то осмысленное. Есть pmm, который создает набор range’ей(пока что только для ядра, потом для юзерспейса), ...
Evg Resh
19
Обязательно ли смена методологии обучения алфавиту при смене алфавита(реформе письменности) - нет. А при смене глиненых табличек на попирус, нужно ли менять методологию обучен...
Spiker01
8
Скажите, можно ли как-то "переместить" динамический массив из одной переменной в другую? Скажем, переместить из TList<> в TArray<>. Именно переместить, а не скопировать. Если ...
Eugene Krasnikov (ᴊɪɴ x)
37
Карта сайта