腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
在
linux
内核分叉系统中,
ljmp
指令是做什么的?
assembly
、
linux-kernel
、
x86
、
gnu-assembler
、
att
我正在研究
linux
内核源代码(旧版本0.11v)。%ecx,current\n\t" \ "movw %%dx,%1\n\t" \ "
ljmp
我知道
ljmp
指令需要两个参数,比如
ljmp
$section, $offset。我认为
ljmp
指令必须使用_TSS(n), xx。我们不需要提供有意义的偏移值,因为cp
浏览 2
提问于2015-11-18
得票数 8
2
回答
如何使用AT&T语法跳转到$0x9000:%ax?
assembly
、
operating-system
、
x86
、
bootloader
、
att
我想跳远,如下所示:区段地址为0x9000,偏移地址存储在寄存器ax中(目前我仍处于实模式下),我尝试了以下操作,它们都没有工作。
ljmp
$0x9000, ax
ljmp
$0x9000, (%ax)那该怎么做呢?
浏览 3
提问于2014-11-15
得票数 1
回答已采纳
1
回答
gcc内联程序集中的
ljmp
语法
assembly
、
inline-assembly
、
gnu-assembler
、
segments
Error: suffix or operands invalid for '
ljmp
'当然,我欢迎其他影响CS登记册的陈词滥调void set_cs(u16 cs) { "mo
浏览 2
提问于2009-11-06
得票数 4
回答已采纳
1
回答
libc如何修改
Linux
中的CS寄存器
c
、
linux
我试图在
Linux
中使用LDT ()。我为新的代码段设置了LDT条目,LDT。然后我尝试用
ljmp
更新%CS。我发现在
ljmp
指令之后更新了%CS,但是在printf函数之后,它又更改回原来的%CS值。所以我想知道libc修改了%CS寄存器,但是我不知道这是如何发生的,以及如何使用我自己指定的LDT?/ load the LDT into %cs, since x86 does not asm("<e
浏览 6
提问于2015-10-17
得票数 1
回答已采纳
1
回答
内联程序集出现gcc编译错误:
ljmp
的操作数类型不匹配
gcc
、
assembly
、
att
、
osdev
无论出于何种原因,以下内联汇编(AT&T/gcc样式)在新安装的Debian GNU/
Linux
64位计算机上不能工作;它可以在其他计算机上正常编译和工作: : "p" (&kernel_entry));-c init.c init.c: Assembler mes
浏览 0
提问于2018-09-13
得票数 2
1
回答
中断处理程序不能在真正的计算机上工作。
c
、
gcc
、
assembly
、
x86
、
bootloader
handler(); "handler:\n\t" "call handler_func\n\t" "
ljmp
浏览 4
提问于2015-12-28
得票数 2
回答已采纳
1
回答
在
Linux
2.6中用switch_to()保存通用寄存器
linux-kernel
、
x86
、
low-level
、
context-switch
我在链接switch_to中的文章“
Linux
中x86上下文切换的演变”中看到了的代码。但是
Linux
2.2.0版本确实将它们保存在这个函数中,因为它使用的是软件上下文切换,而不是依赖于硬件TSS。后来的
Linux
版本仍然进行软件上下文切换,但是没有这些push / pop指令。
浏览 1
提问于2019-05-31
得票数 3
回答已采纳
1
回答
要求澄清“段寄存器继续指向与实地址模式相同的线性地址”
segment
、
descriptor
、
i386
、
protected-mode
、
gdt
9153
ljmp
$(SEG_KCODE<<3),$start32 段寄存器继续指向与实地址模式相同的线性地址。这句话似乎回答了我的问题:如果段寄存器继续指向相同的线性地址,那么下一条指令应该与实际模式相同,即
ljmp
。但是我立即有了一系列新的问
浏览 5
提问于2021-04-07
得票数 0
回答已采纳
1
回答
如何在CR0中设置PE标志以启用受保护模式?
assembly
、
operating-system
、
kernel
、
protected-mode
、
real-mode
至价值1) 我想知道将段寄存器和指令指针转换为索引和偏移量以用于gdt的逻辑。这个逻辑是由硬件完成的吗?如果是这样的话,那么哪一块硬件以及为什么执行
ljmp
是进程的一部分呢?为什么不简单地在CR0中设置PE标志以启用保护模式(没有以下
ljmp
)?
浏览 2
提问于2014-10-31
得票数 6
1
回答
在汇编程序中,*%gs:0x10做什么?
assembly
、
x86
、
nasm
、
reverse-engineering
下面的语法是用来做什么的?我知道call *%gs:0x10会给__kernel_vsyscall打电话,但我不知道*%register:value做什么。
浏览 3
提问于2017-01-17
得票数 2
回答已采纳
1
回答
按钮不异步工作(8051代码)
asynchronous
、
microcontroller
、
interrupt
、
interrupt-handling
、
8051
shown) to display first menu cjne R6,#KCENTER,centerb centerb:
ljmp
menufive ;goto menufive if left is pressed cjne R6,#KRIGHT,rightb
ljmp</
浏览 0
提问于2017-05-31
得票数 0
1
回答
来自AT&T语法的Intel程序集
ljmp
语法
assembly
、
x86-16
、
gnu-assembler
、
att
、
intel-syntax
我正在尝试将xv6引导代码从At&t语法转换为Intel语法,并且
ljmp
指令有问题。我正在努力学习英特尔电脑的引导过程,我对英特尔的组装并不是特别强。AT&T的最初语法是
ljmp
$0x8, $start32。
ljmp
start32, 0x8 start32: mov ax
浏览 5
提问于2020-12-17
得票数 2
回答已采纳
1
回答
基本的GCC内联汇编问题
gcc
、
inline-assembly
; __asm__ volatile ("movl userstack, %esp");然而,当我尝试编译时,我得到了错误:“错误:后缀或操作数对于
ljmp
无效”和“未定义的对‘`userstack’的引用”。
浏览 1
提问于2010-10-01
得票数 1
2
回答
引导加载器-将处理器切换到保护模式
assembly
、
operating-system
、
x86
、
bootloader
、
protected-mode
我搜索的,但是没有找到ljmpl指令的确切工作方式,它和
ljmp
和常规jmp之间的区别是什么--如果有人指出正确的方向,我会很感激。为什么要执行跳转呢?这个指令的目的是什么?.
ljmp
$PROT_MODE_CSEG, $protcseg 它说处理器处于真实模式-但我们刚刚看到BIOS切换到保护模式是什么原因导致处理器由于
ljmp
instruction?而神奇地进入32位模式?还有一件事我不明白--当我用gdb跟踪引导加载程序的执行时,我看到正在执行以下
浏览 4
提问于2011-03-06
得票数 28
回答已采纳
3
回答
对非常量TSS段使用jmp指令。
assembly
、
x86
、
operating-system
、
kernel
、
gnu-assembler
jmp可以与包含有效GDT条目(即代码/数据段描述符)的段寄存器一起使用:jmp es:0x0我能想到的唯一方法是使用iret指令,但我觉得它像黑客一样,因为我需要修改链接字段,然后在EFLAGS中设置NT位来执行反向链接
任务
切换。
浏览 0
提问于2016-11-09
得票数 2
回答已采纳
2
回答
ljmp
(在64位模式下)被#GP(0)拒绝。为什么?
assembly
、
x86
、
x86-64
lea func(%rip),%rax # The (relocated) address of 'func'
ljmp
浏览 5
提问于2018-01-12
得票数 2
1
回答
8051: JMP指令以一种意想不到的方式工作。
assembly
、
embedded
、
microcontroller
、
8051
我不知怎么养成了用根据数据表,JMP应该编写为JMP @A+DPTR,对于我正在使用的内容,应该使用SJMP、
LJMP
和AJMP。
浏览 2
提问于2015-03-26
得票数 1
回答已采纳
1
回答
无HLT的hlt指令
assembly
、
x86
、
bootloader
direp movsw climovw %ax, %es有人能帮我解决这个问题吗?
浏览 2
提问于2013-08-16
得票数 2
回答已采纳
1
回答
.code16和.code32有什么区别?
assembly
、
x86
、
x86-16
、
gnu-assembler
、
protected-mode
我知道一些关于进入保护模式的程序: 在.code16文件中,首先需要打开A20 Address Line并更改CR0寄存器,然后需要将
ljmp
转换为.code32代码。我发现在设置< code >D17</ code >寄存器和
ljmp
之前执行< code >D16</ code >代码是有效的,这就是为什么?
浏览 21
提问于2022-11-28
得票数 2
回答已采纳
1
回答
在8052上启用中断会导致锁定
loops
、
microcontroller
、
interrupt
、
interrupt-handling
、
8051
org 000h
ljmp
sysinit ;seems to executeorg 00Bh
ljmp
critorg01Bh
ljmp
processk
浏览 0
提问于2017-05-29
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux启动定时任务
Linux定时执行任务Crontab
Linux下的计划任务
Linux进程与定时任务
使用 at 命令在 Linux 上安排任务
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券