Difference between revisions of "83Plus:BCALLs:8048"

From WikiTI
Jump to: navigation, search
m
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:83Plus:BCALLs:By Name:Math|DivHLbyE]]
+
[[Category:83Plus:BCALLs:By Name:Math:Integer|Div16By8]] [[Category:83Plus:BCALLs:By Name:Math|Div16By8]] [[Category:83Plus:BCALLs:By Name|Div16By8]] [[Category:83Plus:BCALLs:By Address|8048 - Div16By8]]
[[Category:83Plus:BCALLs:By Name|DivHLbyE]]
+
[[Category:83Plus:BCALLs:By Address|8048 - DivHLbyE]]
+
 
== Synopsis ==
 
== Synopsis ==
'''Official Name:''' DivHLbyE
+
'''Official Name:''' Div16By8
 +
 
 +
'''Other Name:''' DivHLbyE
  
 
'''BCALL Address:''' 8048
 
'''BCALL Address:''' 8048
  
Divides register HL by register E and stores the result in DE.
+
Divides register HL by register E and stores the result in DE and the remainder in HL.
  
 
=== Inputs ===
 
=== Inputs ===
Line 16: Line 16:
 
=== Outputs ===
 
=== Outputs ===
 
* DE = HL / E
 
* DE = HL / E
 +
* HL = HL % E
  
 
=== Destroys ===
 
=== Destroys ===
* a, IX, HL, DE
+
* A, IX, HL, DE
 
* Contents of memory addresses 8251h - 8253h
 
* Contents of memory addresses 8251h - 8253h
  
Line 27: Line 28:
 
   ld    hl,103h
 
   ld    hl,103h
 
   ld    e,3
 
   ld    e,3
   B_CALL DivHLbyE  ;should return 56h or 86 decimal
+
   B_CALL DivHLbyE  ;should return DE=56h and HL=1

Latest revision as of 21:30, 29 March 2005

Synopsis

Official Name: Div16By8

Other Name: DivHLbyE

BCALL Address: 8048

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

Inputs

  • HL = numerator
  • E = denominator

Outputs

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

Destroys

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

Comments

Simple enough to implement yourself if speed is important.

Example

 ld     hl,103h
 ld     e,3
 B_CALL DivHLbyE  ;should return DE=56h and HL=1