| |
| |
| |
|
Page: 1 2 3
Comments:
<0> hey ive just started learning asm, made my first app, and I was wondering if anyone could recommend me a beginners app to make? something slightly challenging for a beginner (win32, nasm, x86) ty :) <1> an application for windows written in asm? thats torture man, stick to inline asm <2> ownagesbot|meh: why are you learning ***embler? <0> lindi- mainly for the experience :) <0> id love to fully learn asm though, not just win32, id like to make bootloaders and such (in the future of course.. id best learn to walk first :)) <1> bootloaders can be very, very simple <1> its probably easier than writing win32 apps <0> I'd also love to pic program in the future <0> Wow seriously? <0> ive only wrote one app so far though (a message box lol) <1> a boot loader that only loads some sectors from a disk and executes the code contained therein could be done in 50 lines or less <1> if you need filesystem support, it gets a little more complicated <1> FAT12 is really simple though <0> So how about a floppy disk bootloader that just launched say idk, a batch file or some executable, would that be hard? <3> batch file? that'd involve writing a complete command interpreter <3> some executable? depends on type. MZ [DOS] exe is fairly easy to load, but if this exe uses OS functions, it won't work
<0> Im on about a DOS one ;) <3> bootsectors are for loading *operating systems*, not programs. <1> yeah, there's a huge difference between executing code and running applications <0> Okay how about one that would boot my default OS from floppy, would that be hard? <2> depends on the OS <0> winxp? <2> i doubt it fits to floppy :) <0> Ugh, sorry lemmie rephrase <3> winxp involves complex mode-switching to run it <0> boot my default OS (on my HD) from my boot floppy <0> make more sense? <1> you can't really boot winxp on your own, bootloaders just run xp's own bootloader via something called chainloading <0> ah okay <2> indeed it's proprietary <0> for now I just wana write a basic app though, something say 20-30lines, but im not sure what <2> write a shell? <0> Wonder if I could make it, hmm.. <0> I guess I could have a shot at it, ill probably need to read some more of that tutorial first though, I guess :) <1> while kind-of boring, recreating ALU operations with simple(r) instructions can be a good learning experience <1> to familiarize yourself with the whole bit-twiddling thing <0> Yeh, tbh I don't care how crappy or boring it is, I just wana learn some asm :D <0> I only know high level languages (Java and such), wana get some asm under my belt, who knows when it could be useful ay? <4> 20-30 lines is a bit small for asm <1> writing shellcode, on the other hand, is alot of fun but it doesnt really teach you everything you need to know for real-life applications <3> you mean, there are real-life asm applications? <1> heh <1> well, yeah <0> cool, found this: http://www.osdever.net/tutorials/hello_btldr.php?the_id=85 im think ill have a stab at following that :P <1> i'm sure they exist <1> i dont know what they are, though <1> i was going to say microcontrollers, but they probably run java these days <3> PIC != x86 <0> I wana learn some PIC :P <5> mwk: it's still ***embly tho. <0> java is great, but id just love to start "from the beginning" as it was <1> mwk: knowing x86 asm is still helpful though <3> pc stuff involves calling OS stuff, and having lots of room to work with, even if you're writing in ***embler... for PIC, you ARE the OS and have very limited space <3> true <1> you have the registers, the opcodes, etc <6> what you think about efficeon processors ? <1> branches <3> geocalc: i think it has funny name. <1> all the low-level stuff thats fundamentally different from high-level languages <4> branches on small processors can be fun when they wont reach by a couple of bytes <6> mwk and ? <3> geocalc: and. <6> .. <5> geocalc: i don't think anyone has an opinion, so you might as well stop asking. <6> lol ok <0> I think asm is all about remembering what things do, like "ah", "bl" and such for printing chars etc. <0> just a quick one before I goto bed, does a DOS program start on label "main"? <2> ownagesbot|meh: what does that mean? <2> there are no labels in the binary that you execute <3> ownagesbot|meh: depends on ***embler, linker, everything. <0> nasm :) <3> ownagesbot|meh: DOS just sees an *address* of your label, not its name. <0> I noticed it was ..start: for win32 <3> ownagesbot|meh: linker? output format? <0> mwk i realise, I should have said "compiler" <2> if you say ".org 0x100" then the next instruction will be the first one executed in COM file
<2> no matter what labels you have there <0> aight ty, im off to bed g'night <7> Hello, does someone knows the PE file format ? <7> I am looking to force section .rsrc to be loaded in memory as it seems to not be. <7> What are the fields/value to check so I am sure the section is mapped into memory ? <8> at the beginning of a function, when i see addition/subtraction to esp... what is that actually doing? <8> like say a function starts with: push ebp; mov ebp, esp; sub esp, 10 <8> what would that 10 actually represent? <9> Frame Pointers <8> HuntsMan: but specifically? <8> HuntsMan: actually, nevermind, i found my answer <8> http://en.wikibooks.org/wiki/Reverse_Engineering/Functions_and_stack_frames <8> brb <10> prout <11> hi <12> hi <11> anyone could help me how to use a pointer in a visual studio __asm block? i'm trying to use something like x=table[idx]. where table is a pointer to a float array. i got the index in edx <11> i got no idea how to use pointers in masm <11> actually, does the label 'table' behave like any other variable? <12> iirc you can use vars in an inline-block in visual-studio just like in c <11> yea but it's a pointer to an array and i don't know how to use it <11> tried stuff like: <11> mov ecx, dword ptr [tri_table], fld dword ptr [ecx+edx*4] <11> fld dword ptr [table + edx*4] <11> these result in a crash <12> wtf? there operands for mov? <12> three* <11> fld = load into FPU register <11> no, it's 2 operands <12> is your array something like "float table[];" <11> ecx and dword ptr [tri table] <11> yea <11> it's float table[40][1025] <11> so i calculate 1025*table_no+idx in edx <12> than its not a pointer <11> so if I save edx to a variable idxx2 and use 'float t1 = * ((float*)&tri_table + idx2);' in c++ that works <11> so edx is a correct index <11> then what is table? <11> if not a pointer? <12> arrays!=pointers <11> well, i cast it to a pointer to float using the *((float*)&tri_table and it works like that <11> arrays=pointers in my opinion <12> if i have int f[29]; you could write _asm { mov eax,f[28]} iirc <11> since when you p*** an array to a function in c++, only a pointer is p***ed <11> ok i'll try <12> yeah when you p*** it to a function <12> then only a pointer to the first element is p***ed <11> that's true <11> table[0] = *table <11> table[2] = *(table + 2) <11> so table behaves as a pointer <12> to because the type of int table[20] is int[20] where as int *table the type is int * <12> s/to/no <11> yea, true, they're not totally eqivalent <11> obviously <12> but any away since you can access local-vars in your _asm statement directly <12> why dont you write "fld table[foo][bar]" <12> or whatever you want to do :D <11> cos i got an 'improper operand type' error when i try to do that <11> i can't use that like that <12> hmmm <12> what line does he complain about? <11> fld table[0][5] <12> and if you do: "float f; fld f"? <11> i can do fld f <11> but i want do do it in asm not in c++9 <11> that's the point.... <12> no what i meant is create a local var 'float f' and do _asm{fld f} <11> but i create a local varin c++ not in asm <11> i want to do everything in asm not in c++ <12> thats just a test <11> when i type float f = table[0][f] <11> when i type float f = table[foo][bar] <11> flx x works if x is a local float variable
Return to
#asm or Go to some related
logs:
Command failed: Block device required #math xserver-xorg postinst /etc/X11/X; file has been customized debian testing #ubuntu libdvdcss ubantu #css gnome art-manager repository #kde emerge sandbox monodoc unhandled url
|
|