Author Topic: asm discussion  (Read 4884 times)

0 Members and 1 Guest are viewing this topic.

Offline necro

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1295
  • Rating: +17/-2
  • +3 vaporal mustache
    • View Profile
asm discussion
« on: December 16, 2006, 01:16:00 pm »
Since some of the replies seemed nothing short of hostile to flame like...post removed.  Also, I removed the quote of my original post per reaction to it.

And as a notable point, there are very few good games in asm...most are about as complex as a ship going up/down and enemies coming across the screen.
I'm like a woot burger with awesome fries


VB.Net, C#, C++, Java, Game Maker

spengo

  • Guest
asm discussion
« Reply #1 on: December 16, 2006, 02:45:00 pm »
1: uh... tasm? "asm " Not particularly complicated if you ask me...
2: same thing as why people go wtf instead of writing the whole thing out I expect. Would you rather type "LoadRegister" or "ld"?
3: header and ending is different depending on what shell you are using. And anyways it's just copy and paste from the templates that come with ION or Mirage or whatever.
4: memory is just pick a place in the memory to save ur data. You can think of registers are vehicles. Load your dataz into ur car and then dump it out wherever you need it I guess.
5: I dunno about the size restriction thing. Must be something weird in z80 calculators

Assembly is more like tell the computer exactly what to do with each little piece of data. This makes it kinda tricky if ur not used to it, but you have to admit, it pwnz basic when you do get good at it.

Post child of programming is C++! woot woot woot!

Oh, one thing I have to mention, I've looked at some of the code you uber-1337 basic dudes put out and it looks like #_# to me! 10x more complicated than anything I've ever seen in asm.

Liazon

  • Guest
asm discussion
« Reply #2 on: December 16, 2006, 02:53:00 pm »
1: I agree w/ spengo.  you can even write a makefile or batch file if you need to.  but the one described in ASMin28 is pretty decent.  I just don't use it anymore and write batch files for individual projects.
2: if you're using TASM, you could make macros like #define loadregister ld if you want  you probably shouldn't complain considering how x86 and 68k ASM have commands as vague as pea and lea, which are like industry standards apparently.
3: agree w/ spengo there
4: well, ironically spengo, I guess that's why a fast bus is important lol jk jk.  I imagine them as post office boxes for some reason.  duno why that analogy works for me.  and then the registers are just sorting carts that move around manipulating the letters.  duno why I use that analogy.
5: size restriction -> unless you're making an RPG, it's unlikely you'll reach the 8 kb size restriction on the Ti-83+/84+(SE) calcs.  You always have the option of making it an app, which can be sizes of multiples of 16kb

Assembly and C and even C++ go hand in hand imho.  

Also, just ask for help if you don't understand something.  We'll be more than happy to help :)smile.gif

as for spengo's last statement, I kinda have to agree cuz I don't know any basic so sorry, basic confuses me a lot x.x, but it's still impressive the work that gets done w/ it :)smile.gif

Liazon

  • Guest
asm discussion
« Reply #3 on: December 16, 2006, 03:13:00 pm »
you can always try http://geocities.com/calcul831415/help/Assembly.zip

oh and ix lol, don't bother, it's a bit cryptic in itself and unreliable imho cuz it's slower than the ASM coder's friend, hl.  use it just to adjust flags, like the runindicator flag, etc.

elfprince13

  • Guest
asm discussion
« Reply #4 on: December 16, 2006, 03:40:00 pm »
QUOTE
quote removed

with 2nd gen languages its "assemblers" not "compilers".
ummm...no....they aren't.....the issue you have with TASM is you copy down the batch files people give you like there's no tomorrow and don't bother trying to understand what it MEANS. TASM doesn't care where you files are, you just have to tell it where to look. Look at the Phoenix build directory to see what I mean.

QuoteBegin
-->
QUOTE
quote removed

because assembly in general predates Fortran. in case you haven't noticed Fortran is a 3rd generation language......assembly is a 2nd generation language. each command is just a pneumonic for an opcode. there is no "language specification" like there is for 3rd, 4th. and 5th generation languages, so if you don't mind writing code nobody else can use and writing your own assembler then feel free and come up with your own command names (hell, you can even just define macros for all the commands you dont like at the start of your program and call them whatever you want). on a side not push and pop define exactly what they do. Stack operations have those names in EVERY language or stack implementation I've ever seen. End of story.
QuoteBegin
-->
QUOTE
quote removed

the point of tutorials is generally to read them in order. the rest of the code in there is whats known as "snippets", you can use it in any program you want. Furthermore CoBB's Independent z80 guide is an excellent reference (you will need to learn 83+ specific stuff on your own if you use it). The jokes in there are generally to releave the monotony of reading through 30 straight pages of assembly code. If they confuse you, dont read them.

QuoteBegin
-->
QUOTE
quote removed

ummm, wtf? Those charts explain exactly what you need to know, and exactly how to read them. the charts of which registers can be used as operands for ld tell exactly which registers can and can't be used. nothing complicated. how memory works? If you can't understand the concept of a bunch of bytes arranged linearly and addressed by the order in which they appear, you should probably consider learning something other than assembly.

QuoteBegin
-->
QUOTE
quote removed


ummm....the size restriction is imposed by the calculator itself, not your code. people have been trying to figure out how to disable that particular port for ages. You honestly don't need THAT much executable code either, for 20K programs like Desolate its almost entirely data which doesn't get run so it isn't a problem.

