Форум программистов, компьютерный форум, киберфорум
Assembler: Windows/protected mode
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/40: Рейтинг темы: голосов - 40, средняя оценка - 4.98
1 / 1 / 0
Регистрация: 07.06.2015
Сообщений: 77

Как устранить ошибку компиляции "A2022: instruction operands must be the same size"?

15.12.2016, 19:28. Показов 7950. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
.686; Директива определения типа микропроцессора 
.Model flat, stdcall; задачи линейной модели памяти 
; И соглашения ОС Windows 
option casemap: none; отличие малых и больших букв
 
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\fpu.inc
include \masm32\include\user32.inc
include \masm32\include\msvcrt.inc
 
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\msvcrt.lib
includelib \masm32\lib\fpu.lib
 
.Data; директива определения данных 
_c dd 24 
sum dd 0 
max dd 0; запись в 32-разрядную ячейку памяти с именем op1 
temp dd 7 
frmt db "% d", 0 
buf db 50 dup (?) 
stdout DWORD ? 
stdin DWORD ? 
cRead dd ? 
mas1 dd 32 dup (0) 
nomer dd 0 
st1 db "Vvesty masiv:"
st2 db "Вывод результата перемещения", 0 
st3 db 10 dup (0) 
ifmt db "Максимальный элемент =% d. Строка% d перенена в конец массива", 0
 
.Code; директива начала кода 
_start: 
lea esi, mas1; загрузки адреса начала массива 
mov ecx, _c 
m1: 
mov ebx, ecx 
invoke GetStdHandle, STD_OUTPUT_HANDLE 
mov stdout, eax 
invoke GetStdHandle, STD_INPUT_HANDLE 
mov stdin, eax 
invoke WriteConsoleA, stdout, ADDR st1, 14, NULL, NULL; VIVOD ST1 
invoke ReadConsole, stdin, ADDR buf, 20, ADDR cRead, NULL; чтение числа как символ 
invoke crt_atoi, ADDR buf;превратить символ в число 
mov [esi], eax 
add esi, 4 
mov ecx, ebx 
loop m1 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
mov ecx, _c 
lea esi, mas1;загрузка адреса начала массива 
mov eax, [esi]; загрузки числа 
m3: 
.IF (eax > max); условие 
mov max, eax 
add esi, 4; расчет адреса нового числа 
mov eax, [esi] 
loop m3
 
.ELSE; иначе 
add esi, 4;расчет адреса нового числа 
mov eax,[esi] 
loop m3; перейти,если ecx и 0
 
.ENDIF; окончания директивы высокого уровня
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
mov ecx, _c 
lea esi, mas1; загрузки адреса начала массива 
mov eax, [esi]; загрузки числа 
m4:
 
.IF (eax == max); условие 
inc nomer; находим в каком месте находится максимальный элемент 
add esi, 4;расчет адреса нового числа 
mov eax, [esi] 
jmp m5 
loop m4
 
.ELSE; иначе 
inc nomer 
add esi, 4; расчет адреса нового числа 
mov eax, [esi] 
loop m4; перейти, если ecx и 0
 
.ENDIF; окончания директивы высокого уровня
 
m5: 
mov eax,nomer 
mov edx,0 
div temp; в регистре eax находится число строки - 1 
mov edx,0
 
.IF (eax == 0); условие 
mov ebx,24 
.ELSEIF (eax == 1); условие 
mov ebx,18 
.ELSEIF (eax == 2); условие 
mov ebx,12 
.ELSEIF (eax == 3); условие 
mov ebx,6 
.ENDIF 
mov ecx,6 
mov edx,ax 
shl edx,2 
add ebx,edx 
x1: lea esi,mas1; загрузки адреса начала массива 
mov edx,[Esi + eax * 4]; загрузки числа 
mov [esi + ebx],edx 
mov edx,0 
mov [esi],edx 
add esi,4 
loop x1 
jmp end_prog 
end_prog:
 
mov ebx,max 
inc eax
 
invoke wsprintf,\ 
ADDR st3,\ 
ADDR ifmt,\ 
ebx,ax 
invoke MessageBox, \ 
NULL, \ 
addr st3, \ 
addr st2, \ 
MB_OK 
invoke ExitProcess, 0 
ret 
end _start; окончания программы
Миниатюры
Как устранить ошибку компиляции "A2022: instruction operands must be the same size"?  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.12.2016, 19:28
Ответы с готовыми решениями:

Как устранить эту ошибку ри компиляции?
1>LINK : fatal error LNK1104: не удается открыть файл "OLDNAMES.lib"

DirectX и Code::Blocks, как устранить ошибку компиляции?
В общем у меня такая ситуация решил я тупо чужие примеры посмотреть и сразу же столкнулся с проблемой. У меня windows 10 ...

Ошибка: invalid instruction operands
Здравствуйте! Не могу устранить ошибку : error A2070: invalid instruction operands Подскажите, пожалуйста, что не так:( Код: ...

1
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
15.12.2016, 19:35
Лучший ответ Сообщение было отмечено Marty McFly как решение

Решение

попробуй
Assembler
108
mov edx,eax
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2016, 19:35
Помогаю со студенческими работами здесь

Invalid instruction operands, masm32
нужно пройтись по массиву. и найти количество элементов, которые входят в заданный промежуток. когда хочу сравнить элемент массива с...

Ошибка A2070: invalid instruction operands
Ребят, помогите пж - не могу понять в чём дело. Выдаёт ошибку А2070. .386 .model flat, stdcall option casemap:none include...

Error: invalid instruction operands masm32
ошибку выдает в 58 строке. не понимаю почему. .386 .model flat,STDCALL option casemap :none ;case sensitive include...

MASM 6.15 Error A2070 - invalid instruction operands
Добрый день! Ассемблер только начал изучать по книжкам. Столкнулся при трансляции программки с ошибкой, которой я озаглавил эту тему....

Mov ax,byte ptr[ESI] A2070: invalid instruction operands
mov ax,byte ptr A2070: invalid instruction operands Доброго вечера! Не понимаю!!! Полностю адекватная инструкция....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru