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

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

Attached: 1F9CB35B-78F7-4E22-979A-CC8B5AEB970B.png (814x864, 342K)

Lying makes little baby Jesus cry.

Attached: nonseq160120.gif (600x196, 75K)

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

Lol no

Men, many of us learned mips, x64 seems a lot more relavent to me.

they should teach MIPS, not x86

CISC is garbage

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.

>assembly teached on college
lmao.
that's being done on high school.
CS memers.
amazing.

Attached: 0e17ccee81ea034747915bd1aa41dd0595cdba237bf2eecab70b2841e7e5c999.jpg (400x400, 17K)

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.

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.

>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.

dumb ESL poster.

>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.

>at&t syntax
time to find a new college user

I for one prefer AT&T syntax

classic stockholm syndrome

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

all the assemblers have different syntax, assembly syntax is garbage

The only true syntax is the syntax of the holy book.

Attached: IMG_1423.jpg (800x600, 149K)

> Why do I have to know how computers work?
> t. computer scientist

Attached: IMG-20190123-WA0002.jpg (766x690, 106K)

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.

learn Z80 assembly instead

Fuck americans

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.

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.

>MIPS
Which one?
There's like 7 different incompatible ISAs called MIPS.

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.

hello, future webdev.

funny cuz it's the polar opposite irl

.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.

>not a brainlet
>doesnt understand asm
ok

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.

It's much simpler than higher level languages.You'll learn it in a week.

using at&t makes regex syntax highlighting very easy to implement

Attached: ilog10.png (800x1539, 142K)

its called "informatics" here and its study of information: consisted of information theory, probability, signal processing, physics

Slav country?Kod mene je isto "informatika".

isn't not hard for Intel syntax neither
is there any other editor beside Nano that uses regex-based syntax highlighter?

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.

I like more 6502 assembler desu

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.

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

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?

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.

you say it like its hard to believe

If you don't like learning about computers, why are you doing a CS degree?

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

>i just want a piece of paper desu
Just like learning to program, or any actual computer science is hazing.

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.

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.

Does your country have something called "compilers", pajeet? No, you can't shit in it.

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

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.

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.

True chads learn SISC.

We've all had a prof like that. Press F to pay respect.

We used the MARS emulator if that helps.

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.

>Isn't
>not
>neither

Three rights make a left, I suppose.

>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....

>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?

They taught MIPS at my school

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.

Not OP, but I work with Java and C#.
Will learning assembly really help me?
Geniously curious, my father has old books on it.

VAX assembly is way nicer

>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.

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?

>Why do I have to learn the fundamental assembly language for most modern systems

>why $0x8049418 is being passed as an argument
Its an address, since the type of a string is char *

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

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

Attached: 1544020689261.jpg (400x300, 25K)

Yep you confirmed what I suspected. It's okay that you were too simple to pass assembly, user. There are plenty of openings for webdevs.

Attached: 087.gif (326x281, 170K)

Don't web dev's earn more these days anyway?

Why do you seem to think assembly is difficult? It's way easier than any programming language, just a lot more verbose.

to understand how basic registers work
be happy you're learing x86 and not some arcane bullshit

I learned a form of assembly in a semester.

We had enough time to write our own escape codes for handling floating point processes

my slavbros

Attached: gopnik.jpg (960x866, 83K)

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.

>6502
Ah, an user of refined tastes.

Attached: Hirnventrikel_mittelgroß.gif (320x320, 2.15M)

>not autistic enough
mfw I'm too autistic for CS, my social anxiety made me drop uni

Attached: 1542306312599.jpg (716x1024, 59K)

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,

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.

Attached: images (9).jpg (314x445, 33K)

>unoptimized piece of shit is impressive at all

Attached: 1545329890525.jpg (500x500, 38K)

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.

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 ?

I know this is a pasta of some sort, but at least use it when it's relevant.

Enjoy literally no portability with assembly

>M-MUH PORTABILITY
What are macros and using flat binary output.

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

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

Attached: 1540217435432.jpg (657x527, 36K)

Such a powerful image

>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

Attached: 1505186844200.jpg (645x968, 47K)

me want 6 figure starting income