Division in Assembly?

Reply

Join Date: Dec 2008
Posts: 8
Reputation: Rameses is an unknown quantity at this point 
Solved Threads: 0
Rameses Rameses is offline Offline
Newbie Poster

Division in Assembly?

 
0
  #1
May 4th, 2009
How can I perform Division in Marie Assembly Language? The functions available in Marie programming are for Addition and Subtraction. Any help will be appreciated.
Reply With Quote Quick reply to this message  
Join Date: Apr 2009
Posts: 39
Reputation: sysop_fb is an unknown quantity at this point 
Solved Threads: 5
sysop_fb sysop_fb is offline Offline
Light Poster

Re: Division in Assembly?

 
0
  #2
May 5th, 2009
Originally Posted by Rameses View Post
How can I perform Division in Marie Assembly Language? The functions available in Marie programming are for Addition and Subtraction. Any help will be appreciated.
You can do division using subtraction.
60 / 3 if I subtract 3 from 60 it will take 20 times before 60 < 3
Reply With Quote Quick reply to this message  
Join Date: Dec 2008
Posts: 8
Reputation: Rameses is an unknown quantity at this point 
Solved Threads: 0
Rameses Rameses is offline Offline
Newbie Poster

Re: Division in Assembly?

 
0
  #3
May 6th, 2009
Originally Posted by sysop_fb View Post
You can do division using subtraction.
60 / 3 if I subtract 3 from 60 it will take 20 times before 60 < 3
I was able to do multiplication:Input /Input A value
Store A
Input /Input B value
Store B
Loop, Load A
Skipcond 800 If AC > 0, continue loop
Jump Endloop
Subt One
Store A
Load C
Subt B
Store C
Jump Loop
Endloop, Load C
Output
Halt
C, DEC 0
A, DEC 0
B, DEC 0
One, DEC 1

Division doesn't seems to be working for me. Is there something I could change in multiplication code to make division work? Multiplication is repeated adding, similar to Division, repeated subtraction.
Reply With Quote Quick reply to this message  
Join Date: Apr 2009
Posts: 39
Reputation: sysop_fb is an unknown quantity at this point 
Solved Threads: 5
sysop_fb sysop_fb is offline Offline
Light Poster

Re: Division in Assembly?

 
0
  #4
May 6th, 2009
Psuedocode

  1. a = 60
  2. b = 3
  3. divide a b
  4.  
  5.  
  6. divide a b:
  7. c=0
  8. while a isn't less then b
  9. a = a - b
  10. c = c + 1
  11.  
Reply With Quote Quick reply to this message  
Join Date: Dec 2008
Posts: 8
Reputation: Rameses is an unknown quantity at this point 
Solved Threads: 0
Rameses Rameses is offline Offline
Newbie Poster

Re: Division in Assembly?

 
0
  #5
May 7th, 2009
Originally Posted by sysop_fb View Post
Psuedocode

  1. a = 60
  2. b = 3
  3. divide a b
  4.  
  5.  
  6. divide a b:
  7. c=0
  8. while a isn't less then b
  9. a = a - b
  10. c = c + 1
  11.  
ORG 100
Input
Store X
Input
Store Y
Load Zero / Move 0 into AC
Store Z / Set Z to 0
If, Load Z / Load Z
Skipcond 400 / If AC=0 (Z=0), skip the next instruction
Jump Endif / Jump to Endif if X is not greater than 1
Then, Load X
Subt Y / X - Y
Store X / X= X - Y
Endif, Load Z / Load Z into AC
Add One / Add 1 to Z
Store Z / Z = Z + 1
Output
Halt / Terminate program
X, Dec 0 / X has starting value, not given in problem
Y, Dec 0 / Y has starting value, not given in problem
Z, Dec 0
One, Dec 1 / Use as a constant
Zero, Dec 0 / Use as a constant
END

What am I missing?
Reply With Quote Quick reply to this message  
Join Date: Dec 2008
Posts: 8
Reputation: Rameses is an unknown quantity at this point 
Solved Threads: 0
Rameses Rameses is offline Offline
Newbie Poster

Re: Division in Assembly?

 
0
  #6
May 7th, 2009
Originally Posted by Rameses View Post
ORG 100
Input
Store X
Input
Store Y
Load Zero / Move 0 into AC
Store Z / Set Z to 0
If, Load Z / Load Z
Skipcond 400 / If AC=0 (Z=0), skip the next instruction
Jump Endif / Jump to Endif if X is not greater than 1
Then, Load X
Subt Y / X - Y
Store X / X= X - Y
Endif, Load Z / Load Z into AC
Add One / Add 1 to Z
Store Z / Z = Z + 1
Output
Halt / Terminate program
X, Dec 0 / X has starting value, not given in problem
Y, Dec 0 / Y has starting value, not given in problem
Z, Dec 0
One, Dec 1 / Use as a constant
Zero, Dec 0 / Use as a constant
END

What am I missing?
Nevermind, I got it. Thanks a ton!
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC