@# Quotes DB     useful, funny, interesting





Google
 
Web www.quotesdb.info
Undernet  |  EFnet  |  Quakenet  |  Freenode  |  Dalnet  |  Ircnet  |  Galaxynet
Page: 1 2



Comments:

<0> how would I make a messagebox? invoke MessageBox(0,"testing",0,0) ??
<1> HighNeko, which ***embler?
<1> _testing db 'testing', 0
<1> invoke MessageBoxA, 0, _testing, 0, 0
<0> Ah, thank you
<1> There may not be a ',' after MessageBoxA depending on the invoke macro
<1> Quartus, xor ax, ax makes ax 0 not 1 since each bit gets set to 0
<0> A few hours ago I read something about xor. It might help. http://en.wikipedia.org/wiki/XOR_swap_algorithm
<1> xor cycles each bit of the destination and source and if they are the same that bit in the destination gets set to 0, else 1
<2> the info I have on floating point comparison instructions is very poor. Does anyone know of better text for at&t asm ? I'd like to be able to use jg,jne,jlt,etc. on the results of fcom and ftst
<3> RedGhost, I'm clear on what xor does -- my two choices up there were to zero ax using xor and then load a byte value of one into it, or to load a 32-bit value of 1.
<2> the info I have on floating point comparison instructions is very poor. Does anyone know of better text for at&t asm ? I'd like to be able to use jg,jne,jlt,etc. on the results of fcom and ftst
<1> Quartus, if you want just a byte in AX remember that AL and AH are the Low/High (Hence L,H) bytes of AX
<1> There is always movzx aswell (:
<3> I know that too. I'm wondering which is faster in terms of cycles -- loading a 32-bit value into eax, or clearing eax and loading an 8-bit value.
<1> I have a cycles chart somewhere I think bookmarked, let me check.



<1> But on newer processors they are probably very similar.
<3> The latter is one byte shorter, so I'm hoping there's no particular performance penalty.
<1> http://home.comcast.net/%7Efbui/intel.html
<1> You can review the cycles here.
<3> Thanks.
<1> My pleasure.
<2> is floating point math always faster than integerial math? (fpu vs cpu)
<4> thats a really useful link
<1> brb
<0> What's JE do?
<3> Juggles Eggs.
<0> jump if equal?!
<3> It's what John Edwards has stamped on his luggage. Do you mean x86 ***embler?
<0> I checked google, but gave up quickly because I didn't see many things.
<0> Yes, ***embly.
<3> Google for "\ 4 constant compile-only-flag
<3> \ 8 constant interpret-only-flag
<3> gah sorry
<3> Google for x86 je opcode
<0> I'm seeing in my dissasembler thing, JE SHORT 0040E50C
<3> Seriously, do that google. The first hit is a whole bunch o' info that you'll also need.
<0> Ah, ok. I wouldnt've known how to search for that kidna thing. Thanks.
<3> Always helpful to put some supporting words when searching for something short or general.
<0> Yea, I was trying asm je lol
<3> :)
<0> 'asm je' thousands of hits!
<3> There would be.
<3> even "asm je reference" would have worked, though.
<0> INC EAX ;+1?
<2> which gdb frontend do you all recommend? ddd? insight?
<5> heyo
<6> hi
<7> 'morning
<7> have a look at http://pastebin.com/776606
<7> i have unexpected results from the c compiler
<6> yawn... multibooting, are we?
<8> hm, has asm evolved much since 99?
<6> er...
<6> maybe you forgot to #include the damn multiboot .h file?
<7> mwk, i've patched grub to boot x86_64 images
<6> OEEK?
<7> no, the problem is highlighted in the pastebin (see the ***em output)
<7> the c compiler output seems to begin the function by saving %rdi and %rsi right onto my p***ed arguments
<6> problem? what problem?
<6> rdi and rsi are saved into the locals section of cmain's stack frame.
<7> i think -88(%esp) is the address of my 1st p***ed argument!
<6> the thing that kinda escapes me is why the hell is this frame so fat... but you can't expect gcc to be reasonable without -O
<6> -88(%rbp) it is.
<6> not rsp.
<6> nor even esp.
<7> sorry, %rbp
<6> and space for locals is allocated here: subq $112, %rsp
<6> also, let me go into my standard flame mode for such cases...
<9> fafnir: the basic instruction set is exactly the same
<9> fafnir: and same registers
<7> mwk, see the cmp insn. %edi has trampled my argument
<9> fafnir: but you have SSE2/3 extensions and of course Athlon64 is completely different
<6> WHY THE HELL YOU PEOPLE DON'T LEARN THAT GCC OUTPUTS COMPLETE UNREADABLE BULL**** CODE WITHOUT P***ING -O3 -fomit-frame-pointer?
<6> mcnster: -88(%rbp) contains 'magic' parameter.
<6> mcnster: it is set to magic in line ' movq %rdi, -88(%rbp)'
<6> remember: ON x86_64 ARGUMENTS ARE P***ED IN REGISTERS.



