Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Assembler

Автор: MERCURY127
Дата сообщения: 27.12.2014 20:43

Цитата:
кашмар. будет конечно работать до поры до времени
нет уж, раз либа 11 подошла (10, кстати, не подходит) — будет работать столько, сколько захочешь.
Цитата:
на новые из 13 студии
которые ты только что дал? ну заменил. а дальше что? я там не разумею, как этим пакетом компилить что то. скинь что ли образец для компиляции.
Автор: bomzzz
Дата сообщения: 27.12.2014 20:45
http://rghost.ru/60009871

Добавлено:
http://rghost.ru/60009889
Автор: MERCURY127
Дата сообщения: 27.12.2014 20:47
вот твой пакет, с замененными и пропатченными биранами http://sendfile.su/1067091
Автор: bomzzz
Дата сообщения: 27.12.2014 20:47
там в основном надо сунуть компилируемый файл на батник

Добавлено:
не не надо патчить надо собирать оригинальный

Добавлено:
каких еще дллов не хватает?
Автор: MERCURY127
Дата сообщения: 27.12.2014 21:02
не компилит пример:
F:\MASM32\tools\make>makeconsole.bat MULDIVSUBADD.asm
Microsoft (R) Macro Assembler Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.

Assembling: MULDIVSUBADD.asm

***********
ASCII build
***********

MULDIVSUBADD.asm(7) : error A2071:initializer magnitude too large for specified size
MULDIVSUBADD.asm(7) : fatal error A1000:cannot open file : \MASM32\INCLUDE\masm32.inc
Microsoft (R) Incremental Linker Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.

LINK : fatal error LNK1181: cannot open input file 'MULDIVSUBADD.obj'
Не удается найти F:\MASM32\tools\make\MULDIVSUBADD.obj
Для продолжения нажмите любую клавишу . . .

что там вообще за бардак с папками? для каждой системы своя что ли? зачем, если инклуды из старшей перекрывают младшие?

Добавлено:
где этот масм32.инк?

Добавлено:
или там еще оригинальный пакет масм32 надо качать?

Добавлено:

Цитата:
каких еще дллов не хватает?
да вроде пока этих двух хватает.
Автор: bomzzz
Дата сообщения: 27.12.2014 21:31
значит в новом компиляторы враги народа из микрофоста сменили параметры командной строки

Добавлено:
ну значит надо разбираться со всем или 10 студией пользоваться хп совместимой. в масме на сайте вообще 6 версия лежит. рекомендуемая 8 - ая
Автор: MERCURY127
Дата сообщения: 27.12.2014 21:34
нет, просто в твоих архивха нет MASM32.INC
Автор: bomzzz
Дата сообщения: 27.12.2014 21:49
ой извини я збыл.
Автор: MERCURY127
Дата сообщения: 27.12.2014 21:53
скачал оригинал, установил, залил поверх твой архив, все ок
E:\masm32\tools\make>makeconsole.bat MULDIVSUBADD.asm
Microsoft (R) Macro Assembler Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.

Assembling: MULDIVSUBADD.asm

***********
ASCII build
***********

Microsoft (R) Incremental Linker Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.

E:\masm32\tools\make>dir mul*
Том в устройстве E имеет метку GOODWINPROG
Серийный номер тома: 58C1-7587

Содержимое папки E:\masm32\tools\make

09.06.2011 20:41 624 MULDIVSUBADD.asm
27.12.2014 22:51 2 560 MULDIVSUBADD.exe
2 файлов 3 184 байт
0 папок 29 081 600 байт свободно


Добавлено:
Автор: bomzzz
Дата сообщения: 27.12.2014 22:09
здорово. а консоль нативного режима интересно будет компилится?

Добавлено:
надо сменить систему по умолчанию

C:\masm32\tools\install\defsys.bat
Автор: MERCURY127
Дата сообщения: 27.12.2014 22:24

Цитата:
консоль нативного режима интересно будет компилится?
нет:
E:\masm32\tools\make>makenative.bat MULDIVSUBADD.asm
Microsoft (R) Macro Assembler Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.

Assembling: MULDIVSUBADD.asm

***********
ASCII build
***********

