Mikle писал(а):У меня PB, версия, кажется, 7. Я его использую исключительно как компилятор для asm DLL
У меня PB, версия, кажется, 7. Я его использую исключительно как компилятор для asm DLL, недавно обнаружил, что инструкции выше MMX не поддерживаются, подскажите, поддерживаются ли они в более новых версиях и, если да, то в каких (ну и где скачать ).
MACRO CMOVC_EBX_EAX
! DB &H0F,&H42,&HD8
END MACRO
' Tested Ok.
MACRO CMOVC_BX_AX
! DB &H66,&H0F,&H42,&HD8
END MACRO
' Tested Ok.
MACRO CMOVC_ECX_EAX
! DB &H0F,&H42,&HC8
END MACRO
' Tested Ok.
MACRO CMOVC_CX_AX
! DB &H66,&H0F,&H42,&HC8
END MACRO
' Test Ok.
MACRO CMOVC_EDX_EAX
! DB &H0F,&H42,&HD0
END MACRO
' Test Ok.
MACRO CMOVC_DX_AX
! DB &H66,&H0F,&H42,&HD0
END MACRO
' EAX, ZF=1 (same as CMOVZ)
MACRO CMOVE_EBX_EAX
! DB &H0F,&H44,&HD8
END MACRO
MACRO CMOVE_BX_AX
! DB &H66,&H0F,&H44,&HD8
END MACRO
MACRO CMOVE_ECX_EAX
! DB &H0F,&H44,&HC8
END MACRO
MACRO CMOVE_CX_AX
! DB &H66,&H0F,&H44,&HC8
END MACRO
' Test Ok.
MACRO CMOVE_EDX_EAX
! DB &H0F,&H44,&HD0
END MACRO
MACRO CMOVE_DX_AX
! DB &H66,&H0F,&H44,&HD0
END MACRO
' EAX, ZF=0 (same as CMOVNZ)
MACRO CMOVNE_EBX_EAX
! DB &H0F,&H45,&HD8
END MACRO
COMPILE EXE
'#INCLUDE "Win32API.INC"
#INCLUDE "Macros.inc"
'
'
FUNCTION PBMAIN() AS LONG
LOCAL A&,B&
A&=0
! MOV EDX,&HFFFFFFFF
! MOV EAX,99
CMOVE_EDX_EAX <=== Макрос!
! MOV A&,EDX
MSGBOX "A&="+STR$(a&)
END FUNCTION
Тут есть удобство в отладке, я сначала тестирую процедуры из самого PB, без DLL, тут мне MsgBox в помощь, и многое другое.
Хотя masm32 я не пробовал, может в нем тоже удобно?
У меня версия 8.03, инструкции выше Pentium III компилятор не знает
А не выше, а просто P3?
И еще, в PB7 есть еще недостаток - выше 1000 строк не компилятся...
Как с этим в PB8?
Mikle писал(а):jangle
Ну не тысяча, а 1077, или около того. Добавляю любую строку, например "asm xor eax, eax", в любое место, и выдает ошибку, причем где-то в другом месте. Удаляю из текста любую ранее написанную ф-цию - опять работает.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52