[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vr / w / wg] [i / ic] [r9k / s4s / vip / qa] [cm / hm / lgbt / y] [3 / aco / adv / an / asp / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / qst / sci / soc / sp / tg / toy / trv / tv / vp / wsg / wsr / x] [Settings] [Search] [Home]
Board
Settings Home
/g/ - Technology


Thread archived.
You cannot reply anymore.



Why do I have to learn x86 assembly for my CS degree??? I’m not a brainlet but I’m not austistic enough for all this
>>
File: nonseq160120.gif (75 KB, 600x196)
75 KB
75 KB GIF
Lying makes little baby Jesus cry.
>>
I think every programmer should have a rough idea how it works.
>>
If you understand how things work "behind the scenes" then it will help you write more efficient codes
>>
>>69754110
Lol no
>>
>>69754050
Men, many of us learned mips, x64 seems a lot more relavent to me.
>>
they should teach MIPS, not x86

CISC is garbage
>>
>>69754050
Every book I read about programing low key tells you that every high level language is trash and that if you want good performance you have to learn assembly.
Ive taken the route to ignore assembly until i need it,there are shit ton of other things to learn more important then 100 instructions and why our compilers are shit.
>>
>>69754050
>assembly teached on college
lmao.
that's being done on high school.
CS memers.
amazing.
>>
>>69754050
Fuck I hated this class so much, and it was taught by a literal boomer faggot who hated trump, claimed pajeets were "great coders", and told everyone they should learn COBOL so they can get a job. Anyway OP the good news is that once you finish this class, you'll likely never have to do this shit again.
>>
>>69754050
It's not that bad + It's interesting to understand how early programmers did things. If you don't find that fascinating in itself then you don't deserve to have a CS degree.
>>
>>69755221
>It's interesting to understand how early programmers did things
It's really not though. In all honesty it's a massive waste of time. I took this shit last year and I already forgot everything I learned in that class.
>>
>>69755131
dumb ESL poster.
>>
>>69754050
>but I’m not austistic enough for all this
Then why do you think you deserve a CS degree?
>>
Just make a python script that generates the assembly for you. EZPZ.
>>
>>69754050
>at&t syntax
time to find a new college anon
>>
>>69755672
I for one prefer AT&T syntax
>>
>>69755699
classic stockholm syndrome
>>
>>69754050
We had to know MIPS on paper without computers or shit, exam was do this on paper and tasks werent much easier than ones from other classes. Good old times
>>
>>69755672
>>69755699
>>69755815
all the assemblers have different syntax, assembly syntax is garbage
>>
File: IMG_1423.jpg (149 KB, 800x600)
149 KB
149 KB JPG
>>69755699
The only true syntax is the syntax of the holy book.
>>
File: IMG-20190123-WA0002.jpg (106 KB, 766x690)
106 KB
106 KB JPG
>>69754050
> Why do I have to know how computers work?
> t. computer scientist
>>
>>69754050
In a single asm unit you'll learn just enough to be able to debug your native code and understand the basics of your arch. Invaluable for most people, pointless for web designer pajeets.
>>
I mean I'm on your side of it's bullshit that you must learn it because we had to go through it too. That mentality sucks. My guess is it's there so if you're part of that small percentage that actually runs into it on the job world. Even then, probably those who DO run into it probably enjoy assembly.
>>
>>69754050
learn Z80 assembly instead
>>
>>69754050
Fuck americans
>>
>>69754050
Because college is like an introductory course to everything. A small percentage of CS grads will go on to do embedded software / reverse engineering, and they'll need that shit.

Also forcing you to learn that stuff gives you personal insight into "what's happening under the hood" like no reading assignment would.
>>
>>69755202
Im sure that happened
>>
The whole point is understanding a closer abstraction from machine language, so you can better understand what further abstractions get compiled to.

