x86汇编的一个问题(32位)

在书上看到的,例如,寄存器esi中存放着LoadLibraryA的入口地址0x00280000。

后面要调用LoadLibraryA,用如下这条指令。

call dword ptr ds:(esi) //这里本应用中括号的,但是打不出来,只好用小括号代替

我有如下问题。
1.这个0x280000我知道是个相对虚拟地址,可是为什么会是用ds:(edi)来调用?这是说这个是相对于数据段的相对地址吗?为什么不是cs:(edi)或者ss:(edi) ?

2.我这里改为call edi 可不可以?

3.这个相对地址,是相对于ds,即是距离ds段起始地址0x280000?还是距离程序加载的基址image base

0

1个回答

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
X86汇编学习笔记P2--32位乘法
        原有的乘法指令是8位乘法或16位乘法,对于32位的大数乘法还是要自己去实现的。其实思路也不难,类比考虑两位数十进制乘法:(10A + B) X (10C + D)    =    100 AC + 10BC + 10 AD + BD        那么我们要实现的就是四次16进制的乘法和将其结果相加:        目标为NUM_A: NUM_B X NUM_C :NUM_D  -...
汇编将32位转换为10进制输出
汇编将32位转换为10进制输出
X86汇编指令集X86汇编指令集
x86汇编指令集,详细列出常见x86的汇编指令以及详细说明。本东东来互联网。
X86汇编 通用寄存器总结
学习X86汇编有一段时间了,是时候总结一波了 X86汇编  通用寄存器总结    一、通用寄存器的名字  见下图 eax ,ebx,ecx,edx,esp,ebp,esi,sdi 二、虽然名字叫通用寄存器,但是每个有自己独有的‘特长’ EAX:"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器
80x86汇编3-寄存器与内存
寄存器是什么? 通俗来讲,寄存是CPU内部的一块高速存储空间,速度远大于内存 32位通用寄存器 寄存器 主要用途 编号 存储数据的范围 EAX 累加器 0 0-0xFFFFFFFF ECX 计数器 1 0-0xFFFFFFFF EDX I/o指针 2 0-0xFFFFFFFF EBX DS段的数据指针 3 0-0xFFFFFFFF ESP 堆栈指针 4 0-0xFF...
【汇编优化】之x86汇编与C相互调用
C函数调用x86纯汇编 实现简单的加法:例如add(2,3); 1、新建main.c文件 #include<stdio.h> #include<stdlib.h> extern int add(int a, int b); int main() { int sum = add(2,3); printf("sum = %d\n", sum);...
汇编的BIOSint10h功能详细介绍
对于运用汇编编程中用到BIOSint10h功能,可以参考该资料
汇编必备帮助文档(IA-32指令集)(8086汇编帮助手册)chm
汇编必备帮助文档(IA-32指令集)(8086汇编帮助手册),常用汇编帮助文档
x86汇编参考,很纤细
一本好的32位x86汇编,win32汇编,逆向必备
80x86汇编 是32位的
想学好汇编的就 过来吧;写个描述还有字数限制,晕
x86汇编指令集大全(带注释)
汇编指令集太多,如果不用就会忘记,所以将i处理器官方的指令集大全写到博客上,有需要的人可以参考一下!X86和X87汇编指令大全(有注释) ---------- 一、数据传输指令 ---------------------------------------------------- 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV ...
【Linux x86汇编踩坑】64位Linux 汇编x86
【Linux x86汇编踩坑】64位Linux 汇编x86 前言 写下这个博文的原因是今天在用汇编写函数调用的时候,偶然间遇到个问题令我十分困扰,在汇编的时候,弹出如下错误 Error: suffix or operands invalid for `push' Error: suffix or operands invalid for `pop' 这样的错误连弹了好几条,基本是我
汇编学习笔记(一)AT&T汇编语言以及其与x86的比较
前言 几个常识 AT&T与Intel汇编语言的比较 1.前缀 2. 操作数的方向 3.内存单元操作数 4.间接寻址方式 5.操作码的后缀 movl 寄存器寻址 立即数寻址 直接寻址 间接寻址 变址寻址 前言 最近工作了,变得忙起来了,但是博客还是要坚持写的,哈哈 之前写过一篇有关arm汇编的学习笔记,貌似当时没有考虑到MIPS,现在就补充一下吧 ...
80x86汇编语言:输入字符串、转换、输出
用汇编语言编一段程序:用键盘输入一段字符,使输入的数字以二进制数显示,输入的大写字母显示小写,输入小写字母显示大写,并统计出期中大写字母的数量。如输入:123ASDFxcvb$PO0将显示:000100100011asdfXCVB$po0000  6(大写字母的数量)可不输入除字母和数字以外的符号,比如$。题目链接:http://zhidao.baidu.com/question/48825145
虚拟地址空间布局——基于x86体系32位下Linux系统
  我们知道,一个可执行文件运行起来的话它就变成了进程。在x86 32bit Linux下,我们的系统会给每个进程分配一个4G大小的虚拟地址空间。你可能会说,我电脑总共就4g内存这每个进程都给4g怎么可能啊。注意虚拟两个字。那么这块空间里都装了什么东西呢? 其中前3G内存是用户空间,最后1G是内核空间。所有的进程有各自的用户空间,但所有的进程都共享一个内核空间。不要着急,我们从上到下挨个来...
