Message from @DanielKO
Discord ID: 429468458787274763
two can play it that way nigger
``bl printf /* calls printf */`` comments could use more redundancy
I guess it's useful for people not familiar with the mnemonics.
But then, `cmp r0, r1 /* compare r0 and r1 */` ? That's just retarded.
Gotta comment every line otherwise TA's give me shit
they should be more worried the students know what their code means
Back when I did assembly homework, I had to normalize a single-precision floating point number on a toy computer, that had only 256 bytes of RAM. And we had to write our own assembler.
i'm learning 68k but im gonna learn ARM after that
And whoever used the least instructions got bragging rights.
which computer
Oh, one that my professors used, I think it was created by a student a few years prior. Don't even remember the name.
It was your typical two operand instructions, 4-bit instructions.
interesting strategy. too obscure to cheat?
I guess so.
can i do your same assignment on 68k?
I don't see why not.
will it be easier then?
Probably.
I got bragging rights, by the way. Got my program to be even shorter than the professor's and the TAs' programs.
About 20% of the class couldn't make it fit in the 256 bytes.
what book did they give you for assembly
assembly is cancer
^you probly like java
^likes js
Another we had to do was long division. Actually, now that I'm thinking about it, the 4-bit instructions one was to program long division. The architecture didn't have division. The normalization one was on an 8-bit instructions architecture. Same 256 bytes limit for both.
well you've already said assembly is cancer twice. yet your computer needs it to run, js or no?
We didn't get any book, the course was on computer architectures. We went through the design of various didactic architectures, then at the end some MIPS and IA-32.
if i wanna play with ARM i should buy an rPi??
There are plenty of ARM devices.
yeah but its mainstream, deployable, versatile, so it's a good starting point?
yee
By all means, learn some assembly, it'll do you some good. But you don't really write programs in assembly; at least not if you want to finish coding it any time soon.
Mainstream? Go for x86-64.
You should know what compiled code looks like, specially if you want to have any hope of debugging code properly.
Say, what a function call looks like.
What an array access looks like.
What a C string operation looks like.
What an `if` or a `for` look like.
But you don't really write any significant code in assembly. We have compilers for that; at which point the architecture is irrelevant - as long as the language is supported by the hardware vendor.