Opcodes — or operation codes — tells the computer what operation it is supposed to perform next. These opcodes have various categories, which will enumerate and explain here.

Operate Instructions:

Operate instructions involve processing and manipulating data. This is the instruction set that would contain things like ADD, AND, OR, NOT, SUB, MULT, DIV.

So, how do we identify these instructions? Let’s begin and follow an alphabetical order. We will split these into two categories: Arithmetic and Logic.

Arithmetic Instructions:

Under the umbrella of arithmetic operations, we have ADD, SUB, MULT, and DIV, as well as some sub-categories.

ADD —…


The Von Neumann Architecture, originally theorizes by John Von Neumann, has five main components: input, memory, processing unit, control unit, and output.

Input:

The input, as it pertains to the Von Neumann Architecture, is simple. Input is defined as anything the provides input to the computer; for example, information from a keyboard, mouse, flash drive all count as input.

Memory:

I have covered this topic in more depth, here.

Memory is the number of unique locations your computer possesses, that store information. With k-many bits, we can uniquely represent 2^k many memory locations. We refer to each of these locations…


How does a computer store information? What tools does a computer use to retain information? These are very important questions, as all that has discussed in my various blogs thus far is how to get a computer to manipulate ones and zeros to make decisions.

There are two kinds of logical structures: those that store information and those that do not store information. Thus far, I have written about logical structures that just manipulate information in order to produce a new value; now, I will introduce a logical structure that will store the information: an R-S Latch.

R-S Latch:

The…


DeMorgan’s Law, Decoder, MUX, Full Adder, and PLA!

In the previous blog, we looked at transistors and how to build logic gates from those transistors. In this blog, we are going to look at DeMorgan’s Law, the next level of abstraction, and the implementations and uses of those gates.

DeMorgan’s Law is a set of logical equivalencies. The laws govern the equivalence of AND/NAND/NOR/OR gates.

An example of DeMorgan’s Law would be the equivalence of NOT(NOT(A) AND NOT(B)). This would be equivalent to saying that “it is not true that A is false and B is false.” Well, if it…


Microprocessors are built of transistors. In particular, they are constructed out of MOS transistors. MOS is an acronym for Metal-Oxide Semiconductor. There are two types of MOS transistors: pMOS (positive-MOS) and nMOS (negative-MOS). Every pMOS and nMOS comes equipped with three main components: the gate, the source, and the drain.

To properly understand how a pMOS and an nMOS operate, it is important to first define some terms:

closed-circuit: This means that the electricity is flowing from the gate to the source.

open-circuit: This means the electricity is not flowing from the gate to the source; but rather, electricity is…


Across the past two blogs, which you can reference here and here, I have written about bits and binary. I have written of the system we use today and how it came into being; I have written of the different logical functions that can be performed on binary digits. Up to this point, though, we have only dealt with whole numbers: integers. Now, it is time to look into how we can represent decimals in binary.

Most commonly, computers use 16-bit registers; though, this is not a strict requirement and may vary. As such, computers can store values anywhere between…


As discussed here, bits are essential building blocks for information and data. The value of a bit comes from the electrical pulses: the voltage, received by the bit. We use a standard known as 2’s Complement to write binary such that addition and subtraction work. In the last segment, we showcased an edge-case where addition would fail: overflow.

Overflow occurs when the most significant bit is incremented beyond the range of bits. For example, 0111 + 0001 = 7 + 1 should equal 8; however, this equals 1000, which is -8 in 2’s Complement, as the Most Significant Bit is…


Image credit goes to FreeImages.com

A computer has — stored within it — millions or even billions of minuscule devices called transistors. These transistors detect the presence — or absence — of voltage and return a value of 0 — if it detects the absence of voltage — or 1 — if it detects the presence of voltage. These 0 and 1 values are known as a bit. The word: bit can be expanded to [b]inary dig[it]. Looking inside the brackets will yield the letters for the word: bit.

These transistors don’t detect whether there is absolutely 0 voltage going to it or any amount…


Image Source

Every year around this time, thousands upon thousands of people vow to change their behavior. “I am going to walk every day!”; “I am going to eat healthier.”; or “I will read more!”, while these goals are great, they either set the expectation too high or do not give a means of measurement.

In order to obtain a goal, it helps to have milestones to achieve. This is good not only for the measurement of your progress but also for the motivation to move forward: “I can achieve this.” …


Arizona State University is a great school for computer science; ASU has been known as a pioneer in online education. Arizona State University offers over 200 online degree programs. The Master’s of Computer Science (MCS) degree is another feather in their cap. With so many feathers, they begin to look like Bartholomew Cubbins.

Illustration by Theodor Geisel

What makes this program special — and why I chose to attend it — is that you can earn your way into the program even if you don’t have an undergraduate degree in Computer Science, like me. So, how do you earn your way in? …

Brendan Massey

I write about programming and computer science as well as review Coursera courses I have taken related to the aforementioned topics.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store