In part, since there's still machine language as the end product. It's just not efficient to try to read and write machine language yourself. Kinda puts modern arguments about code readability into perspective.
>>
>>69754729
>MIPS
Which one?
There's like 7 different incompatible ISAs called MIPS.
>>
>>69754050
Learn it well and you may end up getting paid a fuckton of money to maintain some god-awful system that was never updated but is critical to some business operation. COBOL devs get paid six figures starting in a lot of places because of this.

Also, if you're like me and do vulnerability research, it helps with writing exploit code from time to time.
>>
>>69754624
hello, future webdev.
>>
>>69755202
funny cuz it's the polar opposite irl
>>
>>69755699
>>69756119
.intel_syntax noprefix ftw

No other used assembler uses AT&T syntax. Intel manuals and references use (obviously) Intel syntax and the suffixes sometimes change the instruction name too much to be trivially searchable. There is no significant benefit of AT&T syntax neither, it doesn't remove any confusion, ambiguity nor doesn't make anything more readable.
>>
>>69754050
>not a brainlet
>doesnt understand asm
ok
>>
>>69754050
I just had an interview for a position where they asked a lot of behind the scenes stuff. Assembly included.
What the fuck do you think CS should be ? Knowing python ? Knowing how to play with graphs and Dijkstra / Bellman Ford or Ford Fulkerson algorithm ?
You should know how everything works from top to bottom. Your most important classes are anything related to algorithms, operating system and compilers, especially those last two.
>>
>>69754050
It's much simpler than higher level languages.You'll learn it in a week.
>>
File: ilog10.png (142 KB, 800x1539)
142 KB
142 KB PNG
>>69759666
using at&t makes regex syntax highlighting very easy to implement
>>
>>69756141
its called "informatics" here and its study of information: consisted of information theory, probability, signal processing, physics
>>
>>69759848
Slav country?Kod mene je isto "informatika".
>>
>>69759837
isn't not hard for Intel syntax neither
is there any other editor beside Nano that uses regex-based syntax highlighter?
>>
>>69754050
It's hazing, just like 90% of the rest of your CS degree. Better get used to it and being called a brainlet if you complain.
>>
>>69754669
I like more 6502 assembler desu
>>
>>69754729
Educational flavors of MIPS are good for getting a good basic grasp on assembly: subroutines, branches, conditions, bit manipulations, GPIO usage, low-level optimizations and motivations in compiler designs. BUT, unless you're going into some very specific embedded system development (I think networking hardware tends to use MIPS the most) you're going to be working on x86 or similar CISC ISAs. And, yeah, you'll probably be working in C, but it's a good idea to have an intimate understanding of what comes out on the other side of the compiler and assembler.
>>
>>69755202
COBOL is niche as fuck and by rights ought to have died in the 1960s, but aren't some banks paying top dollar for COBOL programmers because all the boomers are retiring or dying off, and they're too scared to port their shit off the mainframe out of fear of fucking up their general ledger?
>>
Learning assembly because you're forced or for no reason is totally pointless and people should understand this. This also holds true for other subjects like assembly programming. It's painful for the student, they won't remember anything and they will have a horrible image of it . Instead give them a reason to learn it themselves
>>
>>69763311
it isn't for no reason at all. The reason is so that you understand something about how the sausage gets made, instead of your compiler or interpreter just being a magical black box that somehow makes the computer do what you tell it to. Also if you're debugging native code it comes in handy to be able to read disassembly.

