Jarod@termainal$ tail * >> blog

A Developer's Notebook

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  24 Posts :: 9 Stories :: 12 Comments :: 0 Trackbacks

Registers



General-purpose registers


Register Description
EAX Accumulator for operands and results data
EBX Pointer to data in the data memory segment
ECX Counter for string and loop operations
EDX I/O pointer
EDI Data pointer for destination of string operations
ESI Data pointer for source of string operations
ESP Stack pointer
EBP Stack data pointer


Segment registers


Segment Register Description
CS Code segment
DS Data segment
SS Stack segment
ES Extra segment pointer
FS Extra segment pointer
GS Extra segment pointer


Instruction pointer register


EIP keeps track of the next instruction code to execute


Control registers


Control Register Description
CR0 System flags that control the operating mode and states of the processor
CR1 Not currently used
CR2 Memory page fault information
CR3 Memory page directory information
CR4 Flags that enable processor features and indicate feature capabilities of the processor




Sections



.section .data


section for variables declaration

Directive Data Type
.ascii Text string
.asciz Null-terminated text string
.byte Byte value
.double Double-precision floating-point number
.float Single-precision floating-point number
.int 32-bit integer number
.long 32-bit integer number (same as .int)
.octa 16-byte integer number
.quad 8-byte integer number
.short 16-bit integer number
.single Single-precision floating-point number (same as .float)

.equ static variables


.section .rodata


section for constants declaration


.section .bss


buffers

Directive Description
.comm Declares a common memory area for data that is not initialized
.lcomm Declares a local common memory area for data that is not initialized


.section .text


assembly codes

Directive Description
.global _start entry point
posted on 2007-10-27 17:36 Jarod 阅读(264) 评论(0)  编辑  收藏 所属分类: 其它技术

只有注册用户登录后才能发表评论。


网站导航: