
13.08.2007, 12:43
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
С нами:
10182506
Репутация:
1393
|
|
Сообщение от Ni0x
z01b,
http://forum.codenet.ru/showthread.php?t=6245
Вообщем то tasm уже не актуален.
а почему не актуален?
С масм32 попробовал компилить, и тоже самое ошибка (
hello.obj : warning LNK4033: converting object format from OMF to COFF
hello.obj : error LNK2001: unresolved external symbol ExitProcess
hello.obj : error LNK2001: unresolved external symbol MessageBoxA
LINK : error LNK2001: unresolved external symbol _mainCRTStartup
hello.exe : fatal error LNK1120: 3 unresolved externals
Дайте плз ктонибудь Hello World, на масм 9.0
Последний раз редактировалось begin end; 14.08.2007 в 21:19..
Причина: в один пост
|
|
|

13.08.2007, 13:18
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
С нами:
10370602
Репутация:
472
|
|
ты исходник выкладывай.
Разработка прекращена очень давно, сейчас им почти не пользуются. Наиболее перспективный сейчас fasm.
|
|
|

13.08.2007, 14:25
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
С нами:
10175096
Репутация:
105
|
|
Хочу прочитать данные реестра (MASM32 v 8.2), но в итоге получаю Win32 ошибку
где ошибка?
Код:
.386
.model flat, stdcall ; 32 bit memory model
option casemap :none ; case sensitive
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\advapi32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\advapi32.lib
includelib \masm32\lib\user32.lib
.data
SubKey db "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
vName db "DataLayer"
rt dd 1
rc dd 127
mbCapt db "RegValue",0
.data?
key db ?
buf db ?
.code
start:
invoke RegOpenKeyEx, HKEY_LOCAL_MACHINE, SubKey, 0, KEY_ALL_ACCESS, key
invoke RegQueryValueEx, key, vName, NULL, addr rt, addr buf, addr rc
invoke RegCloseKey, key
invoke MessageBox, NULL, addr buf, addr mbCapt, MB_OK
invoke ExitProcess, 0
end start
|
|
|

13.08.2007, 15:11
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
С нами:
10370602
Репутация:
472
|
|
z01b,
Код:
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
.data
MsgBoxCaption db "Antichat",0
MsgBoxText db "Hello World!",0
.code
start:
invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start
|
|
|

14.08.2007, 11:52
|
|
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
С нами:
11710201
Репутация:
134
|
|
t04 > Лови:
Код:
.386
.model flat, stdcall ; 32 bit memory model
option casemap :none ; case sensitive
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\advapi32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\advapi32.lib
includelib \masm32\lib\user32.lib
.data?
key dd ?
buf db 1024 dup (?)
.data
SubKey db "SOFTWARE\Microsoft\Windows\CurrentVersion\Run",0
vName db "DataLayer",0
mbCapt db "RegValue",0
rt dd REG_SZ
bsz dd sizeof buf
.code
start:
invoke RegOpenKeyEx, HKEY_LOCAL_MACHINE, addr SubKey, 0, KEY_QUERY_VALUE, addr key
invoke RegQueryValueEx, key, addr vName, 0, addr rt, addr buf, addr bsz
invoke RegCloseKey, key
invoke MessageBox, NULL, addr buf, addr mbCapt, MB_OK
invoke ExitProcess, 0
end start
|
|
|

14.08.2007, 13:01
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
С нами:
10175096
Репутация:
105
|
|
1 На Delphi есть функция - ParamStr, она возвращает параметры командной строки, типа ParamStr(0) это полный адрес программы, ParamStr(1) это первый параметр и т.д.
Есть ли аналог на МАСМ32?
2 Как на МАСМ32 юзать массивы? Например запустить цикл типа
Код:
for i := n to m do
WriteLn(A[i])
если не трудно то приведите Plz примеры
|
|
|

14.08.2007, 13:30
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
С нами:
10370602
Репутация:
472
|
|
t04, в теме есть пример работы с аргументами командной строки на фасме, но на масм не проблема перевести.
http://forum.antichat.ru/thread28998.html
Массивы:
Код:
size equ 20
.data?
numb WORD size dup(?) ; область памяти для 20 идущих подряд WORD
.code
start:
mov ecx, size ; для цикла
mov bx, 1
xor edi, edi ; обнуляем edi
next:
mov numb[edi], bx
inc bx
add edi, 2 ; к следующему числу(word - 2 байта)
loop next
invoke ExitProcess, 0
end start
Регистр edi хранит адрес слова, полученный относительно начала массива, значит само слово будет выглядеть как numb[edi]. При edi равном нулю, mov numb[edi], bx запишет содержимое bx в нулевое слово массива. Надеюсь принцип понятен.
|
|
|

14.08.2007, 13:32
|
|
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
С нами:
11710201
Репутация:
134
|
|
Сообщение от Ni0x
в теме есть пример работы с аргументами командной строки на фасме
Вот и он.
|
|
|

19.08.2007, 18:16
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
С нами:
10175096
Репутация:
105
|
|
Народ, вот прочитал значение реестра в массив, а как можно узнать присутствие в нем определенной строки? или как массив в строку переделать, а потом сравнить?
нужно типа следующего:
Код:
if Pos(subStr,Str) then
WriteLn(SubStr+' присутствеут в '+Str)
else
WriteLn(SubStr+' отсутствеут в '+Str);
нашел такое:
Код:
cmp buf,'SubString'
je label1;или как я понял можно и jz
label1:
invoke MessageBox, NULL, addr buf, addr Prisutstvuet, MB_OK
label2:
invoke MessageBox, NULL, addr buf, addr Otsutstvuet, MB_OK
но не разобрался как с этим работать
ЗЫ нужно что бы учитывало реестр символов.
|
|
|

19.08.2007, 18:26
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
С нами:
10370602
Репутация:
472
|
|
lstrcmpA()
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Вопросы для новичков! (faq)
|
PEPSICOLA |
С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby |
92 |
14.05.2010 17:59 |
|
ОС с нуля
|
z01b |
С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby |
36 |
03.07.2008 15:30 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|