ZXNet эхоконференция «code.zx»
тема: Арифметические операции с двухбайтными числами
от: Kirill Frolov
кому: All
дата: 06 Feb 2006
Hello, mishutka
mis> ну во первых BCD далеко не тормозное глючное а во вторых очень даже
mis> удобное.
mis>
относительно z80 -- ересь.
> И еще пожалуйста не ссылайтесь на поисковики
То что называется разжевать и в рот положить? 5 литров Lapin Kulta.
(ибо ндцать раз уже писалось и с первого раза ищется гуглем. повторяться --
надоело).
от: Slavik Tretiak
кому: All
дата: 06 Feb 2006
Hello, mishutka
BCD далеко не тормозное глючное а во вторых очень даже удобное
BDC не удобно в работе. BCD хорошо только в одном случае- если результаты надо
очень часто (чаще чем производить вычисления) выводить в читабельном виде для
человека (т.е. в 10тичной системе)
во всех остальных случаях BCD тормозно.
И еще пожалуйста не ссылайтесь на поисковики
т.е. та ссылка что я дал, не катит?
и ещё, по поводу ссылания на поисковик.
я, например, чтоб более правильо вам ответить и не соврать с умножением, не
поленился, нажал Ctrl+T и поискал в гугле по поводу "16 bit multiply z80"
вторая же ссылка - классический документ "Z80 Bits", где описаны различные
варианты умножения и деления. (ссылка в моём предыдущем посте)
поискав ещё чуть-чуть, находим различные варианты вычисления квадратных корней
(не совсем для Z80, но всё очень доступно)
http://www.pedrofreire.com/crea2_en.htm
я на это потратил 5 минут. почему бы и вам не проделать то же самое?
или вам это настолько сильно надо, что нет желания потратить 5 минут на поиски?
от: Slavik Tretiak
кому: All
дата: 06 Feb 2006
Hello, mishutka
┌─- code ───
; 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
└── code ───
а вообще google.com в помощь.
например
http://map.tni.nl/sources/external/z80bits.html
зы. а тормозно-глючное BCD тебе зачем?
от: Михаил Тебеньков
кому: All
дата: 06 Feb 2006
Hello, All
Господа если у кого есть подобная библиотечка поделитесь плиз или подскажите
где можно почитать нужны сложение, вычитание, умножение и деление и корень
(квадратный) и будет просто здорово если еще и формат BCD. А если кто знает где
можно почитать про алгоритмы этих операций тому особый респект
от: Михаил Тебеньков
кому: All
дата: 06 Feb 2006
Hello, Sinus
ну во первых BCD далеко не тормозное глючное а во вторых очень даже удобное. И
еще пожалуйста не ссылайтесь на поисковики
от: Гаврилов Виталий
кому: All
дата: 06 Feb 2006
Hello, Sinus
Можешь пошукать у меня
http://zxdocs.fatal.ru
раздел Coding
от: Wladimir Bulchukey
кому: Михаил Тебеньков
дата: 07 Feb 2006
Здравствуй(-те), Михаил...!
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] [Старые русские]
от: Вячеслав Вовк
кому: All
дата: 16 Feb 2006
Hello, All
Hо ведь можно воспользоваться стандартными функциями калькулятора через Rst 40
от: Владимир Кладов
кому: All
дата: 17 Feb 2006
Hello, elfh
Я тут как-то в какой-то ветке говорил, что искал книжку Григорьева В.Л. Точное
название сечас не помню, надо тред искать. Самое главное: там было много
математических алгоритмов. Hапример, арифметические операции с многобайтными
числами. Для КР580 вообще-то, но Z80 вполне совместима. (Hе помню была ли там
тригонометрия, но BCD-арифметика точно была).
|