|cjb0087||I am planning to learn assembly, mainly because most people say to since it increases you knowledge of computers someway....
anyway ive been unable to find any GOOD tutorials on it anywhere, most of the alrightones have conflicting stuff.
I was hoping that almar may be able to shed some light|
|Sr. Guapo||Good luck... did you do a google for ASM/assembly tutorials, There should be quite a few tutorials out there...|
|masterbooda||problem with assembly, is you have to choose a instruction set to learn, I would suggest, actually looking up some emulator coding tutorials... for all of the console systems used assembly, and it is a good place to start... I learned on a 6502 architecture(nes system), that was a good place to start... most instructions sets are similar except maybe a few things... Just choose one that will work with you and go with it... and you can find numerous tutorials on line, just do what sr. quapo suggested and do a google search.
|masterbooda||And one more thing, assembly is good, because it teaches you memory management, because you work directly with the stack... It does give you an appreciation, if not more knowledge, of a higher end language...
|Sr. Guapo||If you had problems understanding pointers in C/C++, it will be near impossible to understand low-level memory features (like the "stack") in assembly/ASM. That is where a very solid understanding of how a computer works in it's entirety comes in handy... [;)]|
I can do ASM.. but not C :). I haven't touched a C compiler in my life. :).
Anyway, on my site youll find some basic math examples.. by just messing around with DLL's and VB, you'll learn a lot.
btw: Don't try this on Win98/ME, you'll need 2k/XP :)
Originally posted by Sr. Guapo
If you had problems understanding pointers in C/C++, it will be near impossible to understand low-level memory features (like the "stack") in assembly/ASM. That is where a very solid understanding of how a computer works in it's entirety comes in handy... [;)]
|VBBR||And I can't learn for the life of me how stacks work...|
|Sr. Guapo||Nobody does... except for the people who developed the computers after 10 years of graduate training in computer engineering/architecture...|
|masterbooda||The thing that confused me with the stack, was all the push and pop... because sometimes you pushed and then pushed again, and then popped once, and I couldn't keep track anymore... I would suggest only using assembly to code math functions to be used in vb... because of the speed increase... of course anybody is smarter than me...
|VBBR||Yeah and what sense does this push/pop stuff make? And I need to know stacks, to use in OpenGL, Lua, NSIS, etc... and maybe even ASM...
And masterbooda... stop making little of yourself, this is bad because we end up convincing ourselves that we are less capable and eventually really being.|
|cjb0087||Yeah, ive always wondered how to make NES games, ill give it a shot.
Thanks for all your input, i ended up making a 20 line program on the school computers using the a86 compiler, it just printed 'first asm program' to the screen :)|
|Sr. Guapo||Not "hello world"? J/K, Wow, 20 lines, in VB I could do that with... lets see... one!
What always confused me about assembly were the registers... I never understood how there were only a few 1 byte registers you could use... It is a good thing I didn't learn to program in assembly... I never would have used a computer again!|
|masterbooda||The problem with the 1byte registers, is you had to split your long variables up and spread them to about 3 registers, so to multiply 1 * 256, since 256 is more than 1byte, you have to use two registers, and use a multiplitive additive type of dilly and forget it!!! give me my vb!!!
|Almar Joling||eh.. 1 byte? I never even saw Those :)
I'm only familiar with AX = 16 bit, and EAX = 32bit... andon a 32bit proc you'll only use 32bit probably anyway (so ecx, edx, eax, etc)|
|Sr. Guapo||That is weird, the tutorials I have seen showed some 1 byte, and I think a 2 byte... I don't think I have ever seen a 4... I guess that makes alot of sense though... [:)]|
|masterbooda||Your extremely old chip sets, we are talking radio shack color computer's here, are only capable of the one byte, but it is rare, but your new chips are capable of 32 bit, makes things a little easier, but not much.... because you still have to do some bit shifting to multiply and divide...
|Sr. Guapo||Yeah... I think I just saw the really old tutorials. Also, the thing I want to learn it for is for graphing calculators, which use z80 processors (don't laugh, and yes, I am a nerd)... I looked at non-bitshift multiplication, it was crazy... It made no sense to me...
PS - Somebody look at the radar around Stillwater... We are getting pounded!!! Gusts up to 80 mph...[:)]|
|masterbooda||Please keep that storm where you are, even though it is coming my way here in arkansas, I remember spending many a night growing up in OK, sleeping in a storm cellar...and knock on wood, haven't had to do that here yet...
As for the geek thing, aren't we all, I think the word assembly in the dictionary, says also look under geek...
|VBBR||Lol, but isn't it right?
I'm not at the assembly stage myself at the moment (but I'm in the C++ one, so I guess the next will be ASM [:D])|
|Sr. Guapo||I kinda skipped C/C++... I know enough to write a simple console I/O program, and maybe a little math, but that's it... It is easy for a programmer to learn the basics of another language, but learning all the tricks and everything can take a long time...|
|cjb0087||heh, programming languages arn't that hard (for me anyway)
the only reason i think we all prefer vb is thats its wasy to setup forms in and create a nice UI|
|masterbooda||The thing I like about vb, is the fact I can dive right into the game code and not worry about the programming language, it is easy and does exactly what I want it to do... sure I sacrifice some speed, but honestly anymore, it isn't enough to matter.... I can make a game in vb that runs 500fps, and make it in c# and it will run 650fps.... that to me isn't that serious, because I am going to target my fps at 60 anyways... with the newer computers, speed isn't an issue anymore, not like the old days, where you had to fight for speed... of course I am partial to vb because basic was the first language I learned... so that might have something to do with it...
|VBBR||I am here willing to prove to everyone that VB is capable of creating good (and fast) games... And very good software too. So I try to create good/fast games and very good software [:D]|
I've read books written back when 286'es were common saying the same thing. Oh yeah, they say, ASM won't be used much anymore, since computers are so fast. . . Now we have 3Ghz+ computers and people are still learning and using ASM to get the speed they need(TM).
This time it's for real though, right?[:p]
Ok, seriously, I know it's true you don't have to fight so hard to do the same things you used to do. I just like to jump on people who make that particular generalization.[;)]
with the newer computers, speed isn't an issue anymore, not like the old days, where you had to fight for speed...
|masterbooda||When I have the need to get more speed, then I will do so... and I will learn what I have to... to gain that speed, but at the moment... I don't need to, and I do not see the need to force yourself to master a language, that is really not going to be useful to you... that isn't to say, that one needs to know generally about other languages, but to simply master a language for no other reason than bragging rights, is kind of silly and a waste of time, ... get busy programming what you know... but this of course is just my opinion... if you want to learn assembly... then go for it... but don't do so, just to say hay I'm smarter than that guy... this seems silly to me..
|cjb0087||im not doing it to say im smarter than anyone else.
the only reason im doing this (and the reason i got into programming in the first place) was because i was curious and wanted to learn more about computers|
|VBBR||I think he wasn't directing that directly to you, but anyway...
About your reasons... I must say, same here! Aren't computers such a fascinating thing?
<--------- See, I just found out what the next rank name is [:D]|
|Sr. Guapo||Personally, I need to learn assembly to program graphing calculators, but I also do like learning about computers... Heck I was planning on overclocking my Pentium 133 over the summer, just for fun [:p]...
PS - I like the new rank, when is the next level? 500?|
|masterbooda||That is a good reason to learn assembly, because you want to and you want to learn about how the chip really works, because that is what assembly teaches you...
I had just gotten into arguments on mirc with guys who say that vb has no power and is a language for idiots... this to me is a false statement, because as you all know vb is very capable of doing anything you want and for the being for idiots, this is totally false, because I'm an idiot and have dabbled in all the languages and grasped them easily... and the posts you guys post in here are not the posts of idiots... I will agree that VB is an easier language than most, but to me that is progress, why should a language be cryptic and hard to understand..... I am sorry but I always feel the need to defend Visual Basic, or any Basic.... I am just trying to get more people to accept that vb is a wonderful language...
But of course I am preaching to the choir here.....lol...
P.s. I do encourage the learning of assembly and other languages, because it will give you a better understanding of how the machine works.... and this is always a good thing, but do it for that reason, not to prove your smarter than others... that just irks me... there is this underlying need to be superior with some programming guys... its probably a competitive thing, which I never had any of that...|
|masterbooda||Oh and congradulations to SwordMaster VBBR!!!
|cjb0087||heh, wonder whats after swordmaster, 'ive finished a game' possably? (not ment to be offensive)|
|Sr. Guapo||I definately don't fit in that category...|
|EACam||Yeah...forget it...not even 500 posts would get me that.|