汇编临时小结
来源:互联网 发布:linux文件夹权限设置 编辑:程序博客网 时间:2024/06/11 17:00
个人总结用的, 看了被误导不要怪我。
在写汇编程序时, 经常看到最前面有这么一句“org 07c00h”。 这个东西它的意思是,该段代码在0000:0x7c00处执行。
看示例代码:
如果这段代码在0x7c00处执行, 但最前面改成“org0100h”有没有问题呢?
首先看jmp指令, 它的计算方法是跳转标号与当前标号的差加至当前IP, 所以没有问题。
call指令和jmp指令差不多,就不说了。
但注意到, 这个程序是用来打印“hello wupeng”这个字符串的, 字符串偏移地址保存在bp中, 通过ES:BP寻址。显然,若ScreenMsg标号的地址不是其加载至内存的实际地址,寻址字符串时是读不到正确的字符串的。
多说一句: 实模式下代码好像就一个段呢,默认都是0000, 保护模式下段基址是32位的,实模式下实际物理地址可以直接拿来当保护模式中的段基址。
- 汇编临时小结
- 汇编临时小结2
- 汇编小结
- 汇编小结
- 汇编小结
- 汇编小结
- 汇编小结
- 汇编小结
- Oracle临时表学习小结
- Oracle临时表学习小结
- 8086汇编指令小结
- X86汇编学习小结
- gdb反汇编小结
- X86汇编学习小结
- 汇编学习小结
- 汇编考试小结
- X86汇编指令小结
- C++与汇编小结
- 为什么中国缺乏有意义的开源项目
- 根据省份选择城市的功能(连接数据库的)
- 三层,记录浏览次数。
- 25条修养守则
- 程序员修炼之道:从小工到专家
- 汇编临时小结
- 社会就是这样现实,别再幼稚下去了,认真读过,你会成长很多…...
- WinCE 5.0 的3 种 USB Function Driver
- 关于sqlite写入操作
- 在VMWare上安装Mac OS X Server 10.6
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- 开始→运行→输入的命令集锦
- 工行的银行卡号代表开户行的数字是哪几位?怎么查询
- 3 Perl - 列表赋值 - pop 和push 操作