Find Jobs
Hire Freelancers

Arithmetic routine

$15-20 USD

Terminado
Publicado hace más de 20 años

$15-20 USD

Pagado a la entrega
The problem is to start an arithmetic routine package by writing a multiplication subroutine named mlt: mlt ; On input R2 and R3 contain two non-negative integers a (multiplicand) ;and b (multiplier) respectively, and on return R1 and R0 contain ; non-negative numbers h and l such the R1,R0 together contain the product ; of a and b : ; a * b = 2^15 * h + l . No other registers should be affected. ; On return R2 is trashed and R3 contains an error flag, which in this case ; is set iff either a or b is negative. ;EXAMPLE: multiply #1000 by #2000 to obtain #2000000 ; ld R2,M1000 ; address M1000 contains #1000 ; add R3,R2,R2 ; R3 <-- #2000 ; jsr mlt ; On return R3 is 0, R1 contains #61 and R0 contains #1152 since ; 2000000 = 2^15 * 61 + 1152 There are several algorithms for multiplication. One can be developed based on the binary place value system and noting that doubling a number (i.e.,adding it to itself) shifts the bits one place left. A simpler algorithm is based on adding R2 to itself R3 times. In this case it might be better to test the operands to make sure R2 contains the larger of a and b. (Adding 1000 to itself 3 times is much faster than adding 3 to itself 1000 times). The product of a and b need not fit into one word: Say you are adding R2 to R0. Remembering that the operands are all positive, a negative sum signifies overflow, so the msb must be cleared and R1 incremented; e.g.: ADD R0,R0,R2 BRzp mlt_goon ; go on if no overflow AND R0,R0,R4 ; R4 previously loaded with x7FFF = b0111111111111111 ADD R1,R1,#1 ; add in "carry" from R0 mlt_goon ## Deliverables 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. ## Platform Windows assembler
ID del proyecto: 3006863

Información sobre el proyecto

3 propuestas
Proyecto remoto
Activo hace 20 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
See private message.
$3 USD en 1 día
5,0 (9 comentarios)
3,0
3,0
3 freelancers están ofertando un promedio de $11 USD por este trabajo
Avatar del usuario
See private message.
$14,45 USD en 1 día
4,4 (5 comentarios)
2,8
2,8
Avatar del usuario
See private message.
$17 USD en 1 día
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de UNITED STATES
United States
4,8
37
Miembro desde nov 10, 2003

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.