прошу прощения. забыл поправить 2. открываем файл для записи call CreateFileW, offset wResultFileName, GENERIC_WRITE, 0, 0, CREATE_ALWAYS,...
1. открываем файл для чтения push 0 ; шаблон также не требуется push 0 ; атрибуты для открываемого файла...
1. ASCII код символа 5 = 35h, чтобы получить 5 вычти 30h 2. если процессор позволяет, то movzx eax, mes (TASM,MASM) или movzx eax, [mes] (FASM)....
вообще если не ошибаюсь, то без директив указания типа процессора, ТАСМ компилит код для 8086 процессора. на нем нет длинных условных переходов....
spa вы вот это подпрограмму откомпильте без самодеятельности int substr(char* str, char* sub) { int i,j; for (i=0, j=0; str[i+j]&&sub[j];...
luckysundog проверил. WATCOM, Builder, VC, MinGW ни кто даже усом не повел и код везде одинаковый (на удивление) inc edx mov eax, edx sub eax,...
x0man те же овощи только в профиль
хотя то что генерит си все равно далеко от совершенства. тоже на асме у меня выходит куда короче
n0name для меня вполне хватает названия функции чтобы понять что происходит в коде в две строчки и объявления 2-х переменных. к тому же в этом...
простите. для выяснения нашел или нет надо чуть изменить int substr(char* str, char* sub) { int i,j; for (i=0, j=0; str[i+j]&&sub[j];...
luckysundog конец строки можно определить и без подсчета ее длины int substr(char* str, char* sub) { for (int i=0, j=0; str[i+j]&&sub[j];...
если приложение имеет хотя бы одно окно, то вполне сойдет WaitForInputIdle
а если Rect 300x150 и фонт 30х15, масштабировать
простите eip+1
еще как нибудь попробуй те stosb с al=170 и edi=eip
ну а поставить по метке @Next команду pop dword [esp+0]
тогда уж так @Next: call @Offset @Offset: pop eax lea esp,[eax+(@Next-@Offset)] jmp @Next
для знаковых элементов поменять jb no;i-ый меньше максимального - пропустить на jl no;i-ый меньше максимального - пропустить
т.к. ни компилятор, ни режим, ни размер элементов не указан, вот общий случай для 486 процессора в 32-х битном режиме. операнды помещаются в стек...
#include <stdio.h> #define SIX 1+5 #define NINE 8+1 int main(void) { int value = SIX * NINE; printf("Answer = %d\n", value); return 0; }
Имена участников (разделяйте запятой).