VC/MFC
VB
Delphi
C++ Builder
C/C++
Java
.NET技术
MS-SQL Server
PowerBuilder
DB2
Oracle
Web 开发
Linux/Unix社区
硬件/嵌入开发
移动平台
您的位置:
程序门
->
其他开发语言
-> 汇编语言
linux 下汇编问题,高人指教!!!!!
[
收藏此页
] [
打印本页
]选择字色:
默认
灰色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
背景色:
默认
黑色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
字体:[
大
][
中
][
小
]
linux 下汇编问题,高人指教!!!!!
[已结贴,结贴人:green__hand]
发表于:
2007-08-13 10:11:25
楼主
1. 在linux下是不是不能像8086汇编那样改变cs的值,mov ax,0ah mov cs,ax 这样是不是不行的?
2.如果程序使用实地址模式,那么所有段寄存器都指向零线性地址,并且不会被程序改动。所有指令码、数据元素和堆栈元素都是通过他们的线性地址直接访问的。-------这句话是不是错了,还是我没理解。好像8086汇编下不是这样啊,也没直接指向零线性地址啊?
3. globl这个东西是做什么的,没看明白书上的解释?
发表于:
2007-08-13 16:20:12
1
楼 得分:
5
1. 当然可以,但是要ring0权限才行。
2. 这应该是说flat模式,不分段,也就是只有一个段。
3. 确实不知道globl是什么。也许global?这个词的意思是全局的、全球的等等,没有上下文很难说是什么意思。
发表于:
2007-08-13 16:28:28
2
楼 得分:
2
似乎x86没这条指令,改cs只能用 jmp 或 call
global 导出符号,连接时能被其它模块看到
发表于:
2007-08-13 17:15:45
3
楼 得分:
3
mov ax,cs;mov cs,ax都有啊。
发表于:
2007-08-15 10:01:46
4
楼 得分:
0
# cstest.s - an example of the cs register
.section .data
data:
.short 15
.section .text
.globl _start
_start:
movw $data, cs
movl $10, %ebx
int $0x80
globl例,高人指点。globl作用,谢谢!!
发表于:
2007-08-15 14:48:06
5
楼 得分:
0
这个就类似masm/tasm/nasm中的public xxx指示。
david2083() 前面已经说了。
发表于:
2007-08-16 08:19:24
6
楼 得分:
0
global 导出符号,连接时能被其它模块看到-------------------------------------------------------链接时能被其他模块看到是什么意思?有什么作用?能不能解释的详细点?
发表于:
2007-08-16 10:13:04
7
楼 得分:
3
mov 到cs是不允许的,只能mov ax,cs
见intel开发者文档第二卷对mov指令的解释
global 导出符号,连接时能被其它模块看到
比如你的工程有a.asm b.asm两个文件
b.asm可以使用a.asm中的global符号
.globl _start比较特殊,相当于声明这是整个程序的起点。--当然这也取决于你的链接器和连接脚本,不过暂时还不用学这么多。
发表于:
2007-08-16 11:34:21
8
楼 得分:
2
mov cs,ax 指令是存在的,只是会导致异常而已,
而且nec v20确实可以执行mov cs,ax,这也是区分8086和v20的一个方法。
发表于:
2007-08-17 09:19:24
9
楼 得分:
0
我们说的是ia体系又不是v20。明天我们公司也做个cpu,给通用寄存器取名叫cs,那不就....
intel开发者文档第二卷写的很清楚,mov到cs是不允许的
而且也没有对应这个指令的机器码
没机器码,你要它怎么存在
或者你找个nasm试一下,看看你的mov cs,ax能不能编译通过
发表于:
2007-08-17 16:03:43
10
楼 得分:
0
nec 的v20/v30/v40都是x86兼容处理器,不是什么你们公司做的通用处理器叫cs的东西。
mov cs,ax 的码是8e c8,从8086开始就一直存在。
intel文档上是说了不能mov cs,ax,但是并没有说指令不存在。:)
发表于:
2007-08-19 20:40:25
11
楼 得分:
0
那你给我解释一下
为什么用nasm不能编译,报错说“非法指令”
是不是nasm做的太烂了,有漏洞
明天装个masm也试一下
发表于:
2007-08-19 21:15:42
12
楼 得分:
0
nec的问题算我弄错了,但是你要说x86上面有这个指令,我可不能接受
nec兼容x86 = x86的指令nec都有,x86没的指令nec也可以做扩展
嗯,还有一个问题
并不是随便把一个操作码和一个操作数组合起来就是合法的代码。关键要看cpu能不能识别。刚才做了个实验,用ndisasm反编译e8c8......你自己试一下吧。
你说e8 c8可以进行mov到cs的操作
那么
1,它能执行吗,如果能执行,为什么文档说不允许??
2,如果不能执行,你说它会产生异常,那么是什么异常呢??
发表于:
2007-08-19 22:17:53
13
楼 得分:
0
是8e c8。
mov cs,ax在8086的设计之初就存在了,后来intel由于某种原因禁用了它。
估计是想限制段间转移吧。
但是指令是存在的,连最老的debug都能识别。
发表于:
2007-08-20 13:58:02
14
楼 得分:
0
嗯,换成8ec8确实可以反编译
---------------------------------
不过我认为是反编译器没有对特殊的“操作码+操作数”组合进行处理。
因为正向的编译器不能编译mov cs,ax这个指令的--或者说只有nasm不能编,其它汇编器可以,我没试过。
还有一个问题
如果在8086下碰到8ec8,cpu会怎么做???
如果在保护模式下碰到8ec8。cpu又会怎么做???
我的看法是1直接死机;2进入06号异常
发表于:
2007-08-20 16:37:52
15
楼 得分:
5
怎么做?
你不是都看了“intel开发者文档第二卷”吗?:)
你的看法是在实模式和保护模式下试出来的吧。
intel的书上虽然写了会引发无效操作码异常,
不过它并没有写在8086/8088上根本没有无效操作码异常,
在8086/8088上不识别的指令是作为nop执行的,
通常这样执行会导致指令序列错乱,程序跑飞了。
一般会死机,但不是必然如此。
下一篇:
linux 下汇编问题2,高人指教!!!!!
上一篇:
请问:汇编指令集中的指令是怎么做出来的啊,是不是用c语言写的啊,或者是其它什么语言
相关文章
汇编实现回车,解释一下下面的程序
请问能不能在word中取消自动换行?
word文档表格和图片共存问题
c:\windows\system32\cmd.exe ntvdm c...
powerpoint组织结构图功能奇怪问题,急!!!
谁能提供一些<<pc标准>>的资料?????...
runtime error 216 问题???
急死我了,在线等,如何用python写一个http ...
这问题可不小,不回答可惜了!
为什么用2dh号调用不能改时间?
各位office高手能不能移步帮忙看看为什么我的vfp...
小弟无能 跪求各位大虾指点 &nb...
插入排序
8086汇编 栈出错问题 错误: ntvd...
excel 函数的使用问题
远程线程的问题,请教各位老大
修改int 13h的中断向量后如何返回
为什么会出现out of memory?
采用汇编和c两种语言,分别求取cpu当前的速度(r...
怎么解决python的内存泄露问题
其他资讯
《汇编语言》实验14访问cmos ram
新人入门`请教cpu的3种工作模式
windows mobile center 延时
大家帮我看下~这两种方法有区别吗?
汇编题:大家帮忙哇!1.已知x、y、z、w、q、t为...
excel简单编程<急.在线等>
用宏如何打开文件夹中所有文件并实现其中的数据转...
简单的excel宏的使用问题,在线等,急!!!!
再看帖子!!高手 好常时间没散分了
在线等,把dx寄存器和ax寄存器中无符号数相乘的怎...
vc下word编程,保存word文档的问题
谁能提供一些<<pc标准>>的资料?????...
我英文不好,能学好python吗?据说中文资料极少呀,...
大家来看看这道试题!该如何写!
一个很奇怪的html的问题
office无法安装问题!
perl,一个关于文件处理的脚本,急用请大家帮忙,...
我想问下在嵌入式开发中汇编用的多不多
如何在cgi里使用devel::dprof模块?
操作系统的堆栈在哪里?
快速检索
分类导航标签a
计算机图书趋势科技与向让的您共勉
JavaJBuilder
.NET技术C#
DelphiGAME
VC/MFC界面
硬件/嵌入开发VxWorks开发
C/C++新手乐园
企业开发中间件技术
PowerBuilder控件与界面
PowerBuilder语言
硬件使用外设及办公设备
Linux/Unix社区Solaris
产品/厂家IBM人才论坛
Web 开发PHP
VBVBA
最新资讯
兼容性问题 !!!!
★★★delphi圣地高级群 招人啦 33393638 333...
数据类型转换
如何只要table四周围的边框,而不要中间tr和td的...
用access解决一个数学问题,a+b+c+d+e=1
web工程打包为war,无法运行!!!
超郁闷msdn里面的index 的功能不正常了
excel 列的比较函数
请高手帮我看看这道数据结构的题是否正确
当string超过255字节 超界?
怎么将access导入sql
请问能否在一个组件事件响应函数里调用另一个事件...
请高手指点下啊~~~~~~
使用javabean时,导入包出错
一个基于cwnd的类, 为什么hwnd总为零.
com应用偏门—在内存中动态创建com组件
××××××急问一个简单问题,在线等×××××××
求助:sql查询语句
求图论里的算法
大学生,除了学历,还有什么?
怎么取dataset中的数据来着?
高手请进
windows下有没有类似backtrace()和backtrace_sy...
哪里有非bt下载的英文版notes?
编译器错误信息: cs0122: 不可访问,因...
虚拟主机特价50元
sybase 12.5升级至sybase 15.x &...
c++ 中struct 与class的关系如何?
在注册表的哪里设置 iis admin 服...
问一个日文编码显示的的问题,不知道程序在xp上运...
祝大家新春快乐,在新的一年里取得更大的成绩!
如何在表单中使用activex control
大家如何查找js帮助?
救命呀!用什么能打开sdf数据库
将一个java对象实例序列化成byte,用c#来对byte序...
请教大家有关真机调试的问题.
寻找网站人才合作
请问有关在javabean消亡时自动调用的问题
请问下哪里有on web access stat...
如何在internet上部署webservice
热门点击
运行exe时报这个错,请问怎么解决?
ie没有max-height怎么解决
(已没分)ftp里是否存在设置下载文件时读取数据流...
请教程序未响应的问题
孟子老兄在那里的工作的,.这么牛,.net 搞几...
有没有一直想创业的.net高手
请教动态更换<div>背景问题
如何将音频和视频文件中的音频提取为wav(用dsho...
请问有没有api可以修改gpedit.msc里面的选项
哪位高手指教下 !!!!!!!!!!!!!...
如何实现小键盘输入?
北京胜学堂2007年第一季度php培训就业班(培训完...
开发短信的中间控件
帮忙解释以下¦
asp调用sql存储过程问题
高手请进:关于增强型单片机lpc932与pc的通信
如何控制学生使用机房里的打印机。
华翔科技急招熟悉oracle程序员
如何进行tomcat和mysql的连接和配置
紧急求助,电脑的图标完全没有了
winfrom日志如何保存到服务器上
response使用
vs2005连接sql200出错的问题,请指教
如何在多线程中引用的方法中输入参数
关于EXECutenonquery问题,急急急!!!
如何安装daccom组件?
c# socket 讨论热点请加qq群 344...
一个程序里有很多窗口需要对数据库操作,大家是把...
成都某互联网公司asp、asp.net 人才招聘
关于枚举的问题
web服务部署求助
将窗体最小化到状态栏,每次点击打开窗的菜单窗体...
熟悉snmp
求助~~
水晶报表记录号 起始编号的问题
学oracle的forms builder有前途吗?
请问如何做到选择一个下拉列表框而改变另一个下拉...
加密邮件客户端,利用现有的邮箱(可另外给分)
csdn诚邀您参加“闭环跟踪:提高软件开发质量,推...
界面分隔栏上的加一个小按钮,是怎么实现的???...