Find Jobs
Hire Freelancers

Arithmetic routine

$15-20 USD

已完成
已发布超过 20 年前

$15-20 USD

货到付款
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: 3006863

关于此项目

3提案
远程项目
活跃20 年前

想赚点钱吗?

在Freelancer上竞价的好处

设定您的预算和时间范围
为您的工作获得报酬
简要概述您的提案
免费注册和竞标工作
颁发给:
用户头像
See private message.
$3 USD 在1天之内
5.0 (9条评论)
3.0
3.0
3威客以平均价$11 USD来参与此工作竞价
用户头像
See private message.
$14.45 USD 在1天之内
4.4 (5条评论)
2.8
2.8
用户头像
See private message.
$17 USD 在1天之内
0.0 (0条评论)
0.0
0.0

关于客户

UNITED STATES的国旗
United States
4.8
37
会员自11月 10, 2003起

客户认证

谢谢!我们已通过电子邮件向您发送了索取免费积分的链接。
发送电子邮件时出现问题。请再试一次。
已注册用户 发布工作总数
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。