| |
| |
| |
|
Page: 1 2
Comments:
<0> where can i find the syntax for gcc's ARM ***embler? <1> hey all <1> does anyone know a good resource for small asm programs sources? <2> lukus001, I have one on my server, if you want a link <1> yes please, everything help in my learning process ^^ <2> http://mikemiller.dyndns.org/rot13.asm <2> please note that that program uses linux kernel interupts and will not work on a non-linux box <1> or my 64bit linux box..? :) <2> It should work <1> probabily, but i wont risk running it anyway lol ! i just freshly installed this baby <2> actually, on 64 bit it wouldn't work <1> What is this program used for may i ask? <2> that program is writen ***uming a pointer is 4 bytes wide (such as in ia32), and 64 bit machines use 8 byte pointers <2> lukus001, the program does pseudo-encryption <1> ah cool <1> Thanks for the file
<2> your welcome, the source should be ***embled with fasm <1> ill explore it's guts tomorrow <1> fasm, ok ill make a note of that :) <1> thanks again, bye :) <0> can anyone recommend a fixed point division routine that doesn't require a much larger intermediate type? <3> lol, rot13 <2> ned, what? <4> ahoy hoy <5> hello <6> hello <7> does someone know a good tool to convert simple asm to C ? <6> hmm, not me :) <8> hmm <8> why don't you use asm directly? <7> I want to convert the ***embler from the huffyuv project back to C <8> hmm <8> then it's better to rewrite it <7> rewrite>? <6> !pastebin <6> no paste? <9> http://modseven.de/pastebin.php <8> that you write it new in C <6> i have this problem: <8> yeah <8> what's the problem? <6> http://modseven.de/pastebin.php?id=993 <6> i'm not very familiar with intel syntax <8> learn it, it's quite easy <6> i tried to do: <6> movl 0xDEADBEEF, %eax <6> movl $0xDEADBEEF, %eax <6> but they both get outputted as: B8 EF BE AD DE mov eax,0DEADBEEFh <6> anyone has any idea why this? is my intel syntax wrong? <8> yes <8> i know it <8> its little endian <8> i mean it's correct <8> the lowest byte will be stored at first <6> no <6> not this <6> if you look at disasm.exe output <6> (the one from the link) <6> you see that both instructions output same opcodes <8> ok i will have a look <9> that's a bit weird actually.. <6> so my intel syntax must be wrong, or it's something plain wrong with dissasm or msft compiler :) <8> re <8> so what is the $ ? <8> the intel Syntax hasn't such thing <8> you can just write <6> no, please read the link <6> http://modseven.de/pastebin.php?id=993 <6> pusha <6> mov eax, [0DEADBEEFh] <6> mov eax, 0DEADBEEFh <8> you can't write mov 1233,eax <6> that's what i've used <8> only mov eax,123 <8> or mov [123],eax <8> wait a moment i'm busy
<8> okay that the lines <8> mov eax, [0DEADBEEFh] <8> mov eax, 0DEADBEEFh <8> get the same code is strange <8> what ***embler are you using? <6> i use inline ***embler <8> oh <8> in delphi? <6> vc++ <6> http://modseven.de/pastebin.php?id=994 <6> here is the actual code <8> hmm the inline ***emblers are not the best <8> i think <8> the syntax is a bit different <8> in vc++ to store in asm something from a address <8> not the brackets <6> no? <6> hmm <8> i do not think <6> it should report an error at least <8> it would be the only explanation <6> wow <6> another strange thig: <6> http://modseven.de/pastebin.php?id=995 <6> i've modified one instruction <6> ah, that's wrong on my side <6> i need mov dword ptr <6> let's see if previous example works with dword ptr <6> no <6> doesn't compile at all <6> errrem <7> mov ebx,eax; mov cl,al; what's 'al' and 'cl' ? <6> they are registers <10> low 8 bits of eax and eax <6> al is the first byte in ax, ax is first word in eax <10> * and ecx <6> cl is the first byte in cx, cx is first word in ecx <7> in C it would be: int ebx = eax; char cl = (char) eax) & 0xff; - right? <10> ecx = ecx&-0x100 | eax&0xFF <10> since cl is a part of ecx <8> re <7> inline gcc ***embler is "mov src, dest", right? <6> yes <6> movl actually <6> or movb or movw <6> or movq <7> how does "byte ptr [&decode_shift_table+ecx]" translate to gcc asm? <6> movb %al, %ecx(decode_shift_table) <6> this moves al to that location <11> many times gas can "guess" the operand size though <6> i don't like to rely on that <6> that's why i don't use intel syntax in the first place :) <7> and "[ebx+edx+1]" ? <11> "rely"? you don't have to "rely" on it specifically, if there is any ambiguity you'll get an error <6> %ebx(%edx,1,,) or something like that <6> oggis_ yes but it's not readable <11> that's your opinion <6> yes but i use the code, so it's my opinion that matters :) <11> my opinion is that intel syntax is more readable than at&t in every regard. at&t is nice in a way that it doesn't have ambiguity, which makes writing the ***embler easier, because it doesn't have ta have any deduction logic, but imo writing and reading the ***embly itself much harder <11> well, it's not like at&t is impossible to hand-write, just more cumbersome and less enjoyable <7> and gcc uses at&t ? <11> it can use both <11> by default, yes <11> (this is of course only on intel) <11> (platform) <7> and yasm uses what? <11> nasm, which is mostly like intel syntax <11> by default <11> and also at&t <8> nasm uses intel syntax <8> at 100 percent <8> or say at 99 and two percent <11> well, no <8> 98 i mean
Return to
#asm or Go to some related
logs:
totem-exine
#dns #linux sed commands from command line :a;N;$!ba #centos Luminocity rpm Driver error was 1/2002 mysql ubuntu atiixp no sound qemu fsimage #qemu
|
|