посмотрите прогу, Fasm&linux
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
посмотрите прогу, Fasm&linux - 2007-01-03 21:47:13.426666
|
|
|
MalыШ
Сообщений: 34
Оценки: 0
Присоединился: 2005-08-23 22:09:42
|
народ! нужна небольшая помошь! кому не трудно скомпильте мою прогу, нужно проверить на работаспособность. вот моё детиЩе: format ELF section '.text' code readable executable include 'fasmlib.inc' public start as '_start' start: ;initialize modules call stream.init jc error call mem.init jc error push fr1 push stream.stdout call text.write mov eax,3 mov ebx,handle1 mov ecx,2 mov edx,filename1 int 0x80 mov handle1,eax mov eah,3 mov ebx,handle1 mov ecx,199 lea edx,buf1 int 0x80 cmp ax,0 je exit mov countb1,eax mov eax,3 mov ebx,handle1 mov ecx,2 mov edx,filename2 int 0x80 jc error_ mov handle1,eax mov eah,3 mov ebx,handle1 mov ecx,199 lea edx,buf2 int 0x80 cmp ax,0 je exit mov countb2,eax mov eax,3 mov ebx,handle1 mov ecx,2 mov edx,filename3 int 0x80 jc error_ mov handle1,eax mov eax,3 mov ecx,2 lea dx,filename3 int 0x80 mov handle2,eax read: mov eah,3 mov ebx,handle1 mov ecx,199 lea edx,buf3 int 0x80 cmp eax,0 je vivod mov countb3,eax call crypt mov eah,4 mov ebx, handle2 mov ecx, countb3 lea edx,buf3 int 0x80 jmp read error_: push eax call err.text mov ebx, eax push frerr push stream.stderr call text.write push ebx push stream.stderr call text.write call stream.uninit call mem.uninit push 1 call process.exit vivod: push fr2 push stream.stdout call text.write exit: push 0 call process.exit crypt proc mov ecx,countb3 xor esi,esi xor edi,edi xor ebx,ebx krp: mov eal,buf1[esi] mov eal,buf2[edi] mov buf3[ebx],eal inc esi inc edi inc ebx cmp ebx,countb3 je endproc cmp esi,countb1 jne m1 xor esi,esi m1: cmp edi,countb2 jne m2 xor edi,edi m2: loop krp endproc : ret endp section '.data' data readable writeable handle1 dw 0 handle2 dw 0 filename1 db 'file:\home\denis\kluch.txt',0xA filename2 db 'file:\home\denis\gamma.txt',0xA filename3 db 'file:\home\denis\text.txt',0xA buf1 rb 200 buf2 rb 200 buf3 rb 200 countb1 dw 0 countb2 dw 0 countb3 dw 0 frerr db 10,'error,error',0 fr1 db 'shifrovanie gammirovaniem kluchom i signaturoi',10,0 fr2 db 'shifrovanie uspeshno zaversheno',10,0
|
|
|
RE: посмотрите прогу, Fasm&linux - 2007-01-04 19:10:47.360000
|
|
|
MalыШ
Сообщений: 34
Оценки: 0
Присоединился: 2005-08-23 22:09:42
|
ладно зададим немного другой вопросик! надо перевести из тасмовского синтаксиса в фасм. такую строчку mov eal,buf[esi] транслятор сильно ругается. чёто ничего придумать не могу. заранее спасибо за помошь. если таковая будет.8D
|
|
|
RE: посмотрите прогу, Fasm&linux - 2007-01-04 22:31:03.653333
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
регистра eal нету. есть al, есть ax, есть eax, есть, по-моему, rax. а eal нету. судя по логике программы, тебе нужен просто al.
|
|
|
RE: посмотрите прогу, Fasm&linux - 2007-01-06 14:54:52.806666
|
|
|
MalыШ
Сообщений: 34
Оценки: 0
Присоединился: 2005-08-23 22:09:42
|
эта строчка будет выглядеть так: mov eax,DWORD[buf1+esi] p.s. всем спасибо! я дописал кусовую! [&:] а по поводу rax, так это я встречал при описани буфера: например в тасме buf db 10 dup (0) а в фасме buf rb 10 ; под *nix или используется 10h для большего если я понял о чем вы хотели сказать.
|
|
|
|
|