Find Jobs
Hire Freelancers

MARS and x86

€2-6 EUR / hour

Terminado
Publicado hace alrededor de 3 años

€2-6 EUR / hour

General conditions: A short video explaining how it's done/works. Preferably done before Wednesday. 50 € at most MIPS Write a program in MIPS assembly using MARS or other SPIM-compatible simulator. The program should not rely on uninitialized register values and should be able to be run more than once without reloading. The program should not contain any obviously inefficient actions. Do NOT use multiply/divide instructions for multiplication division by constants being powers of 2. Avoid the sequences of consecutive branches, esp. conditional branches followed by unconditional ones (unless necessary).All the text processing programs with file i/o should define getc and putc functions for single-character i/o, providing proper buffering of input and input operations with at least 512-byte [login to view URL] programs should display images using MARS graphic display mapped to heap address range.A proper test data should be prepared, covering some interesting cases of program operation. Collect all the identifiers from a valid C program and determine the minimum number of characters required to preserve their uniqueness. Produce the replacement list and display it. Assume that the minimum length of a modified identifier is equal to or greater than the maximum length of a C language keyword. x86 Write a program containing two source files: main program written in C and assembly module callable from C. The C declaration of an assembly routine is given for each project task. Use NASM assembler ([login to view URL]) to assemble the assembly module. Use C compiler driver to compile C module and link it with the output of assembler. The C program should use command line arguments to supply the parameters to an assembly routine and perform all I/O operations. No system functions nor C library functions should be called from assembly code. Arguments for bit manipulation routines should be entered in [login to view URL] processing .BMP files may receive as arguments either the pointer to the whole .BMP file image in memory or the pointer to bitmap and its sizes read by main program. The routines should correctly process images of any sizes unless stated otherwise. Either C or assembly code should compute the stride parameter -size of horizontal line rounded up to the boundary of 4 [login to view URL] list shown for assembly routines may be modified or expanded if needed. Image width and height may be passed from C program to an assembly routine as [login to view URL] program should be implemented in two versions: 32-bit, following the calling convention described in [login to view URL] and 64-bit, conforming to 64-bit Unix calling convention (document available from [login to view URL]). Both conventions are also described in a document available from www.agner.org. While converting from x86 to x86-64, try to remove memory variables if they were used in x86 version and place the variables in extra processor's [login to view URL] score for (any) single version is 6 points. The second version is worth 2 [login to view URL] program should not contain any obviously inefficient actions. Do NOT use multiply/divide instructions for multiplication division by constants being powers of 2. Avoid the sequences of consecutive branches, [login to view URL] branches followed by unconditional ones (unless necessary).Any attempt to submit the project explicitly violating the calling convention will be punished by subtracting one point from the final score. void draw_ean8(void *img, unsigned int stride, unsigned int height,unsigned int modwidth, char *digits); Draw EAN-8 barcode corresponding to a string of digits and save it as a .BMP image file (bars only, equal height). Choose the .BMP color representation according to your preferences.
ID del proyecto: 29150773

Información sobre el proyecto

1 propuesta
Proyecto remoto
Activo hace 3 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
Hello Dear, I am interested in your project. Let's have discussion on it. Provide me more details on it. Thanks.
€50 EUR en 10 días
4,8 (44 comentarios)
4,8
4,8

Sobre este cliente

Bandera de SPAIN
Madrid, Spain
0,0
0
Forma de pago verificada
Miembro desde ene 23, 2021

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.