1 / 1 / 0
Регистрация: 08.12.2015
Сообщений: 60
1
FASM

Не работает код именно при этих значениях переменных, если значения меньше, то работает.Не могу понять причину

02.12.2019, 17:17. Показов 1361. Ответов 6

Не работает код именно при этих значениях переменных, если значения меньше, то работает.Не могу понять причину
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
format PE GUI 5.0
include 'C:\Users\user\Desktop\fasmw17121\INCLUDE\win32a.inc'
entry start
section '.data' data readable writeable
A db 1
B db 0
C db 0
D db 127
E db 127
Caption db 'Сообщение',0
forma db 'Результат вычисления: %d',0
string db 30 DUP (?)
section '.code' code readable executable
start:
mov AL,[C]
cmp AL,[A]
jg m1
xor EAX,EAX
mov AL, [B]
mul [B]
xor EBX,EBX
mov BL,[E]
sub BL,AL
xor EAX,EAX
mov AL,[D]
xor EDX,EDX
div [A]
xor ECX,ECX
mov CX,AX
mov AX,CX
mov DL,3
mul DL
add BL,Al
jmp f2
m1:
xor EAX,EAX
mov AL,[B]
mul [B]
xor ECX,ECX
mov CL,AL
xor EAX,EAX
mov AL,[A]
div CL
xor EBX,EBX
mov BL,AL
xor EAX,EAX
mov AL,[C]
mul [C]
mul [C]
div [E]
xor ECX,ECX
mov CL,Al
xor EAX,EAX
mov AL,[D]
mul [D]
sub BL,Cl
add BL,Al
invoke wsprintf, string, forma, EBX
invoke MessageBox,0,string,Caption,MB_OK
invoke ExitProcess,0
f2:
invoke wsprintf, string, forma, EBX
invoke MessageBox,0,string,Caption,MB_OK
invoke ExitProcess,0
section '.idata' import data readable writeable
library kernel32,'KERNEL32.DLL', user32,'USER32.DLL'
include 'C:\Users\user\Desktop\fasmw17121\INCLUDE\API\kernel32.inc'
include 'C:\Users\user\Desktop\fasmw17121\INCLUDE\API\user32.inc'
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2019, 17:17
Ответы с готовыми решениями:

Не могу понять алгоритм. Как именно он работает
Не могу понять сам алгоритм. Как именно он считает. Само задание: дано n блоков, какое...

Не могу понять почему не работает. Создаю игру Пятнашки. И ничего у меня не работает. И ошибки при запуске выдает
Не могу понять почему не работает. Создаю игру Пятнашки. И ничего у меня не работает. И ошибки при...

Поиск минимального элемента в массиве, который не меньше N, функция не работает при некоторых значениях
Функция должна находить минимальный элемент в массиве, который больше N. Допустим массив 6, 8, 3,...

Не могу понять почему код не работает так, как нужно. При выводе weight не выполняется функция void eat(float how_much)
#include <iostream> #include <string> using namespace std; class Worker { private: float...

6
Эксперт быдлокодинга
2086 / 520 / 68
Регистрация: 04.11.2010
Сообщений: 1,296
02.12.2019, 19:28 2
У меня работает
Не работает код именно при этих значениях переменных, если значения меньше, то работает.Не могу понять причину
1
1 / 1 / 0
Регистрация: 08.12.2015
Сообщений: 60
02.12.2019, 22:32  [ТС] 3
Там по формуле должно 508 получиться, а с результатом что то непонятное происходит
0
Эксперт быдлокодинга
2086 / 520 / 68
Регистрация: 04.11.2010
Сообщений: 1,296
03.12.2019, 06:34 4
Цитата Сообщение от EMFO Посмотреть сообщение
Там по формуле
Формула наверное секретная...
1
1 / 1 / 0
Регистрация: 08.12.2015
Сообщений: 60
06.12.2019, 13:00  [ТС] 5
Неее, не секретная) Там есть условие С>A, если оно истинно, то должна выполняться формула: A/B^2-C^3/E+D^2,а если не истинно (как в моем случае), то должна выполняться эта формула: E-B^2+3D/A. И вот при таких значениях, результат по второй формуле считает криво, почему так, не могу понять уже какой день, поэтому вот обратился за помощью к знающим людям)
0
Эксперт быдлокодинга
2086 / 520 / 68
Регистрация: 04.11.2010
Сообщений: 1,296
06.12.2019, 13:53 6
Лучший ответ Сообщение было отмечено EMFO как решение

Решение

Цитата Сообщение от EMFO Посмотреть сообщение
почему так, не могу понять уже какой день,
Может быть потому что итоговое сложение происходит в регистрах размером в байт?
Мне кажется, что предполагаемый результат в байте никак не уместится.
2
1 / 1 / 0
Регистрация: 08.12.2015
Сообщений: 60
08.12.2019, 17:54  [ТС] 7
Да, вы абсолютно правы, большое спасибо!
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2019, 17:54

Не работает, код, не могу понять почему
Очень нужно, срочно, но не могу найти ошибку! Unit Matrix; interface uses Windows,...

Не могу понять почему не работает код
Вот задача https://sochisirius.ru/uploads/files2/Ochniy_otbor.pdf название E. Международная...

Не могу понять почему код не работает
Здравствуйте! Было дано задание: Напишите функцию, которая - называется IsPalindrom -...

не могу понять почему не работает мой код
#include<iostream> #include"cstring" using namespace std; struct Spisok { char...

Не могу понять как работает этот код в деталях
dg1->Rows->Clear();//Очищяет в датагриде строки ifstream infile...

Объясните почему этот код работает не верно при больших значениях
#include <inttypes.h> unsigned long long int rowSumOddNumbers(uint32_t n) { unsigned long...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.