Форум программистов, компьютерный форум, киберфорум
Assembler: Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для Terabite747
3 / 3 / 1
Регистрация: 23.08.2021
Сообщений: 99
Записей в блоге: 2
NASM

NASMX библиотеки

12.09.2021, 00:55. Показов 3026. Ответов 8

Студворк — интернет-сервис помощи студентам
помогите скачать две библиотеки так как в нашем регионе этот сайт заблокирован
вот сайт: скачать библиотеку макросов в nasmx (nasmx.sourceforge.net)


Вот нужные две библиотеки:
1 nasmx.inc
2 x11/xlib.inc

вот программа уже готовая:


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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
BITS 32
 
;подключаем наши библиотеки
 
%include 'nasmx.inc'
 
%include 'x11/xlib.inc'
 
ENTRY demo ;основная наша процедура
 
;делаем импорт библиотек которые будем использовать
 
IMPORT puts
 
IMPORT exit
 
IMPORT XStoreName
 
IMPORT XFreeGC
 
IMPORT XDrawImageString
 
IMPORT XDrawLine
 
IMPORT XSetForeground
 
IMPORT XSetBackground
 
%define RGB(r,g,b) (r << 16)+(g << 8)+(b)
 
; создаем константу которая будет указывать что должно обрабатывать окно
 
%assign OurInputMask ( KeyPressMask + KeyReleaseMask + ExposureMask )
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
SECTION .data
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
strCaption DB 'Hello World', 0 ;переменная которая будет в заголовке окна
 
strMessage DB "Hello World!" ;и эту переменную выведем в окне
 
lenMessage EQU ($-strMessage)
 
oError DD 0
 
strErrorDisplay DB 'XOpenDisplay: could not open connection to X server.', 0
 
strErrorCreation DB 'XCreateSimpleWindow: could not create window.', 0
 
strErrorShow DB 'XMapRaised: could not display window.', 0
 
hGC DD 0
 
hwin DD 0
 
hdisplay DD 0
 
event TIMES 20 DD 0
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
SECTION .text
 
proc Xshutdown ;процедура отвечает за закрытие(удаление) окна
 
locals none
invoke XFreeGC, dword [hdisplay], dword [hGC]
invoke XDestroyWindow, dword [hdisplay], dword [hwin]
xor eax, eax
 
endproc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
;процедура создания окна
proc Xinitialize, dword t, dword x, dword y, dword w, dword h
 
locals ;создаем локальные переменные
 
local hscreen, dword
local hroot, dword
 
endlocals
invoke XOpenDisplay, 0
or eax, eax
jnz .display_ok
invoke puts, strErrorDisplay
return -1
.display_ok: ; если мы тут то окно создано и ax содержит дескриптор окна
mov dword [hdisplay], eax
invoke XDefaultScreen, dword [hdisplay]
mov dword [var(.hscreen)], eax
invoke XDefaultRootWindow, dword [hdisplay]
mov dword [var(.hroot)], eax
;затем рисуем само окно
;и этот код должен быть в одну строчку
invoke XCreateSimpleWindow, dword [hdisplay], dword [var(.hroot)], dword [argv(.x)], dword [argv(.y)], dword [argv(.w)], dword [argv(.h)], 5, RGB(255,100,50), RGB(25,255,230)
or eax, eax
jne .create_ok
invoke puts, strErrorCreation
return -1
.create_ok:
mov dword [hwin], eax
invoke XSelectInput, dword [hdisplay], dword [hwin], OurInputMask
invoke XStoreName, dword [hdisplay], dword [hwin], dword [argv(.t)]
invoke XMapRaised, dword [hdisplay], dword [hwin]
or eax, eax
jnz .show_ok
invoke puts, strErrorShow
 
return -1
.show_ok:
invoke XCreateGC, dword [hdisplay], dword [hwin], 0, 0
mov dword [hGC], eax
;цвет текста
invoke XSetForeground, dword [hdisplay], dword [hGC], RGB(0,230,0)
;цвет фона на котором будет текст
invoke XSetBackground, dword [hdisplay], dword [hGC], RGB(0,0,0)
xor eax, eax
 
endproc
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
proc Xdrawscreen
 
locals none
invoke XDrawImageString, dword [hdisplay], dword [hwin], dword [hGC], 150, 100, strMessage, lenMessage
 
endproc
 
proc Xeventhandler ;функция проверяет нажали ли мы клавишу
 
locals none
clc ;clear carry
.on_expose:
mov eax, [event] ;помещаем в ах код обработчика событий
cmp eax, Expose ;и сверяем к кодом нажатий клавиш
jnz .on_keypress
;перерисовываем наше окно
invoke Xdrawscreen
jmp .exit
.on_keypress:
cmp eax, KeyPress
jnz .exit
;если клавиша нажата то процедура вернет 1
return 1
.exit:
xor eax, eax
 
endproc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;наша основная процедура
proc demo
 
locals none
invoke Xinitialize, strCaption, 10, 200, 400, 200
cmp eax, -1
je .exit
;;; цикл обрабатывающий события окна
.msg_pump:
 