spengo

  • Guest
asm discussion
« Reply #5 on: December 16, 2006, 05:25:00 pm »
Why are all these quotes removed? O_Oshocked2.gif

@liazon, yeah post office boxes is a better analogy. And yeah hl is the one I use the most. That and a I guess. But a is smaller. :>

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
asm discussion
« Reply #6 on: December 17, 2006, 03:13:00 am »
hmm idk what happened here and why necro deleted his posts, but in reply to elfprince I actually myself didnt understood all the memory stuff, even after reading through day 2,3,4,5 three times. Also I think we are lacking an actual 83+ asm tutorial. CoBB z80 assembly guide and Learn asm in 28 days are not tutorials at all imho. They are just reference guides. If you want to learn how asm works, both will be good for you, but if you want to code asm, you'll never be able to learn just by reading those guide. We seriously need something like ASM Guru but for the TI-83+ instead of Ti-83, and more preferably something as detailled as TI-Freak8x BASIC tutorials or the TI-83+ manual, with screenshots (animated if possible), code/small routine example that can be used in games/programs easily, but for ASM instead of BASIC. I think thats why ASM seems so hard, if someone would write a good tutorial showing how to code ASM, not only showing how it works, maybe lot more ppl including myself would be doing asm now. In fact from what most people told me ASM was incredibly hard to startup with, but when you got it it was not so hard.

There is always the other people code examples, but first, don't you have to understand how to code ASM anyway? If you see a piece of code for a pong game, but cannot figure out what it does, you are stuck. IMHO like in BASIC other people code example are more useful once you can at least program a simple interactive program, even if its just a sprite or number moving around and with variable changes
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Spellshaper

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1690
  • Rating: +0/-0
  • This is me. Or maybe not.
    • View Profile
asm discussion
« Reply #7 on: December 17, 2006, 03:17:00 am »
or maybe we're just incomprehensibly dumb. *shrug* XDsmiley.gif
Dunno, maybe asm just isn't the thing for me, I try it every few months, since after all BASIC IS quite limited (ok, since Xlib not so limited anymore) and slow, but I am always like "huh? wazzatguruguidetryingtatellme???"

elfprince13

  • Guest
asm discussion
« Reply #8 on: December 17, 2006, 07:01:00 am »
dumb? I think not, from my experiences in this community we tend to represent the upper 5% or so in terms of intelligence.

However Asm is not particularly different from any other language in how you use it, just how you think about it.

regarding the whole asm in general vs ti-83+, think of it as learning how to write pure (as in gcc -ansi -pedantic) C vs learning to use the libraries that each platform provides. To program in Asm you first need to understand the concepts of how to think like an assembly programmer and then learn to use the 83+ specific libraries. the problem with this is its much more satisfying to see your program actually do something, so people tend to get impatient and jump ahead to use the libraries immediately. my suggestion is to use PTI and its debugger feature to run your program and test out how it works, then try to actually make it display stuff.

CoBBs guide is just that a reference guide, 83pasm28d is a tutorial, and one of the highest quality. If you don't understand what you are reading, go back and force yourself to read it again---you're not stupid, just lazy, it comes from being smart and not having to do any work.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
asm discussion
« Reply #9 on: December 17, 2006, 08:19:00 am »
I just think it could be elaborated more, and not only memory stuff, but more understandable and complete source code plus animated screenshots. Until someone write a easier to understand asm tutorial or port asm guru to 83+ I'll prbly stick with BASIC+xLIB
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

spengo

  • Guest
asm discussion
« Reply #10 on: December 17, 2006, 11:19:00 am »
That's true, they are more reference guides than tutorials. I learned by looking at simple or very cleanly written games like Pheonix by PatrickD. After reading through the learn in 28 days book, I could understand most of what was going on and could see how I should put it to make my own stuff.

elfprince13

  • Guest
asm discussion
« Reply #11 on: December 17, 2006, 03:12:00 pm »
basically I learned by reading 83pasm28d, and posting on forums if I didn't get something...

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
asm discussion
« Reply #12 on: December 17, 2006, 03:45:00 pm »
well thats the problem: you HAD to ask on forums for additional help.

When I learned BASIC with the TI manual I didnt even had to ask help on the forums, I just had to check the programs samples in the manual.

Note: I'm not bashing asm in 28 days in anyway because imo its the best reference out there for the TI-83+, but it need to be elaborated much more, it need to be elaborated as much as your own BASIC tutorial and TI-freak8x's. TI Freak8x show how to make collision detections in different ways. Asm in 28 days doesnt even bother doing this, you have to figure everything on your own, or ask for help
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline necro

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1295
  • Rating: +17/-2
  • +3 vaporal mustache
    • View Profile
asm discussion
« Reply #13 on: December 17, 2006, 08:02:00 pm »
QuoteBegin-Liazon+17 Dec, 2006, 2:13-->
QUOTE (Liazon @ 17 Dec, 2006, 2:13)
you can always try http://geocities.com/calcul831415/help/Assembly.zip

oh and ix lol, don't bother, it's a bit cryptic in itself and unreliable imho cuz it's slower than the ASM coder's friend, hl.
I'm like a woot burger with awesome fries


VB.Net, C#, C++, Java, Game Maker

spengo

  • Guest
asm discussion
« Reply #14 on: December 18, 2006, 01:19:00 pm »
maxcoderz is probably the best place to get help with z80 asm stuff. They are like 95% z80 asm there.