<9> you should set fomit-frame-pointer in debugged stable code only :)
<7> and what is the value of %rdi when the fn begins?
<6> nANDy: -fomit-frame-pointer is unrelated to debugging.
<6> mcnster: first parameter is p***ed in %rdi.
<6> ok, so my second flame
<9> mwk: erm no, you can view local vars, etc, using EBP if your code crashes
<7> mwk, ok then
<9> so you could release some beta without that flag and then set it on the final release
<6> nANDy: without -fomit you can use ESP instead of EBP.
<7> (this fn is being called from ***embler code btw)
<9> mwk: yeah I know
<6> so, my flame.
<7> mwk, thank you. i didn't know x86_64 p***ed args that way
<9> but kernel dumps won't be very informative
<6> DON'T EVER TOUCH THE ***EMBLER-C PROGRAMMING WITHOUT FIRST READING THE ****ING PSABI FOR APPROPRIATE PLATFORM.
<6> nANDy: DWARF debugging format solves everything.
<6> http://x-os.homeip.net/x-os/hdir/pdf/sysv/psABI-x86_64.pdf
<7> mwk, cool. i'll have a look at it
<6> this is the document that you should've read for parameter p***ing conventions... and much more...
<6> also, if you're writing kernel code, you'll NEED to p*** -mno-red-zone to gcc. otherwise, weird ****ups will occur if your code uses interrupts.
<6> gcc manpage and that psABI explain why
<7> excellent, thanks
<7> argh, i was looking for exactly this document last night when coding x86_64 elf translations
<7> ok. back to it. later.
<8> nANDy: hm, cool, i learned it back in the mid to late nineties, and was thinking about refreshing myself
<6> take a look at itanium ***embly language. it's guaranteed to teach you something new. unless you barf before comprehending even the simplest program, that is. which is quite common, actually.
<10> this isnt really asm related, its more of a linux problem, but since im doing it for a demo im writing in asm it cant hurt to ask... does anyone know how to force linux /dev/dsp to start playing without a full buffer?
<6> *barf
<6> *
<9> fafnir: there's not much to refresh, not even from 1995 :)
<6> nANDy: itanium will refresh all your memory, and then some.
<9> fafnir: hasn't been any major changes since 386... FPU/integer/registers is all the same
<9> yeah, Itanium and Athlon64 are completely different
<9> x64
<6> yah.
<6> yet itanium has the unique property of making your mind turn into a pile of wet noodles when you read the manuals
<9> well, x86 is not _that_ much different, but the EPIC part pf Itanium is
<6> yeh.
<6> EPIC, loop register rotation, RSE... everything
<9> conditional execution flags :)
<8> neato
<8> thats a bonus
<9> well, the conditional execution is just a workaround because the engineers are too lazy to make conditional branching more effective
<9> there's no logical reason why a branch would be slower
<9> if you avoid flushing the entire pipeline at predition miss, that is
<11> every instruction on ARM is conditionally executed, so it was weird when I started using x86
<10> x86 is a horrible architecture
<10> if windows was cross-platform i dont think x86 would survive
<9> why do you think x86 is horrible?
<6> yeah... we'd all be using sparc or something
<9> it's convenient to code in x86 compared to RISC
<6> nANDy: CISC. non-uniform instruction length. segmentation. built as hack over hack over 8080.
<9> segmentation?!
<9> you've used flat memory for ages
<9> and why is non-uniform instruction length a problem=?
<6> nANDy: efficient pipeline is impossible.
<9> mwk: it's a little complicated - CISC code is more informative than RISC (like hilevel is more informative than ***embler) which gives the CPU more potential to optimize
<6> nANDy: ... as opposed to RISC code which comes out of compiler pre-optimised. CPU has to do less, so it has less transistors. it's cheaper. good thing, no?
<9> correct
<12> eip on amd64 is called what?
<6> s0ttle: rip
<9> but that's also the reason why EPIC hasn't become more popular - compiler writers don't the heavy optimization
<6> s0ttle: as in, "Rest in Peace'
<12> ah thx
<10> ill take ARM over x86 any day of the week
<10> barrel shifter and conditional execution F T W
<11> the non-uniform instruction length also freaked me out with x86 too
<6> nANDy: because they got used to modern x86 chips which effectively duplicate the optimisation logic in hardware.
<6> nANDy: icc does good job optimising for itanium
<13> nANDy: I think if Intel and AMD want to sell their chips they are going to have to contribute some code to the compiler projects
<13> They should take some optimization stuff and release it into the public domain so gcc and MS and Borland and whoever can all use it
<13> I have never understood why they don't do that
<11> bic r0,r0,r0,asr#31 ftw


Name:

Comments:

Please enter the result of the sum 63 + 46 (to avoid spam):






Return to #asm
or
Go to some related logs:

vista virus intruder spyware
#css
Dreambox cron job
suse10.1 windows domain
#linux
frontcontroler design pattern
glue bison-kit
gsxr1000rr
bcmwl5.sys+driver win2k+ubuntu
#physics



Home  |  disclaimer  |  contact  |  submit quotes