From 05787a20e36f0f6ec73e4a1847cf23c25ec821aa Mon Sep 17 00:00:00 2001 From: Stephen Toth Date: Tue, 26 Jun 2018 21:34:22 -0400 Subject: [PATCH] Added mulAbyHL --- FSHa.asm | 1 - bin/FSHa.8xp | Bin 2155 -> 2130 bytes includes/Math.asm | 55 +++++++++++++++------------------------------- 3 files changed, 18 insertions(+), 38 deletions(-) diff --git a/FSHa.asm b/FSHa.asm index 1f0d98c..fe58e1d 100644 --- a/FSHa.asm +++ b/FSHa.asm @@ -12,7 +12,6 @@ Setup: LD HL, 0 CALL fshvarfill - Input: LD C, $00 CALL fshcmdfill diff --git a/bin/FSHa.8xp b/bin/FSHa.8xp index cee3c5dd1bd26179eec69bfbb1bb834a4d0ed238..4133eccb97d26073d18723320dcb08543ef11bf8 100644 GIT binary patch delta 1203 zcmZvaZ%7ky7{_n7yLl6`9hra17aoQT?Zu3g;fqxi8Y22a>P^ufe4QdiYQ=_8y$sh? z6cO2rU^nM>q?FJbZ7$g5FZPTk;k%QL!l79ag3;A;yB*uid-1#H&-ZzLzt8XaWnF34 zcx!Vlw~OL9M@QeuV^r=#hx>M&xH+0|94%mse42s^irfias1vrPfNYe}!n4&BA6iY3 z-x3J;k9UV59t=UeBKXw9Co(*iWp&EUbk@55z}&UCGNY~a ztwce~2oKp5|2YZ-M*=F5IXc!!en|K*ra*5~E=EE3DucN0R>pC4D(NWnj%3!(tcZf6 zGVoS{g%woKmeIovOwB7zxJRY@>)fy!ua3fqPAT~F)svYrS~Irtx2mSs%oYhW;Q^cK z!51OmNqCf*r}5P@Mq}63_JkoHQnh$>APQ|1330U9RD~o$QwE$Iv*2Fhn0JEnD!!P3 zbskrz@;qi@Vci>WFOM#jdoy~Y2M7{cbPEO#9V_AqlmKBWuP6ZF?mGjOBrG88@IQ}% zb5pi(ZplSBfudn~6_;%AwBYJgF3Tnl7MAj)CD8x6lNQsQapF`lQwb7g@`3^qp1?wC U2OMW%NJSY?EhcR7KU0GH2liWXy#N3J delta 1165 zcmZ{iTS!xJ7{JfYcD6G!^OVSjLH<$ZWl$%R6u5u2FwTZ3F(P*Wpxlki&%xk==+YHXBk=_nBm>o(arM9v#7lq*!_MN=_ zgp1qCF)<;GdVqfN0eR^Gh@EkRfqZPwLm&cUSo!9CHEr;)3X162hWWzHIx`J`ir^^ghh; z`yk~|GrBU#Z&?`Q&*`OmCotf_qD4VOm0s%*tHd=@2Q@&cB0-7j^s8w zpKcI!6@{j6R!357wgUa?f=NtAOJ6|eU2whGn)OLMCvs}*!_qF!lG8f5x{{2~2e_Hn z2|c4;k9J4_uI$)C08$C^h>Hu0_}k!~K%pU?4IZHDaLC30q;2vQly(l|5}hD54rde z{38f96|i}>abvlTju_bD`IP}R{gRRji_(DJd?FIeBS&$gt0CLv)}RX8jnXJT4`yMp z4q+!%*aX4?MNqY0SB1_ru5y-1pAF{TvS0=pk0nfOv^wUpKpqoIZ47nsY-2ecHn0jr zaNdd3T+2WxPd*r0i@c#Gq@o`}X_Rk=vgla29DUXe>EG3nJpP!9Kds^)pU&drv4oG^ RR>xl!$m3(_|M*3Pe*nroSo{D0 diff --git a/includes/Math.asm b/includes/Math.asm index 42ce764..a43a0e0 100644 --- a/includes/Math.asm +++ b/includes/Math.asm @@ -28,6 +28,7 @@ cpBCDE: sbc hl, de pop hl ret + ;; mulAbyB ;; Multiplys AxB ;; Inputs: @@ -45,50 +46,30 @@ mulAbyBLoop: pop bc ret -;; mul8By8 [Maths] -;; Performs an unsigned multiplication of H and E +;; mulAbyHL +;; Multiplys AxHL ;; Inputs: -;; H: Multiplier -;; E: Multiplicand +;; A: Multiplier +;; HL: Multiplicand ;; Outputs: -;; HL: Product of H and E. -mul8By8: +;; HL: Product of A and HL. +mulAbyHL: + push bc push de - ld l, 0 - ld d, l - - sla h - jr nc, $ + 3 - ld l, e - - add hl, hl - jr nc, $ + 3 + ld de, 0 + ex de, hl + cp 0 + jr z, mulAbyHLEnd + ld b, a +mulAbyHLLoop: add hl, de - add hl, hl - jr nc, $ + 3 - add hl, de - add hl, hl - jr nc, $ + 3 - add hl, de - add hl, hl - jr nc, $ + 3 - add hl, de - add hl, hl - jr nc, $ + 3 - add hl, de - add hl, hl - jr nc, $ + 3 - add hl, de - add hl, hl - jr nc, $ + 3 - add hl, hl - jr nc, $ + 3 - add hl, de - add hl, de - + djnz mulAbyHLLoop +mulAbyHLEnd: pop de + pop bc ret + ;; mul32By8 [Maths] ;; Performs an unsigned multiplication of DEHL and A. ;; Outputs: