Search
- Filter Results
- Location
- Classification
- Include attachments
- https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Electronics/Book%3A_Digital_Circuit_Projects_-_An_Overview_of_Digital_Circuits_Through_Implementing_Integrated_Circuits_(Kahn)Digital circuits, often called Integrated Circuits or ICs, are the central building blocks of a Central Processing Unit (CPU). To understand how a computer works, it is essential to understand the dig...Digital circuits, often called Integrated Circuits or ICs, are the central building blocks of a Central Processing Unit (CPU). To understand how a computer works, it is essential to understand the digital circuits which make up the CPU. This text introduces the most important of these digital circuits; adders, decoders, multiplexers, D flip-flops, and simple state machines.
- https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Electronics/Implementing_a_One_Address_CPU_in_Logisim_(Kann)/02%3A_Assembly_Language/2.04%3A_Data_typesWhile an assembly language has no explicit data types, there are rules for how the data is accessed and stored. This section defines the rules for data access.
- https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Introduction_to_Assembly_Language_Programming%3A_From_Soup_to_Nuts%3A_ARM_Edition_(Kann)/06%3A_New_Page/6.02%3A_New_PageUsing Table 9, the ORR operator has an OpCode = “0b1100”, the Operand2 uses an Immediate value = “0x21”, the ShAmt = 30 = “0xffff”, the ShiftType is an implied RRX, and registers Rd = r1 = “0b0001”, R...Using Table 9, the ORR operator has an OpCode = “0b1100”, the Operand2 uses an Immediate value = “0x21”, the ShAmt = 30 = “0xffff”, the ShiftType is an implied RRX, and registers Rd = r1 = “0b0001”, Rn = r2, “0b0001”. Using these values in the Immediate instruction, the 32-bit representation of this instruction is shown in Figure 51.
- https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Introduction_to_Assembly_Language_Programming%3A_From_Soup_to_Nuts%3A_ARM_Edition_(Kann)/03%3A_New_Page/3.5%3A_Debugging_with_gdbThis is often done because the simulators are pared down versions of the real assembly, only presenting the students with what is believed to be the necessary information to understand the concepts th...This is often done because the simulators are pared down versions of the real assembly, only presenting the students with what is believed to be the necessary information to understand the concepts the instructor wants to present. The reader has to learn to use the bash shell, how the write make files to create programs, and that there are intermediate files between the source files and the executable files called object and library files.
- https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Introduction_to_Assembly_Language_Programming%3A_From_Soup_to_Nuts%3A_ARM_Edition_(Kann)/07%3A_New_PageThe use of the pc to control the flow of the program will be shown, and the process of calling the Increment function from a main function and then returning at the end to the main function will be il...The use of the pc to control the flow of the program will be shown, and the process of calling the Increment function from a main function and then returning at the end to the main function will be illustrated. The final section will explain how to make references to a function available outside of the current file and using this information to create library assembly files that are collections of functions that are used in multiple programs.
- https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Introduction_To_MIPS_Assembly_Language_Programming_(Kann)/08%3A_Reentrant_Subprograms/8.04%3A_ExercisesImplement a subprogram which takes 4 numbers in the argument registers $a0...$a3, and returns the largest value and the average in $v0 and $v1 to the calling program. Because the values of $a0 and $a1...Implement a subprogram which takes 4 numbers in the argument registers $a0...$a3, and returns the largest value and the average in $v0 and $v1 to the calling program. Because the values of $a0 and $a1 (at least) are changed on the call to getLarger, they will not be available when they are needed to calculate the average, and must be stored on the stack.
- https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Introduction_to_Assembly_Language_Programming%3A_From_Soup_to_Nuts%3A_ARM_Edition_(Kann)/09%3A_New_Page/9.02%3A_New_PageFirst, the program looks like it is a few instructions faster, but the amount is speed up is beyond the ability of the computer to measured, and many orders of magnitude smaller than anything on a hum...First, the program looks like it is a few instructions faster, but the amount is speed up is beyond the ability of the computer to measured, and many orders of magnitude smaller than anything on a human time scale. The fact that the program worked (or rather, produced the correct result) does not change the fact that the modification made the program erroneous (or in this case, simply wrong).
- https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Introduction_to_Assembly_Language_Programming%3A_From_Soup_to_Nuts%3A_ARM_Edition_(Kann)/10%3A_Arrays/10.05%3A_New_PageThe following example is just like the previous example, but now the array of characters that make up the string are allocated on the heap. Each time through the loop the value in r4 is updated to poi...The following example is just like the previous example, but now the array of characters that make up the string are allocated on the heap. Each time through the loop the value in r4 is updated to point to the next character in the string using the STRB with post incrementing, e.g. When the character at the pointer address in r4 is the character 0, the end of the string is reached, and the loop halts.
- https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Introduction_to_Assembly_Language_Programming%3A_From_Soup_to_Nuts%3A_ARM_Edition_(Kann)/08%3A_New_Page/8.01%3A_New_PageA loop will start at the for statement which initializes a variable j to 0, then moves to the next statement that adds j to the value of sum, and then at the end of the loop adds 1 to the value of j a...A loop will start at the for statement which initializes a variable j to 0, then moves to the next statement that adds j to the value of sum, and then at the end of the loop adds 1 to the value of j and goes back to the beginning of the loop, as in the following fragment:
- https://eng.libretexts.org/Bookshelves/Computer_Science/Programming_Languages/Introduction_to_Assembly_Language_Programming%3A_From_Soup_to_Nuts%3A_ARM_Edition_(Kann)/10%3A_ArraysAn array is a generally builtin into a language, and contains multiple values of the same type for primitive values, or extend or implement a base class or interface for objects. The dereference opera...An array is a generally builtin into a language, and contains multiple values of the same type for primitive values, or extend or implement a base class or interface for objects. The dereference operator is a pair a square brackets, “[]”, and for the purposes here the values are referenced by an index specifying a distance from the base of the array.
- https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Electronics/Book%3A_Digital_Circuit_Projects_-_An_Overview_of_Digital_Circuits_Through_Implementing_Integrated_Circuits_(Kahn)/10%3A_Sequential_Circuits/10.02%3A_DebouncingA simple way to think about debouncing is to realize that if multiple on/off signals are processed in a small amount of time, they are in reality just noise coming from the switch, and the edges shoul...A simple way to think about debouncing is to realize that if multiple on/off signals are processed in a small amount of time, they are in reality just noise coming from the switch, and the edges should be combined into a single event. The push button provides a much cleaner input than the toggle switch, and so it is easier to get a single clean edge from the pressing of the button.