当前位置:  技术问答>linux和unix

请教高人:AT&T汇编语言中把.byte .word .long的问题?

    来源: 互联网  发布时间:2016-08-03

    本文导语:  AT&T汇编语言中把.byte .word .long放到程序当中,例如linux启动代码部分: GLOBAL(protected_mode_jump) movl %edx, %esi # Pointer to boot_params table xorl %ebx, %ebx movw %cs, %bx shll $4, %ebx addl %ebx, 2f jmp 1f # Short jump to serialize ...

AT&T汇编语言中把.byte .word .long放到程序当中,例如linux启动代码部分:
GLOBAL(protected_mode_jump)
movl %edx, %esi # Pointer to boot_params table

xorl %ebx, %ebx
movw %cs, %bx
shll $4, %ebx
addl %ebx, 2f
jmp 1f # Short jump to serialize on 386/486
1:

movw $__BOOT_DS, %cx
movw $__BOOT_TSS, %di

movl %cr0, %edx
orb $X86_CR0_PE, %dl # Protected mode
movl %edx, %cr0

# Transition to 32-bit mode
.byte 0x66, 0xea # ljmpl opcode
2: .long in_pm32 # offset
.word __BOOT_CS # segment
ENDPROC(protected_mode_jump)

问题1:.byte 0x66, 0xea # ljmpl opcode
2: .long in_pm32 # offset
.word __BOOT_CS # segment
这段代码是放到那个区当中?
问题2:按照注释.byte 0x66, 0xea是跳转指令,但是汇编器是如何区分指令和数据的?




|
1)

.byte .word .long这些定义的数据放在.data section中

AT&T的汇编,主要有三个section,分别是.data, .bss和.text

2)所有的指令和数据在内存中都是以0101这样的形式存储的,区分指令和数据依靠的是它们所在的各个

段的属性设置,而每条指令在特定的系统下,又都会有对应的一种或几种数字表示,比如下面的:

c7 04 24 64 99 04 08    movl   $0x8049964,(%esp)

如果在.text section中,它就代表后面的那条指令,如果在.data section中,那代表的可能就是一串数字了

    
 
 

您可能感兴趣的文章:

  • 高分请教各位高人!!!!
  • 请教各位高人,我的一个JAVA小程序中为何会出现Class GirdLayout not found.
  • 请教高人,在unix中怎样使一般进程暂时获得管理员的权限,急!!谢谢
  • 关于jsp开发,请教高人!!!
  • 请教高人:一个数据类型转换的问题!!!
  • 请教高人:这句话是什么意思呀?
  • 请教snmp的高人!
  • 我看一个头文件,不知道“__THROW”是什么意思,请教高人!
  • 请教高人:Linux下无法访问其它网段IP的问题.
  • 请教高人。
  • 请教c语言结构体嵌套问题。field `atItem' has incomplete type iis7站长之家
  • 请教高人来解释一下小弟关于poll()函数的疑惑
  • 请教高人make 的-j选项问题
  • 请教高人:同一个套接字(做客户端)连接到server后在不同子进程里使用能否不采取互斥措施收发?
  • 这里高人多,请教一下监控工具 nmon的疑惑。多谢!!!
  • 请教高人,我在装好JBUILDER4,启动后要serial number和key?怎么找到它?80分送你!
  • 我初学Linux,有几个疑问请教一下各位高人
  • 请教高人--关于mingetty的runlevles的问题
  • 请教高人:这个错误提示什么意思?
  • 请教本版各路高人!!!!!
  • 请教,X86汇编转AT&T汇编,急急
  • 100分请教高手如何反汇编arm raw文件
  • 请教一个函数入口处的汇编问题(压栈问题)
  • 100分请教高手一个Linux内核ARM汇编的问题
  • 请教,AT&T格式汇编问题。
  • 请教一个 AT&T 汇编问题
  • 请教:linux 2.6内核汇编中的.size起什么作用?
  • 请教大多数的汇编指令周期数
  • 请教各位,Linux下的汇编怎么搞?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • 请教UNIX下编程语言的选择问题
  • 请教C语言问题
  • freeBSD下语言的选型问题的请教
  • 初装RedHat9.0,关于语言安装的问题请教
  • 新手请教linux下的c语言编译!
  • 请教,在哪里能够查处Linux系统支持的语言编码。
  • 请教高手:C语言怎么知道一个进程是否存在(Linux下)
  • 请教:想用c语言编写能使浏览器启动的一个程序?
  • 请教:关于c语言结构的问题!
  • 请教如何用c语言在linux下实现检查某一用户密码长度?
  • 请教高手:在linux下c语言编程如何清空目标文件的内容?
  • 请问java语言中的构建器的概念,高分请教,
  • 请教c语言结构体嵌套问题。field `atItem' has incomplete type
  • 请教各位大虾 : 如何用C语言 实现读取 wtmp 等系统日志 的功能????
  • 【新手请教】关于linux下c语言编程
  • 请教C语言问题,为什么p2输出为空?
  • 请教个万事开头难的问题,关于C语言编译方面的
  • 请教C语言输入问题
  • Solaris下 C 语言编译时结构体成员对齐问题,请教!急!先谢了!
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3