6502

Programs, sources, embedded, demomaking, whatsoever related to subj :)

Postby lvd » 11 Feb 2013, 06:54

g0blinish wrote:2.3*6.4 я столбиком перемножу, но толку-то от кода 6502?

Умножь то и то. Внимательно рассмотри результат. Внезапно догадайся, как умножать 8.8 на 8.8, имея целочисленную умножалку 16x16->32.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby lvd » 11 Feb 2013, 06:57

g0blinish wrote:и на z80:

g0blinish wrote: mul l, a ; b*d

g0blinish wrote: mov hl,[sp+3]

g0blinish wrote: add [hl],a

ЩИТО?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby g0blinish » 11 Feb 2013, 07:08

lvd wrote:ЩИТО?

Image

lvd wrote:Внезапно догадайся, как умножать 8.8 на 8.8, имея целочисленную умножалку 16x16->32.

не понимаю пока, подумаю с утречка.или во вражеский код гляну.
User avatar
g0blinish
долбоёб-гумасек
 
Posts: 845
Joined: 31 Oct 2012, 06:21
Group: Registered users

Postby lvd » 11 Feb 2013, 08:46

g0blinish wrote:не понимаю пока, подумаю с утречка.или во вражеский код гляну.

2.3 * 6.4 = 14.72
23 * 64 = 1472
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby DimkaM » 11 Feb 2013, 09:51

Чёта я недопонимаю.
Какая хер разница 16х16 или 8.8х8.8 или 10.6х10.6 ?!
Самое главное чтоб оба два числа были с одинаковым количеством битов после запятой
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1011
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby g0blinish » 11 Feb 2013, 10:24

DimkaM wrote:Какая хер разница 16х16 или 8.8х8.8 или 10.6х10.6 ?!

распиши свой формат хранения чисел с плавающей запятой тогда.

Тело пишет:
The fastest multiply I'v ever done in 6502 assembly was with an
LDA $xx00,y

to perform a=$xx*y. I used locations $4000 to $bfff as a multiply table, with my
fixed point number system set up such that -1 was represented by $40, 0 by $80
and 1 by $c0...

It was part of a very fast IFS fractal generator (7000 plots per
second on a 1Mhz 6502 (commodore 64)). Don't ask about the plot
pixel routine...

стопудово на комодури сидят ебанутые..
User avatar
g0blinish
долбоёб-гумасек
 
Posts: 845
Joined: 31 Oct 2012, 06:21
Group: Registered users

Postby DimkaM » 11 Feb 2013, 10:38

Чёта даже интересно.
pi*3=?

если 8.8, то pi=(0x03 целая часть,дробная 0.1416*256=36=0х24)=0х0324

0x0324*0x0300=0x096c00
оное делим на 256, ибо у нас получилось 16бит после запятой 0x096c00>>8=0x096c
Целая часть равна девяти соответсно. дробная 0х6с/0х100=0.421
профит 9.421
Last edited by DimkaM on 11 Feb 2013, 10:54, edited 2 times in total.
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1011
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby DimkaM » 11 Feb 2013, 10:46

DimkaM wrote:0x0324*0x0300=0x096c
пофиксил
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1011
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby DimkaM » 11 Feb 2013, 10:56

при формате 4.12:

pi=(0x3 целая часть, 0.14159265*4096=580=0х244)=0х3244

0х3244х0х3000=0х96сс000
0х96сс000>>12=0х96сс
0x6cc/0x1000=1740/4096=0.4248

профит 9.4248
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1011
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby DimkaM » 11 Feb 2013, 11:08

при написании процедуры умножения нужно сразу учесть, что 8 младших бит(при 8.8)нужно откидывать. Оно и процедурка по проще выйдет.
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1011
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

PreviousNext

Return to Coding

Who is online

Users browsing this forum: No registered users and 15 guests

cron