Related questions
Concept explainers
38. Implement the following expression in assembly language, using 32-bit integers (you may modify any registers you wish):
eax = -dword1 + (edx - ecx) + 1
You can use this data definition for testing your code:
dword1 DWORD 10h
se the following data declarations to write an assembly language loop that copies the string from source to target. Use indexed addressing with EDI, and use the LOOP instruction
source BYTE "String to be copied",0
target BYTE SIZEOF source DUP(0),0
Introduction:
In assembly language, you can manipulate data and perform operations on it using registers and instructions. In this particular task, we have been given an expression to implement using 32-bit integers. We will be using the EAX, EDX, and ECX registers to perform arithmetic operations on the given data. The expression involves adding, subtracting, and assigning values to the EAX register based on the values of other registers and a constant. Additionally, we will also be using the LOOP instruction and EDI register to copy a string from the source to the target. The source and target are defined using the BYTE data type, and we will be using indexed addressing to access the data.
Trending nowThis is a popular solution!
Step by stepSolved in 5 steps with 2 images
- Assignment for Computer Architecture! this is about hamming codes write the code IN MIPS ASSEMBLY LANGUAGE calculating hamming codes; The key to the Hamming Code is the use of extra parity bits to allow the identification of a single error. Create the code word as follows: Mark all bit positions that are powers of two as parity bits. (positions 1, 2, 4, 8, 16, 32, 64, etc.) All other bit positions are for the data to be encoded. (positions 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.) Each parity bit calculates the parity for some of the bits in the code word. The position of the parity bit determines the sequence of bits that it alternately checks and skips.Position 1: check 1 bit, skip 1 bit, check 1 bit, skip 1 bit, etc. (1,3,5,7,9,11,13,15,...)Position 2: check 2 bits, skip 2 bits, check 2 bits, skip 2 bits, etc. (2,3,6,7,10,11,14,15,...)Position 4: check 4 bits, skip 4 bits, check 4 bits, skip 4 bits, etc. (4,5,6,7,12,13,14,15,20,21,22,23,...)Position 8: check 8 bits,...arrow_forwardW rite a MIPS program to continuously generate the following series of integers: 1, 2, 3, 6, 9, 18, 27, 54, 81, and so on. Use standard MIPS programming conventions. Use the jump instruction to generate an infinite loop. Write a subroutine EVEN that returns a 1 if the argument is even, else it returns a 0. You must call this subroutine with jal and return from it with jr. Dont use any .data, .word, .text, or .globl commands or li. No hand written and fast answer with explanationarrow_forwardConvert the following function in Python code into MIPS code. Note that 2 integers a and b are passed as arguments to the function and result is returned back to the calling execution unit. 1. def Problem3 (a, b): # Initialize sum sum = 0 for i in range(a, b): sum = sum+ 2 return (sum)arrow_forward
- Please show the output of the following code in assembly:arrow_forwardComputer Science Using memory-mapped I/O and polling, write a function print_string that prints a string onthe display, without using any system call. The address of the string is passed in register $a0and the string must be null-terminated. Test this function by calling it from the main function.Make sure to activate the "Keyboard and Display MMIO Simulator".arrow_forwardYou may use only the instructions we covered in class: add, sub, addi, lw, sw, and the same rules as mentioned earlier still apply.AssignmentWrite MIPS assembly code implementing the following C/C++ statement:a[k*2-4] = a[k]*2 + 7;arrow_forward
- Please make sure the assembly file can work in SPIMarrow_forwardtranslate the following MIPS code to C. Assume that the variables i, j, and k areassigned to the registers $s0, $s1, and $s2, respectively. Assume that the baseaddress of the array A is in registers $s6.Loop: blt $s0, $s1, Exitbge $s1, $s2, Exitaddi $s1, $s1, 5j LoopExit:addi $t0, $zero, 4ble $s0, $t0, Donesll $t1, $s0, 2add $t2, $s6, $t1sw $zero, 0($t2)Done:arrow_forwardThis is Computer Machine Architecture! this is Hamming code in MIPS assembly language 1. when I input a 154 (the example in the book). It should have given an output of 0x72A. the assignment: This assignment is to create a MIPS programs that the determines what the ECC code should given number (an 8-bit byte). The codes you create are to work for 8-bit positive numbers as these are simpler to work with than larger numbers. The program is to request the user to enter a byte of data (a positive integer in the range of 0 to 255 in decimal) and then create the 12-bit Hamming code as described in your text (see above). The program is to then output this (with an appropriate label) in hex. Make sure that you have lots of comments in your code as this is in MIPS. Also make the code neat: line up the instruction columns, the register columns, and the comment fields like the format belowarrow_forward
- Use the following data declarations: .data byte Val word Val sbyte 1, 2, 3, FCh word 1000h, 2000h, 3000h, 4000h dwordVal dword 34567890h, 90785634h, 0Ah, 33445566h Show the value of the final destination operand after each of the following code fragments has executed: (If any instruction/s is invalid, indicate "INV" as the answer and briefly explain why) a. mov bh,byteVal+2 b. mov edx,1 C. add dx,[wordVal+4] mov ecx,5 xchg ecx,[dwordVal+12] d. mov ah, byte Val+3 sub ah,[ byte Val+0] sub ah,[ byte Val +2] e. mov eax, dword ptr dwordVal+7 f. movsx cx,byteVal+3 answer bh= answer edx= answer ecx= answer ah= answer eax= answer (show your answer in binary) CX=arrow_forward3. Create an 80x86 ASSEMBLY LANGUAGE program that define an array of doubleword numbers then read twovalues, first one indicates how many actual numbers will be in the array, and an integer n. Theprogram should display all of the numbers in the array that are greater than the number n. MUST PROVIDE FULL CODE AND SCREENSHOT OF OUTPUT PLEASEarrow_forwardSystems Programming Purpose: The purpose of this assignment is to practice loop instructions and array iterations in M6800 assembly language programming. Write an assembly language program which implements the following C code that is a find minimum problem solution implementation: int A[10] = {8, 14, 6, 16, 5, 5, 10, 9, 4, 11}; int i = 0; int min = 255; // This is the largest number 8-bit accumulators can hold. while (i < 10) { if (A[i] < min) min = A[i]; } Your solution should be able to handle all possible array elements and orderings for any value an accumulator can hold. You should treat variable į as XR in assembler (index register) and store variable min in the address 60H. 0010: 00 00 00 00 00 00 00 00 0O 00 00 00 00 00 00 00 8628: 00 060 00 00 00 600 00 00 00 08 08 00 6 00 00 00 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0050: 00 G0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 006 0: 00 00 00 00 00 00 00 00 00 08 00...arrow_forward
- Text book imageDatabase System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationText book imageStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONText book imageDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- Text book imageC How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONText book imageDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningText book imageProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education