X86汇编应用(1)
1.冒泡排序实现降序排序,并实现十进制和十六进制的输出MY_STACK SEGMENT PARA STACK STACK_AREA DW 100H DUP(?) STACK_BTM EQU $ - STACK_AREA MY_STACK ENDS MY_DATA SEGMENT TABLE_LEN DW 16 TABLE DW 200,300,400,10,20,0,1,8 ...
x86汇编
抽象层次: 硬件:唯一的物理层,由电子电路组成,是XOR、AND、OR和NOT等逻辑运算器的复杂组合,称为数字逻辑。(digital logic) 微指令:又称为固件(firmware),只能在为它设计的特定电路上执行,从更高的机器码层翻译而来,提供了访问硬件的接口。 机器码:由操作码(opcode)组成,操作码是一些十六进制形式的数字,每一个代表特定的指令。 低级语言:计算机体系结构指令...
现代x86汇编语言程序设计附录及源代码
现代x86汇编语言程序设计附录及源代码。介绍了微软visual c++和宏汇编器的简要教程。总结了X86的调用约定。并且给出了相关参考文献等
x86汇编语言——基本概念
处理器的设计者用某些指示处理器所进行的操作,这称为指令(Instruction),或者叫机器指令。指令由操作和操作数构成,但也有小部分指令仅有操作码,面不含操作数。 对于 intel 处理器来说,如果访问闪存中的一个字,那么它规定高字节位于高地址部分,低字节位于低地址部分,这称为低端字节序(Little Endian)。 指令也就是传送指令: 第一种操作数是寄存器; 第二种操作数是直接包含在指令
X86汇编程序设计
X86汇编程序设计第四次作业 1.N!的计算 代码部分: STACK1 SEGMENT PARA STACK STACK_AREA DW 100H DUP(?) STACK_BTM EQU $ - STACK_AREA STACK1 ENDS DATA1 SEGMENT PARA COUNTER ...
现代X86汇编语言程序设计
现代X86汇编语言程序设计 作者: [美]丹尼尔·卡斯沃姆 (Daniel Kusswurm) 出版社: 机械工业出版社 译者: 张银奎 / 罗冰 / 宋维 / 张佩 出版年: 2016-10-1
x86汇编语言Helloworld!实例改进
参数从左到右放入寄存器: rdi, rsi, rdx, rcx, r8, r9。        .section        .data msg:         .string "Hello world"         .section        .text         .globl  main main:         subq    $8, %rsp  
搭建x86汇编语言学习环境
  设计汇编语言的教学方案,决定就从8086汇编开始。   学汇编,关注对系统底层的理解,指令太多,初学者伤不起。面对一个复杂的系统,教学中常需要设计一个简化的教学模型,抽取出其中的核心,以此得门而入。   高龄的8086汇编,于当今的技术而言,是一个理想的教学模型。学生未来的工作可能基于80x86,可以用Linux汇编、ARM汇编,...
