- Автор темы
- Добавить закладку
- #81
неа, я вобще в асме полный ньюб, просто у себя в исходниках шаблоны нашёл частоприменяющиееся.
.386
.model flat, stdcall
option casemap :none
include \MASM32\INCLUDE\windows.inc
include \MASM32\INCLUDE\kernel32.inc
include \MASM32\INCLUDE\shell32.inc
include \MASM32\INCLUDE\masm32.inc
includelib \MASM32\LIB\kernel32.lib
includelib \MASM32\LIB\shell32.lib
includelib \MASM32\LIB\masm32.lib
.data
bytes dw 0
H_Memory_Block dd 0
Handle2 dd 0
Handle1 dd 0
File_size dd 0
F_b db 0
File_buffer db 0
Head_Buffer db 255 dup(0)
Reserve db 0
.code
DllEntry proc hInstDLL:HINSTANCE, reason:DWORD, reserved1:DWORD
mov eax,TRUE
ret
DllEntry Endp
Create_Pak_File proc Pak_file:DWORD
invoke CreateFile,Pak_file,GENERIC_WRITE,\
FILE_SHARE_WRITE,\
NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_ARCHIVE,\
NULL
mov Handle1,eax
invoke SetEndOfFile,Handle1
ret
Create_Pak_File endp
End DllEntry
LIBRARY MyDLL
.386
.model flat, stdcall
option casemap :none
include \MASM32\INCLUDE\windows.inc
include \MASM32\INCLUDE\kernel32.inc
include \MASM32\INCLUDE\shell32.inc
include \MASM32\INCLUDE\masm32.inc
includelib \MASM32\LIB\kernel32.lib
includelib \MASM32\LIB\shell32.lib
includelib \MASM32\LIB\masm32.lib
.data
bytes dw 0
H_Memory_Block dd 0
Handle2 dd 0
Handle1 dd 0
File_size dd 0
F_b db 0
File_buffer db 0
Head_Buffer db 255 dup(0)
Reserve db 0
.code
DllEntry proc hInstDLL:HINSTANCE, reason:DWORD, reserved1:DWORD
mov eax,TRUE
ret
DllEntry Endp
Create_Pak_File proc Pak_file:DWORD
invoke CreateFile,Pak_file,GENERIC_WRITE,\
FILE_SHARE_WRITE,\
NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_ARCHIVE,\
NULL
mov Handle1,eax
invoke SetEndOfFile,Handle1
ret
Create_Pak_File endp
End DllEntry
LIBRARY MyDLL
EXPORTS Create_Pak_File
М.б. они берутся за проекты в кот. требуется ООП?И столкнулся с такой тенденцией - практически все в прошлом успешные асм-кодеры переходят на Си.
Есть С-производные языки с ООП. Суть в том что сложные проекты удобнее разрабатывать на языках более высокого уровня, не обязательно с ООП.А разве в чистом Си есть ООП? Вроде только в С++.
Но чем именно удобней? Если взять чистый Си на вин апи, и Масм на том же вин апи - чем и насколько удобней будет С чем Асм?Суть в том что сложные проекты удобнее разрабатывать на языках более высокого уровня
Но чем именно удобней? Если взять чистый Си на вин апи, и Масм на том же вин апи - чем и насколько удобней будет С чем Асм?
Си создавался с одной важной целью: сделать более простым написание больших программ с минимумом ошибок по правилам процедурного программирования, не добавляя на итоговый код программ лишних накладных расходов для компилятора, как это всегда делают языки очень высокого уровня, такие как Бейсик. С этой стороны Си имеет следующие важные особенности:
* простую языковую базу, из которой вынесены в библиотеки многие существенные возможности, вроде математических функций или функций управления файлами;
* ориентацию на процедурное программирование, обеспечивающую удобство применения структурного стиля программирования;
* систему типов, предохраняющую от бессмысленных операций;
* использование препроцессора для, например, определения макросов и включения файлов с исходным кодом;
* непосредственный доступ к памяти компьютера через использование указателей;
* минимальное число ключевых слов;
* передачу параметров в функцию по значению, а не по ссылке (при этом передача по ссылке выполняется с помощью указателей);
* указатели на функции и статические переменные
* области действия имён;
* записи — определяемые пользователем собирательные типы данных (структуры), которыми можно манипулировать как одним целым;