Однако странный код какой то.
Ведь для длинной арифметики существует сопроцессор, который и занимается тем, что разгружает ЦП за счёт параллельной работы с длинными числами. Тем более что регистры ESI и EDI нужно постоянно сохранять в стеке и восстанавливать, т.к. они используются очень часто.
А в этом коде сопроцессор игнорируется напрочь. Если я правильно понял, то половина числа пересылается в ESI, а половина в EDI.
Слушай, пришли ка мне полный дизассемблированный листинг на cyrax@hotmail.ru
Учти что есть ещё sne и Sharp. И если там есть хоть одна лажа, то мы её найдём
Ну вот, ешкин кот! ПРосил же закрыть тему сразу... А развязали черт
знает что. Придется и мне что-нть ответить...
А вот что вы скажете на то, что ряд технологий, которые появятся в
Longhorn, будут доступны только из .NET? Напрмиер, Indigo и Avalon...
А ведь выход LongHorn'а близко... А потом будет BlackComb, где
наверняка навинок, несовместимых с unmanaged-кодом будет еще больше.
И если человеку нужно выбрать что-то, на чем 15 лет программить, то
его выбор должен явно пасть на .NET, иначе он рискует через пару лет
быть сильно ущемлен в возможностях...
> То есть, я не смог
> отличить компонент, написанный на C# от .NET-компонента, написанного
> на Delphi!
> --
>
> Это явно твоя промашка, именно из-за того что ты имеешь счастье прораммировать лишь на одном языке... или ты со мной не согласен !?
Чепухня! Весь код в .NET компилируется в IL (промежуточный код). А
имя IL-код узнать язык, на котором писалось приложение, практически
невозможно...
Пример приведу: недавно декомпилировал .Net-библиотеку, написанную на
C# в VB .NET... И после декомпиляции и пары исправлений в коде
(все-таки декомпиляторы пока не всемогущи, ошибки оставляют) код
заработал, несмотря на то, что написан был на C#.
> В .NET без проблем можно работать с MSAccess, MSSqlServer - в этом
> случае XML используется в качестве промежуточного хранилища данных.
> --
>
> В VB6 тоже можно, и что?
В .NET есть managed-провайдер данных, оптимизированный под работу с
SQL Server'ом. А если VB6 для этого будет юзать OleDB, а .NET общаться
с СУБД напрямую, то в выигрыше будет явно .NET.
А между тем, в новой версии SQL Server 2005 codenamed Yukon уже
существует поддержка .NET на уровне ядра: хранимые процедуры там можно
писать на CLS-совместимых языках.
Ну а вообще, если бы ты имел счастье ознакомиться с ADO .NET, то понял
бы, что ADO, DAO, etc. в дауне по сравнению с ним.
include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\macros\macros.asm
; ~~~~~~~~~
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
BaseAscii PROTO :DWORD, :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
.data
Buff db 32 dup (0)
.code
start:
invoke GetTickCount
xor ecx,ecx
xor edx,edx
xor ebx,ebx
mov ebx,0FFFFFFFh
mov ecx,817C800h
mov edx,4Ah
@Loop: ;======================== сам цикл здесь ==========================
dec ecx ;3 такта
jnz @Loop ;8 тактов
dec edx ;3 такта
jz @F ;8 тактов
mov ecx,ebx ;2 такта
jmp short @Loop ;15 тактов
@@: ;========================= конец цикла =============================
mov ebx,eax
invoke GetTickCount
sub eax,ebx
invoke BaseAscii, eax, addr Buff, 0, 10, 0, 0, 1
invoke MessageBox,NULL,offset Buff,SADD("Время счёта до 20 000 000 000 (в мс):",MB_OK
xor eax,eax
invoke ExitProcess,eax
BaseAscii PROC uses esi edi InPut:DWORD, OutPut, Len, Base, Comma, Fill, TermA
LOCAL LBuff[32]: BYTE
pushad
xor esi, esi
mov eax, InPut ; Input
mov ebx, OutPut
mov byte ptr [ebx], '0'
.while (eax)
xor edx, edx
div Base ; Base 10, 16, 8, 2
add dl, 30h ; Convert to dec ASCII
mov LBuff[esi], dl
inc esi
.endw
xor edi, edi
mov ecx, esi
.if Len > ecx && Fill == 1 ; Zero fill
xor eax, eax
.while (eax < Len)
mov byte ptr [ebx+eax], '0'
inc eax
.endw
sub Len, ecx
add edi, Len
.endif
.while (ecx)
mov al, byte ptr LBuff[esi-1]
mov byte ptr [ebx+edi], al
inc edi
dec esi
dec ecx
.endw
.if TermA ; Insert a terminating char
mov byte ptr [ebx+edi], 0
.endif
popad
ret
BaseAscii ENDP
end start
====================================================================
И сам ехе-файл на мыло высылаю, окошек там нет, только MsgBox по окончании счёта.
2sne: про формат .Net-сборок... Пока ты не изучишь его под микроскопом
(о чем я тебя, кстати, просил , твои слова бездоказательны.
> Ну что-же, если все так и останется, то посмотрим как бэйсик фанаты
> будут уживаться с фанатами паскаля Обычно как такие сюда заходят,
> начинается безосновательный флуд...
Пока в мире .NET рулит C#, VB по популярности на 2-ом месте...
А паскалянтов будем с вилами выгонять
> Будь технология .NET востребована, за столько лет её существования
> я бы увидел хоть одно действительно серьёзное .NET-приложение. Я не
> увидел пока ни одного. Даже не очень серьёзного. Похоже, что .NET -
> это язык для написания программ, представляемых на конкурсы,
> устраиваимые Майкрософтом. Не более.
Конечно, широко распространенных .NET-приложений пока нет. Наверное,
людей пугает размер .Net Fw.
А вот приложения под заказ, и приложения для иносратнных пользователей
пишутся на всю катушку!
На Gotdotnet.ru чуть ли не каждый день появляются объявления о приеме
на работу, с зарплатой 800-1500 USD.
Я сам не так давно написал за пару недель ASP .NET приложение за
неплохую на мой взгляд сумму - 300 USD.
> Может быть вариант что программа компилируется в машинные
> коды при каждом запуске. Это к преимуществам .NET платформы
> никак не отнести.
IL-код компилируется только один раз - при первом запуске программы.
Если тебя это не устраивает, то можно сразу пройтись утилитой, которая
скомпилирует IL код. Тогда при первом запуске программы JIT-компиляция
проходить не будет, но и о мультисистемности можно забыть.
> Может, это бесспорно, вот только для этого надо сначала
> что-то скомпилировать, а если учесть что на данный момент
> у меня не установлено ни FW ни студии .НЕТ (винду не охото
> засорять), то лично мне это не под силу )
Давай я пришлю тебе пару тестовых прог, ты их обследуешь и выложишь
хорошо документированные результаты. Вот тогда поговорим...
2павел - рубай тему, никто помогать так и не собрался, все тока останутся при своих после 15ти страниц обсуждений...
Бешенный форум какойто, чес слово, нигде подобного невидел... Может это и хорошо, но.. Вам здесь сидеть, вам и решать. Хотите, создайте новую тему, будет 6ть топиков про "то как мы спорили кот круче". После всех этих топиков - ничкто не сменил мнения. Че толку тогда?