MULDIVSUBADD.obj : warning LNK4258: directive '/ENTRY:start' not compatible with switch '/ENTRY:NtProcessStartup'; ignored
kernel32.lib(KERNEL32.dll) : warning LNK4237: /SUBSYSTEM:NATIVE specified when importing from 'KERNEL32.DLL'; Use /SUBSYSTEM:CONSOLE or /SUBSYSTEM:WINDOWS.
user32.lib(USER32.dll) : warning LNK4237: /SUBSYSTEM:NATIVE specified when importing from 'USER32.DLL'; Use /SUBSYSTEM:CONSOLE or /SUBSYSTEM:WINDOWS.
LINK : error LNK2001: unresolved external symbol _NtProcessStartup
MULDIVSUBADD.exe : fatal error LNK1120: 1 unresolved externals
Для продолжения нажмите любую клавишу . . .


Добавлено:
надо другой пример
Автор: bomzzz
Дата сообщения: 27.12.2014 22:31
ядро другое, другая программа нужна. она есть вроде написанная

Добавлено:
http://ultradefrag.sourceforge.net/ru/index.html
вот эта прога семерко совместимая и у нее есть нативная консоль своя
Автор: addhaloka
Дата сообщения: 28.12.2014 00:01
bomzzz 22:31 27-12-2014
Цитата:
значит в новом компиляторы враги народа из микрофоста сменили параметры командной строки

Имхо, намного круче, чем мелкосовтовские, другие ассемблер и линкер: jwasm и polink. У MS только компилер ресурсов хорош.
Я так предпочитаю батники оформлять - под каждый проект нужен свой батник, но зато никаких заморочек с путями, да и батник недолго изменить:
asm/inc:
Код: ;вместо:
;include \MASM32\INCLUDE\masm32.inc
;includelib \MASM32\LIB\masm32.lib
include masm32.inc
includelib masm32.lib
Автор: bomzzz
Дата сообщения: 28.12.2014 11:16
чем они лучше микрософтовского если сам микрософт винду сделал
Автор: addhaloka
Дата сообщения: 28.12.2014 11:32
bomzzz 12:16 28-12-2014
Цитата:
чем они лучше микрософтовского если сам микрософт винду сделал

У jwasm не так уж много фичей, но всё же - умеет некритичные ошибки исправлять, да и вообще, какой-нибудь нестандартный или кривой код может компилять, на котором ml спотыкается. У polink же, в отличие от мелкомягковского link, можно по всякому крутить параметры ком. строки, например - выставлять любую subsystem, сливать секции и т. д.
Автор: bomzzz
Дата сообщения: 28.12.2014 12:01
а чем же плохо что компилятор указывает на ошибки оставляя программисту исправлять их самому, а не добавляет дополнительные
Автор: addhaloka
Дата сообщения: 28.12.2014 12:45
bomzzz 13:01 28-12-2014
Цитата:
а чем же плохо что компилятор указывает на ошибки оставляя программисту исправлять их самому

Там не только ошибки ml много чего не поддерживает - длинные строки, masm'овские макросы и вообще лажа. Как пример, попробовал с ml собрать один из патчей, и получил:


А с jwasm без проблем:

Автор: bomzzz
Дата сообщения: 28.12.2014 12:52
ну перенеси строку, как ты ее читать собрался
Автор: addhaloka
Дата сообщения: 28.12.2014 13:10
bomzzz 13:52 28-12-2014
Цитата:
ну перенеси строку, как ты ее читать собрался

Делал как-то для очень длинной паттерны, что даже jwasm не справлялся - показалось неудобным такое представление. Да и зачем, мазохизмом заниматься.
Автор: ashumov
Дата сообщения: 28.12.2014 13:31
Абстрактные вопросы к программистам

есть ли различия нативный 64-битный режим процессора в Windows и UEFI?

