当前位置:首页 » 编程软件 » 编译器怎么知道内存地址

编译器怎么知道内存地址

发布时间: 2022-09-27 11:13:01

❶ 怎么能查看子程序的汇编代码入口内存地址

你好,
子程序的汇编代码只有在最终的Link阶段才会为代码和数据分配内存地址,因此指定代码段的地址一般是通过写一个link脚本来进行的。Link阶段时,编译器的Linker会读取你写的Link脚本,并且按照脚本的规定给代码分配地址。
根据
子程序的汇编代码开发工具的不同,link脚本的语法和形式也有所不同。ARM MDK,ARM ADS,Eclips+GCC,Linux GCC, ARM Realview等开发工具都支持Link脚本。
如果你英文还可以,建议你直接找到开发工具的Help手册去研究。如果你英语实在不行,也可以把开发工具名称和你代码的具体情况告诉我,我帮你看看。

❷ 如何用汇编语言读取内存值

汇编语言读取内存的方式有两种:立即数寻址(包括在编译器中的变量地址),寄存器寻址。就拿80X86汇编来说,简单的使用MOV指令就可以完成对内存地址的读写,一下是立即数寻址和寄存器寻址实现内存读写的例子:

MOV AX,[8000] ;立即数寻址,将AX寄存器中放入偏移地址8000中的内容
MOV AX,[SI] ;寄存器寻址,将SI寄存器中的值作为地址,SI寄存器中存放的地址中 内容送到AX寄存器中。另外,任何通用寄存
(AX,BX,CX,DX,SI,DI,BP,SP)都可以放入方括号[]中行寻址

NUMBER DW 1234H ;变量地址定义
...
MOV AX,[NUMBER] ;将NUMBER的地址进行寻址,然后将地址内的内容送入AX寄存 器中

需要注意的是,如果需要往立即数地址中直接写入或读取数据,则需要添加数据的大小标识符,否则编译器会产生错误。如下:

MOV [8000],1234H ;错误的指令!
MOV WORD PTR [8000],1234H ;正确,往偏移地址8000的内存位置中放入WORD类型的数据1234H

❸ 困扰很久的问题,C语言里一个变量存在一块内存里,那必然需要有一块内存存储它的地址。它的地址的地址。

你可以这么理解,它的地址就是内存的编号了;如果非要用另一个地址来存这个编号,那么你得另外创建变量,新创建的这个变量的地址也是一个内存的编号;编译器不会主动给你创建这个变量。

❹ c++怎么通过字面值找内存地址

这有点像内存补丁之类的黑客知识了……

  1. 内存中数据是按字节存储的,查找一个字符'a',那是很难的,因为一个字节一共就能表示256种状态,出现'a'的概率太高了,但是你却很难知道这个内存单元到底代表什么含义,甚至不知道是不是个字符串。

  2. 当年的金山游侠,首先是针对一个进程进行的,而且进行内存查找还要进行好几次才行。想自己编个金山游侠??呵呵

  3. 何况,一般程序很难访问其他进程的内存,因为操作系统在运行各个程序时,各进程的地址空间是逻辑上独立的,都是00...0到ff...f,普通编程手段根本无法跨进程操作。

综上,一般访问不到,访问到了你也编不出高精度的查找程序,即便找到了也不敢肯定你找到的是什么。

❺ 内存寻址中段地址如何确定如果要用某个段寄存器指出段地址,指令中如何表示谢谢。

嘿嘿 俺来帮你解答
1 内存寻址中段地址是由计算机的编译器分配的,它根据计算机当前内存实际使用情况,专为用户分配一个合适的固定的地址空间。
2 要用某个段寄存器指出段地址,可以使用下列指令 :
MOV AX,CS ;将代码段的段地址送给累加器
MOV AX,DS ;将数据段的段地址送给累加器
MOV AX,ES ;将附加段的段地址送给累加器
MOV AX,SS ;将堆栈段的段地址送给累加器
呵呵 满意 就给加分啊

❻ 求教:Dev C++如何看内存中的值

print /x &name[0]

获得内存地址:

热点内容
编译器错误都是什么意思 发布:2024-04-28 17:31:30 浏览:73
服务器不能复制粘贴到本机是怎么回事 发布:2024-04-28 17:24:50 浏览:15
房产中介管理系统源码 发布:2024-04-28 17:23:53 浏览:76
文件传输java 发布:2024-04-28 17:19:24 浏览:195
存储过程中的is 发布:2024-04-28 17:13:45 浏览:406
c语言补码函数 发布:2024-04-28 17:01:35 浏览:465
编译原理圣经级书 发布:2024-04-28 16:48:21 浏览:146
我的世界手机版如何在服务器上 发布:2024-04-28 16:35:21 浏览:862
pythonwindowsweb 发布:2024-04-28 16:10:29 浏览:542
王牌竞速如何找到最开始的服务器 发布:2024-04-28 14:53:09 浏览:403