page , 132 subttl Copyright (c) 2011-2012,2018-2020, the ACME Software Deli ; ============================================================================ ; This program is distributed in the hope that it will be useful, but ; WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE ; ; Permission to use for any purpose, modify, copy, and make enhancements ; and derivative works of the software is granted if attribution is given to ; R.M. Gillmore, dba the ACME Software Deli, as the author ; ; While the ACME Software Deli does not work for money, there is nonetheless a ; a significant amount of work involved. The ACME Software Deli maintains the ; rights to all code written, though it may be used and distributed as long as ; the following conditions are maintained. ; ; 1. The copyright statement at the top of each code block is maintained in ; your distribution. ; 2. You do not identify yourself as the ACME Software Deli ; 3. Any changes made to the software are sent to the ACME Software Deli ; ============================================================================ page name QuotientAndRemainder .186 plmLibrary_Code segment public 'Code' ifndef SMALL db '@(#)moddiv.a86 $Author: rmgillmore $ $Date:: 2025-05-04 19:35:39#$:', 0 endif plmLibrary_CGroup group plmLibrary_Code assume cs:plmLibrary_CGroup public MODDIV resultsType struc Quotient dw ? Remainder dw ? resultsType ends moddivFrame struc OldFrame Dw ? RtnAddr Dd ? IntegerIn Dw ? Denominator Dw ? ResultsPtr Dd ? moddivFrame ends ModDiv proc far push Bp mov Bp, Sp push Es xor dx, dx mov Ax, [Bp].IntegerIn mov Bx, [Bp].Denominator idiv Bx les Bx, [Bp].ResultsPtr mov Es:[Bx].Quotient, Ax mov Es:[Bx].Remainder, Dx pop Es pop Bp ret ModDiv endp plmLibrary_Code ends end