![](https://seccdn.libravatar.org/avatar/1964acfaf091476dc23e13fcb67f2e0c.jpg?s=120&d=mm&r=g)
W dniu 20 maja 2009 15:45 użytkownik Alex Deucher <alexdeucher@gmail.com> napisał:
2009/5/20 Rafał Miłecki <zajec5@gmail.com>:
Then how does MOVE work? MOVE work[00] [..XX] <- reg[0180] [..XX] Let's say I get following output: # rhd_dump -r 0180,0184 01:00.0 0x0180: 0x01234567 0x0184: 0x89ABCDE does it mean sth following: 0x0180: 0x01 0x0181: 0x23 0x0182: 0x45 0x0183: 0x67 ? If so, what is [..XX] part of 0x0180? Shuld I treat 0x0180 as 0x0001 and [..XX] means 0x01 then?
Registers are 32 bits, and the atom ops can operate on individual bytes or groups of bytes. In this case the op is operating on the lower two bytes (hence the ..XX). In your example the lower two bytes are 0x4567.
You say registers are 32bits... that's fine, for example my 0x0185 is 0xAB, so 2*16bits = 32bits. Alright. But next you say two lower bytes (2B == 16b) of my example 0x0180 (0x01234567) are 0x4567. Here I'm lost. 4*16bits = 64bits. That means 8B, not 2B :| Could you explain that one more please, so I could try to understand that?
Finally, how does work DIV WS_QUOT/LOW32 [XXXX] <- 00000008 ?
Divide the current workspace value by 8.
So WS_QUOT is kind of pointer to current workspace? Does "current workspace" always mean work[00] or may is be 01/02/... sometimes? What determines which workspace will be used for DIV? Or maybe WS_QUOT/LOW32 means work[00] and WS_QUOTE/HIGH32 means work[01]? Are there some special tricks when dividing in atom bios? I created almost working GetEngineClock, but is misses 10^1: http://bugs.freedesktop.org/show_bug.cgi?id=21812 -- Rafał Miłecki -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org