URN Logo
UNIX Resources » Linux » China Linux Forum » CPU 与 编译器 » 3 » 怎么样写汇编程序才能制造“非法指令”
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
怎么样写汇编程序才能制造“非法指令”
 
 
 
 
 
 
 
Subject: 怎么样写汇编程序才能制造“非法指令”
Author: qiyoa    Posted: 2006-10-08 19:54    Length: 142 byte(s)
[Original] [Print] [Top]
我想设计一个测试用例,可以正确编译,但是其中一条指令是非法的指令,我想了想,不知道怎么做?
请教大家!

平台是Linux
[Original] [Print] [Top]
Subject: Re: 怎么样写汇编程序才能制造“非法指令”
Author: asmcos    Posted: 2006-10-08 20:01    Length: 11 byte(s)
[Original] [Print] [Top]
.byte 0x??
----
egui是一个图形库,
www.egui.org
[Original] [Print] [Top]
Subject: Re: 怎么样写汇编程序才能制造“非法指令”
Author: peerlat    Posted: 2006-10-08 21:16    Length: 10 byte(s)
[Original] [Print] [Top]
shell code
----
[Original] [Print] [Top]
Subject: Re: 怎么样写汇编程序才能制造“非法指令”
Author: liang_yuan_en    Posted: 2006-10-08 21:29    Length: 31 byte(s)
[Original] [Print] [Top]
参考linux kernel中的BUG()函数。
----
匈亚里命名法是猪用的。
[Original] [Print] [Top]
Subject: Re: 怎么样写汇编程序才能制造“非法指令”
Author: 1help1    Posted: 2006-10-09 09:04    Length: 107 byte(s)
[Original] [Print] [Top]
在c中可以嵌入MIPS汇编
__asm__ __volatile__ (
".word 0x07FFFFFF; "
);
----
[Original] [Print] [Top]
Subject: Re: 怎么样写汇编程序才能制造“非法指令”
Author: daemeon    Posted: 2006-10-09 10:06    Length: 9 byte(s)
[Original] [Print] [Top]
lock; nop
----
Just a newbie
[Original] [Print] [Top]
Subject: Re: 怎么样写汇编程序才能制造“非法指令”
Author: qiyoa    Posted: 2006-10-09 10:19    Length: 414 byte(s)
[Original] [Print] [Top]
谢谢各位的回答,我现在是这样做的,
asm(".long 0x7d821008");
在ppc上产生一个sigtrap。

$ cat hello.c
#include<stdio.h>

int main()
{
asm(".long 0x7d821008");
return 0;
}

$ gcc -m64 hello.c -o hello

$ ./hello
Trace/breakpoint trap
[Original] [Print] [Top]
« Previous thread
【请教】如何将arm中的cache无效掉?
CPU 与 编译器
3
Next thread »
刷新TLB的开销有多大?
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 03:47:12, cost 0.058715105056763 ms.