if you don't care and just want to be some webshitter writing JS all day, then why are you going to college in the first place?
>>
>>69763565
i totally agree with you but most students don't feel like assembly is useful to them. That's what i meant with "for no reason", i said it from the students point of view
>>
I had MIPS32 Assembly (much less painfull than X86 :DDD) and i believe the reason is simply to have a rough idea of how low level and assemblers work. It was a feature in Computer Architecture I and II but not the main point.
>>
>>69757296
you say it like its hard to believe
>>
>>69754050
If you don't like learning about computers, why are you doing a CS degree?
>>
>>69754050
x86 is literally easier than C or C++. It's just like simple logic instructions. Writing it may be painful, but reading should not be hard, especially with a reference sheet and a pen and paper.
>>
I'm learning MIPS right now. easy af
>>
>>69759961
>i just want a piece of paper desu
Just like learning to program, or any actual computer science is hazing.
>>
>>69763311
This is the point a lot of people are missing here. In a 15 week course, with exams and holidays/snow days off you're not going to get anywhere near enough exposure to do anything interesting. No company is going to let you anywhere near their mainframe without intensive training or years of experience first. Yes, it's nice to see how it works under the hood, but FORCING students to learn this is a massive waste of time. But that's the problem with college in general, 80% of it is a waste of time but because every employer demands one schools have to do a dog and pony show to keep you there for 4-5 years when you should be done in 1-2 max.
>>
>>69754050
puh-fucking-lease. it takes maybe two weeks to pick up on the subset of assembly language required for a comparch/os/whatever course. Work harder. If it was easy, every asshole would do it. Half-assed shit like this is why we have so many brainlet webdevs shitting up the industry.

Fucking hell. It's SUPPOSED to be hard.
>>
>>69754110
Does your country have something called "compilers", pajeet? No, you can't shit in it.
>>
>>69754050
This is where I failed out
twice

It's funny too because looking back it's not really that difficult - I do wish we had learned MIPS or something instead of x86 though because it's sort of bullshit and bloated as shit
>>
>>69755699
i prefer AT&T because that's what I learned. they both suck, however; when your flavor choices are hot garbage and dogshit, you tend to go stick with whatever you survived the first time around.
>>
>>69755962
Nasm's is the best. Most readable without having to append letters to instructions or throw in symbols. Honestly, I have no idea why anyone is being taught in any other syntax when Nasm and Fasm are literally the only assemblers still being developed on.
>>
>>69754729
True chads learn SISC.
>>
>>69755202
We've all had a prof like that. Press F to pay respect.
>>
>>69757472
We used the MARS emulator if that helps.
>>
>>69755240
It's not a waste of time, you stupid twat. This is how every fucking field of anything works. It's always important to understand the development of the science from the early beginning to understand how it has evolved to now to be able to make any significant contribution to it's continued evolution. This is the view in any academic setting and guess where you get a degree. If you disagree with the philosophy of academia that's another level of retardation that I won't bother to argue with.
>>
>>69759944
>Isn't
>not
>neither

Three rights make a left, I suppose.
>>
>>69765440
>complains you can't get enough done to be valuable in 15 weeks.
>also claims that you should be able to finish the education in 1-2, years

Hmmmm....
>>
>>69768389
>hehe learn my outdated assembly language
>hehe learn my upper level math while you're at it
College is a meme. There, did I break it down for you enough, faggot?
>>
>>69754729
They taught MIPS at my school
>>
>>69754050
for real? All these pants on head retarded modules and you complain about goddamn asssembler?
Just memorize the more common shit like loops, arrays, exponents and subroutines and youll be fine.
>>
>>69766823
Not OP, but I work with Java and C#.
Will learning assembly really help me?
Geniously curious, my father has old books on it.
>>
>>69754050
VAX assembly is way nicer
>>
>>69754066
>that gif
First off youre a massive fag for using that format without animation. Second, that meme is literally meant for idiots who believe they're smart.
>>
>>69754050
What's the purpose of these instructions? From my limited experience with ASM, it simply seems to be printing numbers up to $0x63

Also, can someone explain why $0x8049418 is being passed as an argument to printf?
>>
>>69754050
>Why do I have to learn the fundamental assembly language for most modern systems
>>
>>69769507
>why $0x8049418 is being passed as an argument
Its an address, since the type of a string is char *
>>
>>69769279
yes, it will help. you'll begin to pick up what is happening behind the scenes after just a few hours of reading the basics

t. have to learn some assembly for my dissertation
>>
File: 1544020689261.jpg (25 KB, 400x300)
25 KB
25 KB JPG
>>69769279
>>69770403
i should also add that it will be painful at first if you've never taken a look at anything low level but stick at it i guess
>>
File: 087.gif (170 KB, 326x281)
170 KB
170 KB GIF
>>69769159
Yep you confirmed what I suspected. It's okay that you were too simple to pass assembly, anon. There are plenty of openings for webdevs.
>>
>>69770775
Don't web dev's earn more these days anyway?
>>
>>69754050
Why do you seem to think assembly is difficult? It's way easier than any programming language, just a lot more verbose.
>>
>>69754050
to understand how basic registers work
be happy you're learing x86 and not some arcane bullshit
>>
>>69765440
I learned a form of assembly in a semester.

We had enough time to write our own escape codes for handling floating point processes
>>
File: gopnik.jpg (83 KB, 960x866)
83 KB
83 KB JPG
>>69759887
>>69759848
my slavbros
>>
If you don't know x86 you are a stupid nigger and souldn't be allowed near a computer. Only retard monkey niggers don't care about how a computer actually works.
>>
>>69760038
>6502
Ah, an anon of refined tastes.
>>
File: 1542306312599.jpg (59 KB, 716x1024)
59 KB
59 KB JPG
>>69754050
>not autistic enough
mfw I'm too autistic for CS, my social anxiety made me drop uni
>>
>>69754069
Though the first thing you do is come up with a convention about how you want to have 'functions' work. I remember thinking huh, really no advantage to my code vs compiled code since I'm structuring it all like a c program or something,
>>
File: images (9).jpg (33 KB, 314x445)
33 KB
33 KB JPG
>>69754050
Burnout 3 - Takedown, now that's a powerful piece of software. It burns the shit out of your PS2 and is THE most CPU and GPU intensive game on PCSX2's library, you need a minimum of a 4th generation i5 to play this game at full speed, and a that's at native resolution, if you want to play at 1080p, you're gonna need a Radeon HD 7970 or a GTX 1050 Ti, assuming you want to play with all the effects enabled. Whatever shitty program you'll write throught your life will NEVER be as good as Criterion Games' PS2/Xbox masterpiece, I'd even go as far as to say Burnout 3 - Takedown is a more impressive piece of software than the Linux kernel.
>>
File: 1545329890525.jpg (38 KB, 500x500)
38 KB
38 KB JPG
>>69771344
>unoptimized piece of shit is impressive at all
>>
>>69771042
I dropped out because people wouldn't let me join their groups (despite the fact they were all writing Pajeet tier code and I was one of the few people getting A's/B's and writing decent code). Shit made me realize it was high school all over again with the social ostracizing and harassment because people judge my intelligence on how I look; and if it's still happening in college it's never going to stop. Also I got depressed because I thought I was finally going to make friends and get a girlfriend like all those college movies I've seen. Nope. I never got invited to any parties, and the few open/public ones people were having they'd give me the cold shoulder or give me looks like 'what the fuck are you doing here'. Fucking normies, I swear.
>>
>>69754050
Sorry brainlet, if you dont master the asm you will never be a true computing wizard. Stick with web dev
>>
Anyone else learned y86 at uni ?
>>
>>69771344
I know this is a pasta of some sort, but at least use it when it's relevant.
>>
Enjoy literally no portability with assembly
>>
>>69771830
>M-MUH PORTABILITY
What are macros and using flat binary output.
>>
>>69754050
assembly is for making you realize why pointers even exists. on top of that, its for making you realize the power of the turing machine as assembly is very close, albeit the ability to arbitrarily address memory
>>
File: 1540217435432.jpg (36 KB, 657x527)
36 KB
36 KB JPG
>>69771593
I guess I felt similarly.
>start software engineering at uni
>be excited, think I'll finally find people I can relate to
>after first month realize most of them care to party
>only a couple has actual interest in studies
>they have gfs and me being too socially awkward never get friends
>every semester get more lazy
>look for excuse to quit
>before classes stupid thoughts boggles my mind
>heart starts beating faster the closer uni I am
>stop near uni
>turn back
>walk alone in city for couple of hours, then go home
>can't handle it after 2 years, stop going to classes entirely
>fail classes, drop out
I think I could handle it now, learned to not mind anyone's opinion and shut in voices in my head (stupid thoughts).
But I'm 30 now, so, whatever... Computers always be my hobby tho
And when my little brother starts his own life, I'll probably sort myself out of here
>>
>>69754066
Such a powerful image
>>
File: 1505186844200.jpg (47 KB, 645x968)
47 KB
47 KB JPG
>>69754050
>why do I have to learn how a computer executes code for my CS degree?
if you're even asking this question you need to drop your major immediately and go to a trade school or something. Also, if x86 is as deep as your school goes into low level stuff your degree is worth less than shit. Don't post on this board anymore you actual brainlet
>>
>>69755274
me want 6 figure starting income
>>
I wish I learned x86 assembly in school.
My course that used assembly used a fictional assembly language, SIC-XE, that was created by a guy for a textbook he wrote.
The problem is that the book is over 30 years old with no updated version. My school is one of the very last to use this book, so there are no resources online for it.
The author of the book did create a simulator, but it is incompatible with almost any modern system - so one of the professors at my school wrote a simulator for it, but it's trimmed down and doesn't support all of the instructions.
>>
>>69769467
Believe it or not the image is trying to tell you something about the cognitive biases people use to make decisions from day to day. They work fairly well but have a tendency to make the same kind of errors over and over again.

Of course it's pretentious to imply science is always "right". But it is true doing science requires a lot more cognitive thinking to try and get it right. Relying on your intuition will make you right often but also make you prone to heuristics errors.
>>
>>69771042
I know this feel
>hated every second of college
>still pushed through for years
>mental weakness caused me to literally come home and cry to my mom out of stress
>fail a class senior year
>can't bring myself to tell anyone
>nervously dodge the question cause I know everyone will give me shit for it
>drop out the following semester
>now a neet that wakes up at 1 pm every day
>>
>>69754050
Because it gives you a better grasp of what what pointers, void, null, undefined, arrays, stack, overflows, registers, and so on actually mean. Which, if utilized properly, allow you to write better code, by avoiding silly mistakes such as using functions where you cannot control size of input (gets() for instance).
>>
>>69755202
COBOL is great you asshole.
>>
>>69754050
aim to pass the class, if you absorb some knawledge good, if not, not a big deal. If in some case you need it for future projects, online refreshers can help you catch up faster, than any sit in class can.
>>
>>69754050
If you've made it that far into the degree you shouldn't have any problems.
>>
>>69772585
That's computer engineering though
>>
>>69771866
Macros won’t do you any good if the instruction set isn’t the same or a different architecture entirely.
>>
>>69774492
false, computer engineers focus exclusively on lower level and hardware. any cs still needs a decent understanding of low level stuff. Computer science should be roughly 40% math (algorithms, structures, lambda calculus, other discrete math), 30% system related stuff (OS, assembly, hardware, etc.), 20% existing protocols/services, and 10% programming (mostly learn on your own).
>>
>>69754050
we had to do a project on pic32 microcontroller, it was pretty fun
>>
>>69760263
>you're going to be working on x86 or similar CISC ISAs
ARM is also very possible, is (mostly) RISC, and occupies a lot of the embedded space.
>>
>>69765440
>Yes, it's nice to see how it works under the hood, but FORCING students to learn this is a massive waste of time.
Learning in COLLEGE about how things work is a waste of time in your book???
I think you've missed the whole fucking point, both of learning and of your stupid little life, and should kill yourself with a rusty spork.
>>
>>69754050
this is CS.
CS is not for you then.
CS is NOT a programming major
>>
>>69774697
>Macros won’t do you any good if the instruction set isn’t the same or a different architecture entirely
That's what the macros can be used for, you dumbass.



Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.