|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 6, 2004 19:44:03 Спросил компа какой сегодня год: mov ah,2ah int 21h А он мне "сегодня 7d4h years" ладно я врублюсь что это в хексе, но ведь юзер увидав 7d4 в ужас придет и надумал я кинуть 32303034, типа аски, но зараза голова отказывается думать как из cx:03d4 сделать cx:2004. Буду рад мыслям и алгоритмам, а если кому не лень может поделиться кодом, токо пожалуйста на ассеме и не спутайте пожалуйста сайт я токо этот Уважаю! Прошу простить если кого случайно задел или оскарбил, у меня и в мыслях такого не было. |
|
|
Дата: Май 6, 2004 19:46:20 Твою налево, позорище... |
|
|
Дата: Май 6, 2004 19:50:15 volodya ну, не будь так суров я целый день в эти мат.формулы врубался а ты ... эх где же старая хакерская доброта? Перевелись остались злыдни! Пардон ежели обидел! |
|
|
Дата: Май 6, 2004 19:52:08 · Поправил: Безпощадный даос Да какие здесь мат-формулы, гра. Это ж перевод из одной системы счисления в другую. Ты по форуму вообще искал хоть что-то? Я ж тебе говорю - пойди проспись, а потом, как протрезвеешь, приходи и вопросы задавай. |
|
|
Дата: Май 6, 2004 19:53:31 volodya Учту, видно пиво вредно, но ежели обидел пардон, кстати чо за хрень такая семафор? |
|
|
Дата: Май 6, 2004 19:57:14 · Поправил: Безпощадный даос Так гра. Хватит. Тема улетает в хельхейм, где ей самое место. По поводу семафора сначала гугли, а только потом задавай вопросы. По делу. А не ля-ля. |
|
|
Дата: Май 13, 2004 03:24:13 Вот тебе кусок моей либы коментарии в ОЕМ\DOS ;‚бпЄ п дЁЈп ¤«п stdio (console) ;Ј®в®ў® ¤«п бв вЁзҐбЄ®© (lib) Ё«Ё ¤Ё ¬ЁзЁбЄ®© (dll) ЎЁЎ«Ё®вҐЄЁ .486 .model flat include kernel32.inc .code ;вгЇ® аЁбгҐв ЎҐ«го Ї®«®бЄг ;edi: ЎгдҐа PLine proc near public push eax push ecx sub eax,eax mov al,0c4h mov ecx,77 rep stosb mov dword ptr [edi],0a0dh add edi,2 pop ecx pop eax ret PLine endp ;Ї®¤Ј®в®ўЄ жЁда ¤«п ўлў®¤ stdout ;edx: ;edi: ЎгдҐа Єг¤ бЄЁ¤лў Ґвбп Ј®в®ўлҐ жЁдал ;eax: д« Ј - ;Є®«ЁзҐбвў® Ў ©в®ў 1,2,4 ;10h ЇҐаҐЄ®¤Ёа® вм hex->dec ;100h ®вЄЁгвм ЇҐаҐ¤ЁҐ г«Ё ;- ЏаЁ¬Ґа: 2+10h+100h -> ¤ў Ў ©в DEC ЎҐ§ г«Ґ© num4out proc near public locbuffer = 10 ;«®Є «мл© ЎгдҐа push ebx mov ebx,esp sub esp,locbuffer push ecx push esi push eax push edi mov edi,edx mov esi,eax and eax,0fh add edx,eax push edx mov ecx,eax xor edx,edx dec edi beru_byte: rol edx,8 mov dl,byte ptr [edi+eax] dec eax jnz beru_byte lea edi,[ebx-locbuffer] test esi,10h ;perkodirovat hex->dec ? jnz transcode add ecx,ecx push ecx rozpodil: mov al,dl and al,0fh cmp al,0ah jb nex add al,7 nex: stosb ror edx,4 loop rozpodil pop ecx jmp final transcode: xor ecx,ecx mov esi,10 mov eax,edx ce_she_ne_vse: xor edx,edx div esi xchg eax,edx stosb mov eax,edx inc ecx test eax,eax jnz ce_she_ne_vse final: pop edx pop edi mov eax,[esp] ;sdes sidit flag xor eax,100h ;otseit perednie nuli? skiday: mov al,byte ptr [ebx-locbuffer+ecx-1] test eax,eax jz otsey_nol add al,30h or ah,1 stosb otsey_nol: loop skiday pop eax pop esi pop ecx add esp,locbuffer pop ebx ret num4out endp ;⮦Ґ Ї®¤Ј®в®ўЄ жЁда ¤«п stdout ;бв ўЁв ®«м ᯥ।Ё Ё ЎгЄўг h ў Є®жҐ ;ўе®¤лҐ ¤ лҐ ў бвнЄҐ ;edi: ЎгдҐа Єг¤ бЄЁ¤лў Ґвбп Ј®в®ўлҐ жЁдал hex4outw proc near rol dword ptr [esp+4],10h push ecx mov ecx,4 jmp idisuda hex4outw endp hex4outb proc near rol dword ptr [esp+4],1ch push ecx mov ecx,2 jmp idisuda hex4outb endp hex4outd proc near push ecx mov ecx,8 idisuda:: push ebx mov ebx,[esp+12] push eax mov al,30h stosb @@: rol ebx,4 mov al,bl and al,0fh cmp al,0ah jb nex add al,7 nex: add al,30h stosb loop @b mov al,'h' stosb pop eax pop ebx pop ecx ret 4 |
|
|
Дата: Май 13, 2004 03:50:35 zzzyab Исправить комментарии на читабельные и воспользоваться тегом для оформления кода религия не позволяет? |
|
|
Дата: Май 14, 2004 14:58:40 · Поправил: zzzyab;для вывода(console) ;собирается как lib .486 .model flat include kernel32.inc .code ;Линия ;edi: буфер консоли PLine proc near public push eax push ecx sub eax,eax mov al,0c4h mov ecx,77 rep stosb mov dword ptr [edi],0a0dh add edi,2 pop ecx pop eax ret PLine endp ;числа в ASCII а также HEX->DEC ;байты берутся из памяти по edx и он увеличевается по их количеству ;по флагу в еax выбор: ;1,2,4 cоответсвенно 1,2,4 байта числа ;10h HEX->DEC 100h откинуть передние нули ;edi место назначения num4out proc near public locbuffer = 10 push ebx mov ebx,esp sub esp,locbuffer push ecx push esi push eax push edi mov edi,edx mov esi,eax and eax,0fh add edx,eax push edx mov ecx,eax xor edx,edx dec edi beru_byte: rol edx,8 mov dl,byte ptr [edi+eax] dec eax jnz beru_byte lea edi,[ebx-locbuffer] test esi,10h ;perkodirovat hex->dec ? jnz transcode add ecx,ecx push ecx rozpodil: mov al,dl and al,0fh cmp al,0ah jb nex add al,7 nex: stosb ror edx,4 loop rozpodil pop ecx jmp final transcode: xor ecx,ecx mov esi,10 mov eax,edx ce_she_ne_vse: xor edx,edx div esi xchg eax,edx stosb mov eax,edx inc ecx test eax,eax jnz ce_she_ne_vse final: pop edx pop edi mov eax,[esp] ;sdes sidit flag xor eax,100h ;otseit perednie nuli? skiday: mov al,byte ptr [ebx-locbuffer+ecx-1] test eax,eax jz otsey_nol add al,30h or ah,1 stosb otsey_nol: loop skiday pop eax pop esi pop ecx add esp,locbuffer pop ebx ret num4out endp ;HEX числа в АSCII (добавляет в конец букву h) ;данние из стека, возврат еdi hex4outw proc near rol dword ptr [esp+4],10h push ecx mov ecx,4 jmp idisuda hex4outw endp hex4outb proc near rol dword ptr [esp+4],1ch push ecx mov ecx,2 jmp idisuda hex4outb endp hex4outd proc near push ecx mov ecx,8 idisuda:: push ebx mov ebx,[esp+12] push eax mov al,30h stosb @@: rol ebx,4 mov al,bl and al,0fh cmp al,0ah jb nex add al,7 nex: add al,30h stosb loop @b mov al,'h' stosb pop eax pop ebx pop ecx ret 4 hex4outd endp Новичек я еще не умею я ползоватся весми этими тегами |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.072 |