x86汇编BCD码调整指令详解
x86汇编BCD码调整指令详解 x86汇编BCD码调整指令详解 x86汇编BCD码调整指令详解 x86汇编BCD码调整指令详解 x86汇编BCD码调整指令详解 x86汇编BCD码调整指令详解
现代X86汇编语言程序设计part2
现代X86汇编语言程序设计 (第2部分,共2部分) 作者: [美]丹尼尔·卡斯沃姆 (Daniel Kusswurm) 出版社: 机械工业出版社 译者: 张银奎 / 罗冰 / 宋维 / 张佩 出版年: 2016-10-1
VS2015中运行32位汇编程序
【前言】   这学期开汇编语言课。作为培养方案中的一门选修课,与课组中教微机原理、嵌入式的同事商量,决定这门课就以8086为载体,带大家入门即可。不过,在课程结束之前,也向同学们做了拓展。   本文的版权属于我的2015级学生小鲁同学。他在课程设...
arm汇编的学习笔记,对比x86和arm(1)-从最简单的函数谈起
最简单的函数 x86下汇编指令 ARM下汇编指令 Hello World x86中汇编指令 ARM汇编 LDM/STM指令 LDMFD 指令 ADR指令: 知识点扩展: ADR ADRL: LDR指令: BL指令 最简单的函数 直接上c/c++代码: int f() { return 123; } x86下汇编指令 gcc编译器产生的汇编指令...
汇编小游戏集合
项目具体内容:汇编菜单 可选择3各游戏 贪吃蛇 走迷宫 弹钢琴 注释十分详细 附带详细说明文档 带积分系统
80x86汇编语言:字符串移动
在键盘输入一个字符串,并将其从左向右滚动显示,求完整程序。题目链接:http://zhidao.baidu.com/question/2265949993258693388.html做而论道编写的程序如下:ASSUME  CS:CODE, DS:DATADATA  SEGMENT    MSG1    DB  13, 10, 'Please input string: ', 13, 10, '$'
80X86汇编程序设计
80X86汇编程序设计,X86汇编基础教程
汇编程序,复制自身到指定地址
用80x86汇编语言编写,实现程序将自身复制到指定地址
80X86汇编程序设计实验教程
80X86汇编程序设计实验教程80X86汇编程序设计实验教程80X86汇编程序设计实验教程
英文的sun的x86汇编手册
英文的sun的x86汇编手册英文的sun的x86汇编手册英文的sun的x86汇编手册
内中断、int指令、端口 x86汇编
导读: 介绍,第一部分介绍内中断,单步中断、 第二部分,int指令的中断以及BIOS和DOS中断服务函数 第三部分,介绍了端口 中断 内中断的产生有如下情况的时候会产生中断: 1. 除法错误 2. 单步执行 3. 执行into指令 4. 执行int指令 8086CPU用中断类型号来表示中断来源,一共256种中断类型号。 中断向量表在8086机器上中断向量表存放在内存地
《X86汇编-从实模式到保护模式》配套书籍源码与工具
《X86汇编-从实模式到保护模式》配套书籍源码与工具!!!里面有书籍的PDF版本与配套的源码以及编译工具等
019-【X86-汇编语言】-标记寄存器-溢出标志位[OV]
OV ov是溢出标志位,如果将计算结果视为有符号数。那么当结果超出目的操作数的表达范围时,ov=1 比如:BYTE类型能表示的有符号范围是[-128,127].当计算结果小于128或大于127时,ov=1. 从补码角加法的度考虑,如果两个正整数相加结果为负时,ov=1.两个负整数相加结果为正时,ov=1.符号不同的两个数相加不会溢出 程序演示 .386 .model flat,stdc...
X86汇编——输出三角形星星
没有达到想要的想过,即打印任意行的三角阵列,先放一边,,效果如下 .386 .model flat,stdcall option casemap:none include msvcrt.inc includelib msvcrt.lib .data row dword 4 numj dword 0 numk dword 0 numi dword 0 szSign1 byte...
x86汇编语言从实模式到保护模式(完整版)更新过
x86汇编语言从实模式到保护模式,包括后三章,网上大部分缺少后三章。文件太大包内是网盘地址和提取码。之前的过期,已更新。
010-【X86-汇编语言】-MOV指令,变量,立即数
MOV指令 MOV是汇编中最常用的指令没有之一(这么说虽然违反了广告法)。MOV指令的作用是赋值,相当于高级语言中的“=”,即将源操作数的值赋值给目的操作数,原操作数的值不变。 MOV指令的格式如下: MOV 目的操作数,源操作数 目的操作数可以是寄存器,变量(可以理解为内存地址) 源操作数可以是寄存器,变量,立即数 目的操作数和源操作数不可以同时为变量,目的操作数和源操作数的bit位数...
x86汇编语言程序汇总多程序
x86汇编语言程序汇总多程序x86汇编语言程序汇总多程序x86汇编语言程序汇总多程序