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

Несмотря на подключение masm32.inc и masm32.lib не подтягиваются функции stdin и stdout

15.12.2016, 01:15. Показов 2864. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно скрин.
Миниатюры
Несмотря на подключение masm32.inc и masm32.lib не подтягиваются функции stdin и stdout  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.12.2016, 01:15
Ответы с готовыми решениями:

Ошибки MASM32 - cannot open file : .\masm32\include\windows.inc
установил MASM32, прописал в патче путь, выдаёт ошибки при компиляции такого рода : Microsoft (R) Macro Assembler Version 6.14.8444 ...

Набор inc & lib в masm32
Добрый день, товарищи. Почему-то при компиляции проекта, который инклудит, скажем, файл kernel32.inc - возникают тысячи ошибок: ...

[masm32] Вычисление кусочной функции
Помогите найти ошибки в программе. Задание следующее- 2(x-2)+y, если 2x+y=>10 Иначе- 2x+y+1 Если задать значения Х- 2 У-...

5
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4491 / 1669
Регистрация: 01.02.2015
Сообщений: 13,899
Записей в блоге: 12
15.12.2016, 08:19
Скрин - это хорошо. А как бы теперь саму программу (или её усечённый до минимума исходник, воспроизводящий ошибку) "пощупать"? Набрать со скрина?
1
1 / 1 / 0
Регистрация: 07.06.2015
Сообщений: 77
15.12.2016, 12:02  [ТС]
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
136
137
.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
include \masm32\include\masm32.inc
 
includelib \masm32\lib\masm32.lib
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; окончания программы
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
15.12.2016, 14:30
Лучший ответ Сообщение было отмечено Marty McFly как решение

Решение

в строках 26,27,28 отодвинь знаки вопроса
Assembler
1
stdout DWORD ?
что в 59 строке вообще не понятно.
1
1 / 1 / 0
Регистрация: 07.06.2015
Сообщений: 77
15.12.2016, 15:37  [ТС]
этот код я накопал на просторах интернета, в ассемблере пока полный ноль, понимаю интуитивно. С горем пополам разобрался в том, что происходит в целом, но что они хотели сделать в 59-ой строке никак не пойму. Есть какие-то соображения по этому поводу? Спасибо.
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
15.12.2016, 16:02
Видимо должен находить максимальный элемент, т.е. eax > max. (могу ошибаться потому что все бегом, но попробуй)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2016, 16:02
Помогаю со студенческими работами здесь

MASM32 Вычислить значение функции f(x)
Прошу оказания посильной помощи в решении! Дана функция вещественного аргумента f(x), заданная с помощью указанного математического...

StdIn/StdOut Qt
Есть 2-а приложения - одно родительское, состоит из поля GraphicsView. Второе дочернее, которое запускается по нажатию кнопки на...

stdin, stdout, stderror
Эти три файловых дискриптора, получаемые программами при запуске они указывают на реальные файлы, который файловая система создает? Когда я...

Stdin → stdout
кто может помочь с этой проблемой?? я не понимаю , мне нужно выложить свою программу , но написано: Тестируется через stdin →...

Не работает stdin, stdout
#include <QCoreApplication> #include <QTextStream> int main(int argc, char *argv) { QCoreApplication a(argc, argv); ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru