3

Not sure which book you are referring to (isn't that book talks only about MIPS and not on x86?) In any case, I think that the answer is the following: EIP+5 is the address of the next instruction. That is, in x86 the next instruction after a (near32) call is 5 bytes away. This is because the call takes 5 bytes: 1byte = the call opcode (E8, for a (near)...


2

In a simple computer architecture with a single active CPU connected to RAM and other passive peripherals by a bus, then there is a timing signal (typically produced by a quartz oscillator) that synchronises the internal operation of the CPU. This clock signal is the system clock. There may also be a separate timing signal that synchronises the activities ...


2

Pseudo direct addressing is not intended for relative jumps. It is an absolute jump. If you want a relative jump, don't use pseudo direct addressing. It's not correct that the limit is $2^{28}$ past the current address. Suppose the current address is 0x183020C0 (to give an example). Then pseudo direct addressing will allow jumping to any address in the ...


2

In MIPS-speak, these areas of memory of 28 (26+2; the +2 is because instructions are four bytes in size) bit address space (256MB) are referred to as "superblocks". Pseudo-direct addressing allows you to jump anywhere within the same superblock. It doesn't matter if it's forwards or backwards. This was never a problem in practice because it's very rare for ...


1

Consider an 8-bit word whose contents can be described as follows: Bits 0–2 encode some value $x$. Bits 3–4 encode some value $y$. Bits 5–7 encode some value $z$. Each of these different values is known, in this context, as a field. You can think of it as a field in some form. Isolating a field out of a word means extracting just the value of the field. ...


1

Vladislav is right, but there is more that can be said. A loop means running some code, and then running it again. An if just conditionally branches to two different bits of code. If one of those bits of code can jump back to the earlier code, or to the if itself, then you can get a loop. So you need something that can jump somewhere else. A goto is ...


1

A "64 bit architecture" with 32 bit registers is a bit unusual. Taking the numbers at face value, a 2-word instruction is 128 bit long, you need 6 bit to encode the instruction, 2x7 bits to specify two registers, leaving 108 bits for an "immediate" operand. The maximum value in the "immediate" operand is $2^{107}-1$. That's answering the question that ...


1

The distinction between the two[adapter and controller] is mainly one of packaging. Controllers are chip sets in the device itself or on the system’s main printed circuit board (often called the motherboard). An adapter is a card that plugs into a slot on the motherboard.Regardless, the purpose of each is to transfer information back and forth between the I/...


1

There are 4 common hardware approaches (that I know of) for reading and writing octets (8-bit bytes). The bus controller inside the CPU can be divided into 2 types, which I will here call "simple" or "caching". Both of these types can be combined with either one of 2 major types of hardware bus. The vast majority of hardware buses are either: Some ...


Only top voted, non community-wiki answers of a minimum length are eligible