Search
12:06:20
ebrasca
what is register-number for?
12:06:40
ebrasca
I have done register-class.
12:24:58
froggey
register-number converts from a register name to the encoding for that register
12:33:59
ebrasca
I paste what is done for now here. ( link )
12:38:58
ebrasca
http://termbin.com/b8xl
12:58:29
ebrasca
are all members of register-class in register-number?
13:01:17
froggey
depends on the architecture. I suggest you start implementing instructions, then it should become obvious
13:06:36
ebrasca
ACTION need to lear about what are instruction formats.
16:41:42
ebrasca
I have lear about opcode
16:42:00
ebrasca
and opcode is first in instruction format
16:42:12
ebrasca
in power9 documentation PO is first
16:46:27
froggey
I don't know, it depends on the architecture
16:47:25
froggey
it might not even matter. x86 has clearly defined opcode bytes in the instruction, but arm64 doesn't
16:49:08
ebrasca
ACTION don't understand.
16:50:08
ebrasca
ACTION is waiting for s-expressions.
16:51:33
ebrasca
5 pages of instructions forms ...
16:52:56
ebrasca
some registers are 128bit ...
19:14:26
bms_
Also, how can I identify through NickServ on the Mezzano IRC client? It's saying msgisn't a command.
19:15:45
bms_
I really like the OS so far; it's what I've been searching for to contribute to for a while.
19:15:58
froggey
I don't think I implemented a msg command, the IRC client isn't very complete
19:16:19
bms_
Oh, that's probably why then. :P
19:17:02
bms_
Do you have any suggestions for new contributors, since the website page about it is TODO?
19:19:19
froggey
no suggestions. just do what you want
19:19:39
bms_
Sounds good. Thank you. I'm excited to begin.
19:19:59
froggey
the IRC client could do with some improvements. a msg command, maybe support for multiple channels, etc
19:20:34
bms_
I probably will try to take a look at the IRC client, since it directly affects me.
19:26:15
bms_
So that works. Sorry, just learning the code a bit.
19:46:56
bms_
So, as far as I can tell, there's a privmsg server command defined, but it actually ends up being the ACTION command...
19:50:41
froggey
server commands are commands received from the server/other people. part of the IRC protocol, not the client's UI
19:56:14
ebrasca
froggey: How do you manage assambler?
20:01:34
froggey
I have no idea what PO is
20:02:28
froggey
is it a ppc thing? the manual should define it
20:02:33
ebrasca
Yea I find it, it is primary opcode.
20:02:58
ebrasca
yes it is someting with ppc
20:05:25
ebrasca
I like all intruction formats are 32bit long and world aligned.
20:07:10
ebrasca
Do x86 have instructions fields?
20:09:03
froggey
https://software.intel.com/sites/default/files/managed/ad/01/253666-sdm-vol-2a.pdf
20:09:16
froggey
look at figure 2-1, at the start of chapter 2
20:09:31
froggey
the ModR/M and SIB bytes are broken out into several fields
20:12:06
ebrasca
It don't have XO (extended opcode)
20:13:15
froggey
the way instructions are encoded is completely different across architectures
20:14:53
froggey
any similarities between x86 and ppc are going to be coincidental. don't look at x86 and think that ppc will do something the same way
20:15:03
ebrasca
ACTION don't understand why.
20:15:44
ebrasca
froggey: I don't have other references to read. ( maybe arm )
20:18:37
froggey
different design philosophies, different designers, different requirements. there are a huge number of ways to design an architecture
20:20:47
ebrasca
I am almost sure primary opcode PO and extended opcode XO is related to instructions.
20:21:40
ebrasca
bacause of some random video in yt.
20:22:17
froggey
have you got a build of binutils that targets ppc64?
20:22:39
froggey
I've found it very useful to have a known-good assembler & disassembler to compare against and to experiment with
20:24:30
ebrasca
I only compile and edit some packages for parabola GNU/Linux-libre.
20:26:16
ebrasca
I have not work with ppc64 out of mezzano and run debian in qemu-system-ppc64 .
20:29:26
froggey
ppc64 debian will have binutils
20:31:36
froggey
I guess that could work, but I don't know how you'd use it to disassemble arbitrary code
20:33:17
froggey
er, I meant arbitrary instructions
20:34:37
ebrasca
(disassemble '(lambda (x) x)) ?
20:35:08
ebrasca
you can modify x input and x output .
20:35:15
froggey
https://gist.github.com/froggey/ab1fb0d4c7842104dada81edafb3ab64
20:35:58
froggey
there I've assembled the 'ret' instruction and disassembled the result. I can see it assembles to the byte c3
20:37:27
froggey
I can do that with arbitrary instructions, not just what the sbcl compiler produces for lisp code
20:38:29
ebrasca
ACTION don't understand binutils.
20:39:07
froggey
it's the gnu assembler/disassembler/linker/etc
20:40:01
ebrasca
I like gnu emacs and GNU.
20:40:59
ebrasca
Can I compile some instruction of ppc64 in it?
20:41:50
froggey
yes, if you have a build of binutils that targets ppc64
20:42:29
froggey
if you have debian running in qemu-system-ppc64, then you can use the binutils there
20:43:19
froggey
you don't have to use it, I was just suggesting it because I found it useful during development
20:43:28
ebrasca
First I like to ask other parabola members about "binutils that targets ppc64" .