invoke XNextEvent, dword [hdisplay], event
invoke Xeventhandler
cmp eax, 1
jne .msg_pump
invoke Xshutdown ; вызываем процедуру закрытия окна
xor eax, eax
.exit:
invoke exit, eax ;выход с программы
 
endproc
обираем в объектный файл nasm -f elf32 hello.asm.
После чего уже делаем исполняемый файл gcc -Wall -s -o hello hello.o -lc -lX11.
Все можно запускать наше приложение.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2021, 00:55
Ответы с готовыми решениями:

Теория, библиотеки, динамические библиотеки
Как происходит сам процесс использования, что происходит при include, как они загружаются? Добавлено через 11 минут статические...

про библиотеки в VS C++ (какие библиотеки нужны для функций 'cout' и 'cin')
какие библиотеки нужны для функций 'cout' и 'cin' ???

Программа которая проверяет вызовы функций математической библиотеки math.h библиотеки С
Программа которая проверяет вызовы функций математической библиотеки math.h библиотеки С. Выводит результаты в виде таблицы.

8
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
12.09.2021, 05:09
Лучший ответ Сообщение было отмечено R71MT как решение

Решение

Terabite747,
пользуйся
Вложения
Тип файла: zip nasmx-1.4.zip (2.00 Мб, 14 просмотров)
1
 Аватар для Terabite747
3 / 3 / 1
Регистрация: 23.08.2021
Сообщений: 99
Записей в блоге: 2
12.09.2021, 09:16  [ТС]
Цитата Сообщение от Mikl___ Посмотреть сообщение
Terabite747,
пользуйся
Не мало не много, в архиве 396 файлов.
Это ж мечта. Как уиЮрия Антонова.
0
653 / 406 / 76
Регистрация: 21.09.2008
Сообщений: 1,400
12.09.2021, 19:35
Цитата Сообщение от Terabite747 Посмотреть сообщение
в нашем регионе этот сайт заблокирован
Tor тоже?
1
 Аватар для Terabite747
3 / 3 / 1
Регистрация: 23.08.2021
Сообщений: 99
Записей в блоге: 2
13.09.2021, 09:36  [ТС]
Цитата Сообщение от sharpey Посмотреть сообщение
Tor тоже?
Что то он по кмолчанию предлогает скасать Браузер а этот браузер 64 битный
А у меня только 32 бита есть в деле. Линукс

Люди добрые посмотрите старую версию NASMX
И выложите а то последняя версия nasmx не поддерживает NASM менее 2.11
А у меня 2.9 версия така как убунту 12.04 весии которая новую версию NASM
Не поддерживает
0
 Аватар для Terabite747
3 / 3 / 1
Регистрация: 23.08.2021
Сообщений: 99
Записей в блоге: 2
14.09.2021, 05:36  [ТС]
Tor браузер не работает не один VPN не работает у нас тут идейное правительство

Добавлено через 15 минут
NasmX 1.0 версию выложите пожалуйсто
0
653 / 406 / 76
Регистрация: 21.09.2008
Сообщений: 1,400
14.09.2021, 20:21
Terabite747, пожалуйста, выбирайте подходящее:
Вложения
Тип файла: 7z nasmx-1.0.7z (545.4 Кб, 9 просмотров)
Тип файла: 7z nasmx-1.1.7z (562.0 Кб, 0 просмотров)
Тип файла: 7z nasmx-1.2.7z (722.4 Кб, 0 просмотров)
Тип файла: 7z nasmx-1.3.7z (755.9 Кб, 0 просмотров)
1
 Аватар для Terabite747
3 / 3 / 1
Регистрация: 23.08.2021
Сообщений: 99
Записей в блоге: 2
16.09.2021, 06:17  [ТС]
К сожалению если к вас NASM ниже версии чем 2.10 то ld -lX11 не работает
а значит и окна не будет создавать NASMX
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
16.09.2021, 10:41
Тогда можно не пользоваться libX11
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.09.2021, 10:41
Помогаю со студенческими работами здесь

Как посмотреть какие библиотеки тянут другие библиотеки процесса
Привет, есть процесс, у него подтянуты dll'ки список которых я могу просматривать прогой Process Explorer. НО вопрос как посмотреть...

Подключение библиотеки Crypto. Если возможно, нужна ссылка на скачивание данной библиотеки
Возникли сложности с подключением библиотеки Crypto: import Crypto.Cipher.AES Выдает следующую ошибку: ...

Как включить библиотеки в исполняемый файл, чтобы не приходилось ставить библиотеки (Eclipse)
Как включить библиотеки в конечный EXE как это сделано в bilder, чтобы не приходилось ставить библиотеки.

Как с подгруженой библиотеки сделать вызов функции которая находится в файле подгрузки библиотеки?
Вообщем есть файл main.c, внём обявленно несколько функций, переменных и идёт подгрузка библиотеки, как-то так: lib = dlopen(library,...

Создание dll библиотеки в C#. Вызов классов этой библиотеки
мне нужно как то создать динамическую библиотеку класов в си шарп, основой этой библиотеки должен быть абстрактный класс, от которого будут...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru