Difference between revisions of "83Plus:BCALLs:804B"

From WikiTI
Jump to: navigation, search
m (minor style and official name.)
Line 1: Line 1:
[[Category:83Plus:BCALLs:By Name:Math|DivHLbyDE]]
+
[[Category:83Plus:BCALLs:By Name:Math|Divide16By16]]
[[Category:83Plus:BCALLs:By Name|DivHLbyDE]]
+
[[Category:83Plus:BCALLs:By Name|Divide16By16]]
[[Category:83Plus:BCALLs:By Address|804B - DivHLbyDE]]
+
[[Category:83Plus:BCALLs:By Address|804B - Divide16By16]]
 
== Synopsis ==
 
== Synopsis ==
'''Official Name:''' DivHLbyDE
+
'''Official Name:''' Divide16By16
 +
 
 +
'''Other Name:''' DivHLbyDE
  
 
'''BCALL Address:''' 804B
 
'''BCALL Address:''' 804B
Line 12: Line 14:
 
* HL = numerator
 
* HL = numerator
 
* DE = denominator
 
* DE = denominator
<!-- We need to figure out how we're doing flags and link that up -->
 
  
 
=== Outputs ===
 
=== Outputs ===
Line 19: Line 20:
  
 
=== Destroys ===
 
=== Destroys ===
* a, IX, HL, DE
+
* A, IX, HL, DE
 
* Contents of memory addresses 8251h - 8253h
 
* Contents of memory addresses 8251h - 8253h
  

Revision as of 23:24, 28 March 2005

Synopsis

Official Name: Divide16By16

Other Name: DivHLbyDE

BCALL Address: 804B

Divides register HL by register DE and stores the result in DE and the remainder in HL.

Inputs

  • HL = numerator
  • DE = denominator

Outputs

  • DE = HL / DE
  • HL = HL % DE

Destroys

  • A, IX, HL, DE
  • Contents of memory addresses 8251h - 8253h

Comments

Simple enough to implement yourself if speed is important.

Example

 ld     hl,A1Dh
 ld     de,103h
 B_CALL DivHLbyDE  ;should return DE=9 HL=102h