PDA

Просмотр полной версии : Арифметические операции с двухбайтными числами



mishutka
06.02.2006, 13:39
Господа если у кого есть подобная библиотечка поделитесь плиз или подскажите где можно почитать нужны сложение, вычитание, умножение и деление и корень (квадратный) и будет просто здорово если еще и формат BCD. А если кто знает где можно почитать про алгоритмы этих операций тому особый респект

Sinus
06.02.2006, 14:12
; addition : hl = hl + de
add16 add hl,de
ret

; subtraction : hl = hl - de
sub16 and a
sbc hl,de
ret

; multiply : a:hl = a * de
mul16 ld c,0
ld h,c
ld l,c

add a,a
jr nc,$+4
ld h,d
ld l,e

dup 7
add hl,hl
rla
jr nc,$+4
add hl,de
add a,c
edup
ret


а вообще google.com в помощь.
например
http://map.tni.nl/sources/external/z80bits.html

зы. а тормозно-глючное BCD тебе зачем?

mishutka
06.02.2006, 14:56
ну во первых BCD далеко не тормозное глючное а во вторых очень даже удобное. И еще пожалуйста не ссылайтесь на поисковики

fk0
06.02.2006, 15:35
ну во первых BCD далеко не тормозное глючное а во вторых очень даже удобное.


относительно z80 -- ересь.


И еще пожалуйста не ссылайтесь на поисковики

То что называется разжевать и в рот положить? 5 литров Lapin Kulta.

(ибо ндцать раз уже писалось и с первого раза ищется гуглем. повторяться -- надоело).

Sinus
06.02.2006, 15:40
BCD далеко не тормозное глючное а во вторых очень даже удобное

BDC не удобно в работе. BCD хорошо только в одном случае- если результаты надо очень часто (чаще чем производить вычисления) выводить в читабельном виде для человека (т.е. в 10тичной системе)

во всех остальных случаях BCD тормозно.

И еще пожалуйста не ссылайтесь на поисковики
т.е. та ссылка что я дал, не катит?

и ещё, по поводу ссылания на поисковик.
я, например, чтоб более правильо вам ответить и не соврать с умножением, не поленился, нажал Ctrl+T и поискал в гугле по поводу "16 bit multiply z80"

вторая же ссылка - классический документ "Z80 Bits", где описаны различные варианты умножения и деления. (ссылка в моём предыдущем посте)

поискав ещё чуть-чуть, находим различные варианты вычисления квадратных корней (не совсем для Z80, но всё очень доступно)

http://www.pedrofreire.com/crea2_en.htm

я на это потратил 5 минут. почему бы и вам не проделать то же самое?

или вам это настолько сильно надо, что нет желания потратить 5 минут на поиски?

Vitamin
06.02.2006, 20:06
Можешь пошукать у меня
http://zxdocs.fatal.ru
раздел Coding

Wlodek
08.02.2006, 08:04
Если стоит чисто практическая (не академическая) задача, причём именно для
Спектрума (а не абстрактно Z80), может иметь смысл использовать калькулятор
Бейсика. Газета "Nicron", номера 30, 31 и 33, рубрика "Учимся ассемблеру".
http://trd.speccy.cz , Пресса, на букву N.

Wladimir Bulchukey (500:95/462)
13.02.2006, 00:15
Здравствуй(-те), Михаил...!

06 Фев 06 17:35, Михаил Тебеньков -> All:


Господа

Товарищи подойдут? :)


если у кого есть подобная библиотечка поделитесь плиз или
подскажите где можно почитать нужны сложение, вычитание, умножение и
деление и корень (квадратный) и будет просто здорово если еще и формат
BCD. А если кто знает где можно почитать про алгоритмы этих операций тому
особый респект

Если стоит чисто практическая (а не академическая) задача, причём именно для Спектрума (а не абстрактно Z80), может иметь смысл использовать калькулятор Бейсика. Газета "Nicron", номера 30, 31 и 33, рубрика "Учимся ассемблеру".
http://trd.speccy.cz , Пресса, на букву N.

С наилучшими - Wlodek # wlblack()newmail.ru # http://wlodeks.narod.ru
[ZX] [500:95/462@ZXNet] [2:5016 Forever] [Golyanovo] [Старые русские]

slavius2006
16.02.2006, 18:12
Но ведь можно воспользоваться стандартными функциями калькулятора через Rst 40

elfh
17.02.2006, 18:31
я уже не помню, откуда что брал. тут много разнообразных процедур, математических в частности. отдельное спасибо необходимо сказать x-trade и alco. файл в формате alasm, при желании можно разобраться. я пользуюсь всем этим постоянно.

Vladimir Kladov
17.02.2006, 19:09
Я тут как-то в какой-то ветке говорил, что искал книжку Григорьева В.Л. Точное название сечас не помню, надо тред искать. Самое главное: там было много математических алгоритмов. Например, арифметические операции с многобайтными числами. Для КР580 вообще-то, но Z80 вполне совместима. (Не помню была ли там тригонометрия, но BCD-арифметика точно была).