@# Quotes DB     useful, funny, interesting





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



Comments:

<0> hey all
<1> ok iam currently extending the debugger
<1> woops
<2> hi
<2> stupid question but: what are some common uses for 'XOR'? is it only used for encryption/decryption stuff?
<3> no, random number generation, xor a,a a quick clear and other logic
<2> what other logic?
<3> whatever the programmer requires
<3> bit inversion is a normal use
<4> So changing code segment (cs) is special because you cannot do it with a mov command? You must do a far jump (jmp far?) ?
<4> Is 'jmp far' a special intel instruction just to set cs?
<4> (and ip/eip ?)
<4> IS the 'far' part optional? ...jmp 0xabc:0xdef ok w/o 'far' ??
<4> and far means 'change segments' right?
<5> yes far calls/jumps are intersegment
<5> short/near are intra



<6> What does it mean to jump segments?
<7> back
<7> i think it means you change code segments.
<6> I always thought a running thread only has one code segment
<7> by jumping or changing it manually.
<7> you can have X
<7> X number of CS.
<6> Why would you want a second code segment?
<7> because your code is huge
<7> or you generate dynamic code and what top execute it
<7> or you load another program and jump in
<6> As far as I know, you can only do that if you have access rights into that other programs address space
<6> which typically you don't have
<5> segment is limited to 64k in real mode
<7> yeah
<5> so you have to change segment if your code > 64k
<5> in protected mode
<5> you need to change segment if you want to change your cpl
<4> edcba: cpl?
<5> ring3 .. ring0
<7> current privilege level
<4> ah
<5> but segments tend to be not really used anymore
<4> thank goodness
<4> except to climb over them in the boot loader
<4> so are there multiple ways to change segments? seems there are...
<4> jmp 0xabc:0xdef
<4> jmp far 0xabc:0xdef
<4> ljmp 0xabc:0xdef
<5> they are the same
<4> edcba: all 3?
<5> yes
<7> mov cs,0
<5> you can't address cs directly
<7> that'd be col
<7> cool*
<5> you could with a 8086
<5> pop cs
<6> can't pop cs either
<4> pireau: cs is weird cuz you can't even change like you can ds, ss, es, fs, gs
<7> i know
<5> i said with a 8086
<7> it's like eip
<7> you can't change it directly
<7> only with call/jmp/iret/ret/sysleave/sysenter (last 2 i'm not sure)
<6> whats sysleave and sysenter?
<5> jmp/call/ret far iret
<7> and then some :)
<7> __mikem: "fast" system call thingny
<5> yes sysleave sysenter int
<7> never looked into it that much.
<5> into
<5> int1
<5> int3
<7> etc
<5> bound
<5> any instruction that generates a int :)
<6> sysleave and sysenter sound like isntructions that the intel optomization manuel would tell you not to use
<7> haha
<7> i don't have that manual
<4> edcba: is left part of jmp 0xabc:0xdef (i.e. 0xabc) 16 bits like segment registers are?



<4> segment part*
<5> of course :)
<5> right part is either 16 or 32 bits
<4> edcba: but there this 4 bit left shift so wasn't sure
<4> the multiply by 16
<4> thingee
<4> Any chance PAGING won't be used in future as amount of RAM approaches addressible limit of CPU?
<4> e.g. 386 laptops w/ 4 Gb RAM
<5> you didn't heard about 64bits cpu ? :)
<8> seb-: you forget that the Pentium Pro and up can address 64gb of memory
<8> due to its PAE extension
<9> What's the AT&T x86 syntax to load a value from 4*eax+ebx into ecx?
<6> some versions of gas have a switch that enables intel syntax, .intel_syntax noprefix
<9> Interesting
<10> PenguinOfDoom: Been a long time, but isn't it something resembling mov %ecx, (%ebx,%eax,4) ?
<9> avx: Yes, except with swapped argument order.
<10> aha :)
<9> 400477: 67 46 0f 44 04 95 ef addr32 cmove 0xffffffffdeadbeef(,%r10d,4),%r8d
<9> 40047e: be ad de
<9> Ain't it beautiful?
<9> 400481: 67 47 0f 45 04 91 addr32 cmovne (%r9d,%r10d,4),%r8d
<9> Oh, sign-extended.
<10> Makes me wonder why I ever, ever programmed in asm :p
<9> Pity gas is not a library :P I could sure use that.
<4> [label] is *contents* of label rather than the address.....THEREFORE, seems you should do lgdt GDT_LABEL rather than lgdt [GDT_LABEL] right?
<4> my docs say otherwise >:|
<4> nasm won't me write to frame buffer w/ this instruction...why?===> mov 0x000b8005, 0x1b
<4> i get : error: invalid combination of opcode and operands
<4> everyone says intel stack grow DOWN but is it possible to set up protected mode descriptors so that stacks grow UP???
<4> if it is really true stack ALWAYS grown down then i can put esp at 0x00007c00 and it will NEVER blow away my boot loader in memory RIGHT?
<9> Is there a not-abandoned JIT library with a C API? softwire, ccg and lightning are a few years stale and LLVM wants C++.
<7> ahoy
<4> is writing to frame buffer ONLY allowed in protected mode for some reason?
<4> ....or can only draw to screen with it in pmode?
<7> what do you mean frame buffer
<4> pireau: boot loader docs suggested by writing to a region of memory...0x000b800 iirc, you could write to screen which would be a TEST if whether you
<4> successfully moved to pmode
<7> well usually, if you set a GDT an LDT and set bit 0 to 1 in CR3
<7> you're in pmode
<7> 0xb80000
<4> is there a reason frame buffer usage only works in pmode?
<7> that's the vram
<4> yes
<7> it should work in realmode too
<4> darn..my boot loader worked w/o crashing...
<4> i'm looking for confirmation all is rosy and bugfree
<7> hehe
<11> Kennt jemand einen guten MUD-Client fr Linux?
<12> tf?
<13> 'morning
<14> morning
<15> where can i find a nice directx wrapper lib?
<16> can someone help with with something?
<16> its simple question about debugging
<15> NOPx86: just ask, dont ask for help..
<16> nevermind i got it, sorry about that
<17> Can someone help my understand how the call stack works, please. I'm a bit confused.
<18> I can.
<17> Polarina: brilliant. I understand that when a function call is made, a new stack frame is created. This allocates space for the local variables, parameters p***ed to the function and the return address.
<17> What I'm not sure about is what the base pointer and frame pointer is used for, nor how the process fits together.
<18> Are you making an Operating System or what?
<17> learning how compilers work.
<18> Compilers, parse code and turn it into ***embly code. :)
<17> sure, but what code do they generate? What does the code they generate do? It does what i mentioned, but i dont know the details :)
<17> do u know?
<3> well compilers could implement/use stacks in different ways
<14> rioch_: the calling conventions are compiler specific, and platform specific. if you're doing it in ***embly then you can your own calling convention
<19> a nice book called Wrox - Professional ***embly Language - 2005 - (By Laxxuss).pdf...it teachs u this... :D
<17> .pdf? lol
<19> yeah
<19> ebook
<18> rioch_: It means you can find this book on p2p. :)
<14> rioch_: even with visual studio, if you enable optimizations then you'll end up with different calling conventions, like some values stored in registers before a function call to avoid using the stack.


Name:

Comments:

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






Return to #asm
or
Go to some related logs:

sarge moodin
install bugzilla centOS
Unable to access jarfile startup.jar
#ati
#debian
*Warning*: mail() [function.mail SMTP server response: 550 5.7.1 Unable to relay
#css
#linux
#perl
uantifier follows nothing in regex



Home  |  disclaimer  |  contact  |  submit quotes