Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 431 Vote(s) - 3.41 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Terminology: "registers" in assembly language programming

#1
I've heard the terminologies: register, hardware register, program register,register file.

What's the difference between all these? And in assebmly, what is the type of the EAX register? Program register?
Reply

#2
a register is a small bit of memory that sits inside the CPU. and is used by assembly language to perform various tasks.

could it be that by program register you mean program counter?
Reply

#3
A register is a storage area inside the CPU. Here are some definitions:

- A register file is an array of registers - see

[To see links please register here]

for a full description.
- The eax register is the accumulator register of the Intel x86 family of CPUs - it's the place where integer maths gets done.
- The program register (I think you mean program counter) is a special purpose register which contains the address of the next machine code instruction to be executed
Reply

#4
A "hardware register" might also refer to a location inside some hardware device. For example, a UART (COM port) looks like a D-shaped connector with 9 or 25 pins from outside the cabinet, but to the device driver it looks like several configuration registers, a status register, and data registers holding the next character to send and the last character received. (I've left out a *lot* of detail there.)

In the x86 architecture those registers are usually located in a special physical address space that is accessed with I/O instructions. In other platforms, it is common for hardware registers to be mapped to some corner of the normal memory space. In either case, one of the important roles of an operating system and its device drivers is to prevent application code from needing to know the details of where the hardware registers are located and what they mean.

In some kinds of hardware devices, the distinction between memory and hardware registers is less clear. For instance, your video adapter contains a block of memory known as the frame buffer that holds the color and brightness values for each individual pixel. Is that memory a large hardware register or is it just a buffer that has an interesting side effect?
Reply

#5
A register is the most basic data storage device. Now these are the main differences.

A register file is generally a large collection of registers organised in such a way so that they are used for computations. In a modern processor, all computations are performed between values stored in several registers in a register file.

A hardware register generally refers to registers that store configuration and status information. This could be for the processor or some external hardware I/O device.

A programme register may refer to the programme counter, a special register that stores the memory location of the current instruction being executed by the processor.
Reply

#6
In relation to the question, there are two general types of registers that you should consider:

- program registers
- hardware registers

The hardware registers are clocked (updated on clock ticks) and are used in the **physical** design of processor circuitry.

The program registers are random-access memory and are held in a register file located in the CPU. Assembly/machine code instructions access these registers through names like %eax, %esp, %rdi, %edi, etc.

Reply



Forum Jump:


Users browsing this thread:
2 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through