Возможен ли NTFScheck_x64.efi, запускающий 64-битный autochk.exe ?
Автор: bomzzz
Дата сообщения: 28.12.2014 13:42
чета как то неудачно сформулировано
Автор: ashumov
Дата сообщения: 28.12.2014 14:28
Сразу оговорюсь - не программист
Из описаний UEFI следует что ядро встроенное в микросхемы (firmware) работает с нативными 64-битными приложениями на разделах FAT32
Я понимаю разницу между 64-битными приложениями UEFI и Windows
первые работают с протоколами вторые с API функциями, но различаются ли при этом режимы процессора ведь в обоих случаях используется напрямую все адресное пространство
Автор: bomzzz
Дата сообщения: 28.12.2014 14:55
UEFI всего лишь новый способ с большей адресацией разбиения винта. видеть такой винт можно и дос научить. нативные приложения могут работать с любыми устройствами независимо от какой программное обеспечение содержится в "черном ящике" при условии что в ядре есть для этого драйвер этого устройства.
режимы процессора скорее всего различаются, но если честно не уверен дочитал только до sse2

Добавлено:
не нашел ответа гуглом. кое где пишут что это расширение защищенного режима, кое где выражаются как особый режим, команда переключения похоже одна

Добавлено:
http://www.windxp.com.ru/cpu.htm
скорее всего просто расширение защищенного режима
Автор: ashumov
Дата сообщения: 28.12.2014 17:58

Цитата:
видеть такой винт можно и дос научить

только частично, при больших терабайтах арифметика не позволит


Цитата:
при условии что в ядре есть для этого драйвер этого устройства.

Когда-то проводил замену autochk.exe на autofmt.exe c переименованием его в autochk , получал сообщение об ошибке, что autofmt.exe не работает в raw mode
chkdskg.exe от Datapol впоследствии Avira и Winternals NTFSCHK + ntdll.dll
T.е. autochk.exe сам почти микро ОС, raw mode говорит о том, что ему не нужны драйверы и при этом проверяет целостность файловой системы
chkdskg.exe из ДОС переводит процессор в необходимый режим(расширитель ДОС), обеспечивает необходимые API функции из NTDLL.dll для autochk.exe и запускает проверку файловой системы как NTFS так и FAT32



Цитата:
Возможен ли NTFScheck_x64.efi, запускающий 64-битный autochk.exe ?



В UEFI есть Efichk.efi (EFI Check Disk utility) для проверки только разделов FAT32
т.е. на своем разделе ESP на НDD или на флешке
Автор: bomzzz
Дата сообщения: 28.12.2014 20:50
почему не позволит. под досом доступны любые команды, в том числе 64 битные, сопроцессор с 80 битными регистрами, sse, mmx, и даже без этого можно оперировать числами больше чем 65535 для 16 битного процессора и тд. для чего предусмотрены команды переноса старшего бита
Автор: MERCURY127
Дата сообщения: 28.12.2014 21:08
bomzzz, драйвер для GPT сам напишешь?

Добавлено:

Цитата:
UEFI всего лишь новый способ с большей адресацией разбиения винта
ты хоть в курсе, чем отличаются UEFI & BIOS? подсказка: UEFI работает только в х64, и бутсектор для него тоже должен быть х64 и никаким иным. сможешь стартовать DOS в х64 режиме — тебе Нобелевку дадут. промежуточный переход в CSM — сразу незачет.
Автор: bomzzz
Дата сообщения: 28.12.2014 21:53
точно я уефи и гпт перепутал, но он сам нагородил все в кучу. зачем нужно дос запускать в 64 битном режиме? драйвер для гпт напишут, когда большие винты начнут спросом пользоваться
Автор: MERCURY127
Дата сообщения: 29.12.2014 07:46
не напишут. там нужно патчить ядро дос. для мсдос не светит, разве что какой нибудь фридос перелопатят.
Автор: ashumov
Дата сообщения: 29.12.2014 09:23

Цитата:
дос запускать в 64 битном режиме?


UEFI и есть DOS 64 бит
Автор: MERCURY127
Дата сообщения: 29.12.2014 09:56

Цитата:
UEFI и есть DOS 64 бит
угу, с блэкджеком и ... драйверами и картинками. а еще само в инет ходит. жаль, вифи не могет, и кино не кажет. ну да для того елевизор имееца...

Добавлено:
вот более детально: UEFI FAQ

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384

Предыдущая тема: .NET GUI компоненты


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.