In the head.s file present in linux source code at path arch/i386/kernel/head.S
, ALIGN
is used as seen in code snippet given below after ret
instruction. My question is that what is this ALIGN
, as per my knowledge it is not instruction, not assembler directive, so what is this and why it is used here?
You can get the code of head.S
at site given below:
http://kneuro.net/cgi-bin/lxr/http/source/arch/i386/kernel/head.S?v=2.4.0
Path: arch/i386/kernel/head.S
/*
* We depend on ET to be correct. This checks for 287/387.
*/
check_x87:
movb $0,X86_HARD_MATH
clts
fninit
fstsw %ax
cmpb $0,%al
je 1f
movl %cr0,%eax
xorl $4,%eax
movl %eax,%cr0
ret
ALIGN /* why ALIGN is used and what it is? */
1: movb $1,X86_HARD_MATH
.byte 0xDB,0xE4
ret