本文用于测试,请无视
-
最新日志
最新评论
存档页
分类
功能
文探讨一下关于Firefox的UI个性化定制时userChrome.css的一些作用。Mozilla使用了类似XML的XUL界面语言来实现对Firefox的外观定义,并引入CSS定义各个元素的属性,这样的设定,极大的满足了许多用户对浏览器UI自定义的需求,而且实现起来十分的方便,只要略懂一些CSS语言就可以对Firefox界面进行定制了。
悲剧的空行,万恶的wordpress编辑器。。。
"userChrome.css"设置了Firefox用户界面中可变元素的显示规则;位置在您的配置文件夹的"chrome"子目录中。和 user.js一样,这个文件默认是不存在的,所以在开始添加您的设置之前,您需要建立这个文件。事实上默认存在一个名叫"userChrome- example.css"的例子文件。本质上您只要重命名文件来除去"-example"部分。
上边一段话来自于Sociz文库。从这段话,我们可以知道,userChrome.css 是一个对浏览器框架表现样式进行定义的样式表,那么对我们用户来讲,就可以通过向userChrome.css 文件添加CSS代码来得到我们自己想到的Firefox显示效果。
| Operating System | Profile Folder Location(s) |
| Windows NT(NT4.x/2000/XP/Vista/7) | "%APPDTAT%\Mozilla\" |
| Windows 95 (without Desktop Update) | C:\Windows\Mozilla |
| Windows 95 (with Desktop Update)/98/Me | C:\Windows\Application Data\Mozilla\ C:\Windows\Profiles\\Application Data\Mozilla\ |
| Unix/Linux | ~/.mozilla/ |
| Mac OS X | ~/Library/Mozilla/ ~/Library/Application Support/ |
对于Windows NT用户,按下[Windows徽标键]+[R] → 输入:%APPDATA% → 点击“确定”,Windows资源管理器会打开
C:\Documents and Settings\<用户名>\Application Data 文件夹(Windows 2000 and XP)
或者
C:\Users\<用户名>\AppData\Roaming 文件夹(Windows Vista and 7)
接下来,打开子目录
\Mozilla\Firefox\Profiles\xxxxxxxx.default\chrome(其中xxxxxxxx代表随机的字符串)
就会看到有两个CSS文件:userContent-example.css和userChrome-example.css,将userChrome-example.css重命名为userChrome.css即可。
相信其他操作系统的用户都是十分善于折腾的童鞋,请自行折腾。
/* 编辑此文件(userChrome.css)并将其复制到您个人配置目录的/chrome/文件夹下 */
/* 您可以通过自定义此文件改变Firefox的显示样式
* 必须使用!important以确保覆盖默认样式规则 */
/* 请勿移除@namespace行——它对于显示正确的样式规则十分重要 */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* 设置默认的XUL命名空间 */
感兴趣的童鞋可以打开上边的URL地址,它会指引你了解到关于Firefox XUL的解释,命名空间后边是一些诸如定义字体大小之类的例子,展示了一下定义CSS规则的格式,在最后则是一个包含了许多例子的网址,其中有许多例子都是十分有用的。
/*地址栏显示样式及字体颜色*/
#urlbar{-moz-appearance: none !important;
-moz-border-radius: 6px !important;
padding-right: 1px !important;
color: blue !important;
font-family: monospace !important;}
/* 当访问https链接的时候地址栏变成黄色 */
#urlbar[level] .autocomplete-textbox-container {background-color: #FFFFB7 !important;}
/*状态栏自动隐藏*/
#status-bar {margin-bottom: -20px !important;}
#status-bar:hover {margin-bottom: 0 !important;}
/*书签栏自动隐藏*/
#PersonalToolbar {display: none;}
#navigator-toolbox:hover > #PersonalToolbar {display: -moz-box;}
/*菜单栏自动隐藏*/
#toolbar-menubar{display: none;}
#navigator-toolbox:hover > #toolbar-menubar{display: -moz-box;}
/*更改非活动标签样式*/
tab[selected="false"]{-moz-border-radius: 3px !important;
background-color: #C4DDFB !important;
color: black !important;
font-size: 90%;}
/*更改活动标签样式*/tab[selected="true"] {
-moz-border-radius: 3px !important;
background-color: #FAFCFE !important;
color: black !important;
font-size: 110%;}
/*更改非活动标签悬停样式*/
tab[selected="false"]:hover{-moz-border-radius: 3px !important;
background-color: #C5DDF9 !important;
font-size: 90%;}
以上便是利用userChrome.css自定义Firefox的一些简单应用,希望对光临此地的童鞋有所帮助。
最近对CSS产生了兴趣,业余学习一下,当然,学习之前先要清楚它是什么,它有什么用,借助于维基百科,于是便有了下边一篇文章。
此文来自于中文维基百科,附上原文地址,文中内容并无改动,只是为了学习CSS,模仿维基百科的排版,手动做了CSS样式。
转载请声明来自于中文维基百科,并附上原文链接。
ascading Style Sheets(层叠样式表/串样式列表),简写为CSS,由W3C定义和维护的标准,一种用来为结构化文档(如HTML文档或XML应用)添加样式(字体、间距和颜色等)的计算机语言。目前最新版本是CSS 2.1,为W3C的候选推荐标准。下一版本CSS 3仍然在开发过程中。
一个网页的读者和作者都可以使用CSS来决定文件的颜色、字体、排版等显示特性。CSS最主要的目的是将文件的结构(用HTML或其他相关的语言写的)与文件的显示(CSS)分隔开来。这个分隔有许多好处:
CSS还可以使用其他的显示方式,比如声音(假如浏览器有阅读功能的话)或给盲人用的感受装置。此外CSS还可以与XHTML、XML或其他结构文件一起使用,唯一条件是显示这种文件的浏览器装备了接受CSS的功能。
HTML文件中的每一个class或id都可以有自己的显示特征,而且每一个没有id特性的HTML结构也可以有自己的显示特征。这些结构有的是HTML自己需要的,有的是专门为CSS设置的。
CSS信息可以来自:
使用CSS的优点有:
CSS的语法很简单,它使用一组英语词来表示不同的样式和特征。
一个式样表由一组规则组成。每个规则由一个“选择器”(selector)和一个定义部分组成。每个定义部分包含一组由半角分号(;)分离的定义。这组定义放在一对大括号({ })之间。每个定义由一个特性,一个半角冒号(:)和一个值组成。
选择器(Selector)
通常为档中的元素(element),如 HTML 中的<body>,<p>,<strong>等标签,多个选择器可以半角逗号(,)隔开。
属性(property)
CSS1、CSS2、CSS3 规定了许多的属性,目的在控制选择器的样式。
值(value)
指属性接受的设定值,可由各种关键字(keyword)组成,多个关键字时大都以空格隔开。
要针对没有标签定义范围进行样式设定时,可利用<div>与<span>标签
例子:
p{
font-size: 110%;
font-family: garamond, sans-serif;
}
h2{
color: red;
background: white;
}
.highlight{
color: red;
background: yellow;
font-weight: bold;
}
在这个例子中有三个选择器:p、h2和.highlight,color: red是一个定义,其中color是属性,red是color的值。
在这里HTML中的结构 P(段落)和 H2(2级标题)获得了不同的样式。每个段落的字体的大小比包含这个段落的结构的字体的大小要大10%,其字形是Garamond,假如Garamond没有的话那么使用一般的sans-serif字形。2级标题的字用红色,底面是黄色的。这个例子中的第三个规则规定了一个class的样式。通过class属性每个HTML结构都可以被指定为这个class,例如:
显示为
這個段落將被顯示為黃底紅字粗體。
CSS档内也可以包含注释,注释以/*开始,以*/结尾,例如: /* 注釋 */
使用 CSS 缩写可以减少 CSS 文件的大小,并使其更为易读,例如:
1. 000000 可以缩写为 #000,#336699 可以缩写为 #369;
边框的属性如下:
border-color: #000;
可以缩写为一句:
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 0 0;
可以缩写为一句:
从1990年代初HTML被发明开始样式表就以各种形式出现了,不同的浏览器结合了它们各自的样式语言,读者可以使用这些样式语言来调节网页的显示方式。一开始样式表是给读者用的,最初的HTML版本只含有很少的显示属性,读者来决定网页应该怎样被显示。
但随着HTML的成长,为了满足设计师的要求,HTML获得了很多显示功能。随着这些功能的增加外来定义样式的语言越来越没有意义了。
1994年哈坤·利提出了CSS的最初建议。伯特·波斯(Bert Bos)当时正在设计一个叫做Argo的浏览器,他们决定一起合作设计CSS。
当时已经有过一些样式表语言的建议了,但CSS是第一个含有“层叠”的主意的。在CSS中,一个文件的样式可以从其他的样式表中继承下来。读者在有些地方可以使用他自己更喜欢的样式,在其他地方则继承,或“层叠”作者的样式。这种层叠的方式使作者和读者都可以灵活地加入自己的设计,混合各人的爱好。
哈坤于1994年在芝加哥的一次会议上第一次展示了CSS的建议,1995年他与波斯一起再次展示这个建议。当时W3C刚刚建立,W3C对CSS的发展很感兴趣,它为此组织了一次讨论会。哈坤、波斯和其他一些人(比如微软的托马斯·雷尔登)是这个项目的主要技术负责人。1996年底,CSS已经完成。1996年12月CSS要求的第一版本被出版。
1997年初,W3C内组织了专门管CSS的工作组,其负责人是克里斯·里雷。这个工作组开始讨论第一版中没有涉及到的问题,其结果是1998年5月出版的第二版要求。到2007年为止,第三版还未完备。
尽管CSS1规格1996年就完成了,但一直到三年后还没有一个浏览器彻底实现了这些规格。 2000年3月出版的微软在麦金塔电脑上运行的Internet Explorer 5.0是第一个彻底贯彻CSS1的浏览器。此后许多其他浏览器也贯彻了CSS1和CSS2的一部分。但到2004年为止还没有一个浏览器彻底贯彻了CSS2。尤其aural和paged等特性是被支持得最差的。
即使彻底贯彻了CSS1的浏览器也遇到了许多困难。许多CSS的贯彻互相矛盾、有错或有其他稀奇古怪的地方。为了使他们的页面在所有的浏览器中、在所有的系统上的显示相同,作者往往要使用特别的技巧或结局特殊的困难。一个最著名的错误涉及到显示方形的宽度,在Internet Explorer浏览器中方形的宽度的显示有错误,其结果是方形的宽度在许多浏览器中被正确地显示,但在Internet Explorer上方形的宽度太窄。虽然这个错误有解决的办法,但它限制了其他一些功能(最新版8.0已改善方形宽度显示问题)。
CSS最重要的目标是将文件的内容与它的显示分隔开来。在CSS出现前,几乎所有的HTML文件内都包含文件显示的信息,比如字体的颜色、背景应该是怎样的、如何排列、边缘、连线等等都必须一一在HTML文件内列出,有时重复列出。CSS使作者可以将这些信息中的大部分隔离出来,简化HTML文件,这些信息被放在一个辅助的,用CSS语言写的文件中。HTML文件中只包含结构和内容的信息,CSS文件中只包含样式的信息。
比如HTML中 H2 标志这一个二级标题,它在级别上比一级标题H1低,比三级标题H3高。这些信息都是结构上的信息。
一般来说级别越高的标题其字体也越大,H1 的字体最大,因为一般来说字体越大它表示的内容就越重要,此外一般标题都使用粗体字,来突出它们的重要性。一般来说 H2 使用粗体字,其字体比 H3 大,比 H1 小。这些信息是显示用的信息。
在CSS出现前,假如作者要确定 H2 标题的颜色、字形、大小或其他显示特征的话,他要使用 HTML 中的 font 或其他样式指令,光 H2 不够,因为 H2 只是一个结构指令。假如一个标题要用斜体字、红色的字符、白色的底色的话,作者要这样写:
这些显示用的指令使得一个 HTML 变得非常复杂,要维护也比较困难。假如所有的二级标题都要这样来显示的话,所有的二级标题的指令都要这么复杂。此外读者无法改变这些规定,假如一个读者更喜欢蓝色的标题的话,他无法改变标题的颜色,因为文件的作者特别规定了标题的颜色。
使用 CSS 的话 H2 指令只规定文章的结构,其显示由样式表来规定,上面的例子可以变成这样:
服从的样式表可以规定 H2 指令使用斜体字,红色字和白色背景:
这样显示与内容就分开了(由于 CSS 的优点,W3C 现在正在考虑将 HTML 中的许多显示用的指令废弃掉)。HTML 只表达文章的结构,CSS 表达所有的显示。CSS 可以指示颜色、字形、排列、大小以及其他许多非视觉的表达方式,比如将一篇文件的内容读出来。
CSS 样式信息可以包含在一个附件中或包含在HTML文件内。读者可以使用多个样式表,在重复的情况下他可以选择其中之一。不同的媒体可以使用不同的样式表。比如一个文件在荧光屏上的显示可以与在打印机中打印出来的显示不同。这样作者可以为不同的媒体设计最佳的显示方式。此外 CSS 的目标之一是让读者有更大的控制显示的自由。假如一个读者觉得斜体字的标题读起来很困难,他可以使用自己的样式表文件,这个样式表可以“层叠”使用,他可以只改变红色斜体字这个样式而保留所有其他的样式。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head>
<style type="text/css">
body{
background:#fff;
color:#777;
}
h1{
font:bold italic sans-serif;
color:green;
}
</style>
</head>
<body>
<h1>这个句子用綠色、粗体和斜体字显示</h1>
<p>普通字。</p>
<h1 style="color:red; background:green;">
这个句子用大的、红色斜体字在绿色背景上显示,通用的 h1 样式在这里被取代了。
</h1>
<h1>这个句子用綠色、粗体和斜体字显示</h1>
</body>
</html>
文件highlightheaders.css的内容是:
这样的文件被贮存在读者的计算机内,他在浏览器内记录下显示时使用这个文件。!important表示在显示时使用读者的规定,而不是作者的规定。
有时一个网页的作者会乱用CSS。有些习惯于只使用HTML的作者可能会忽视CSS提供的可能性。比如有些习惯于使用HTML的显示指令的作者可能会在所有的HTML文件内加入CSS样式。这比将HTML显示和结构指令混在一起是一个进步,但它还是有许多同样的缺点,而且维护时的工作量与混合使用差不多。
CSS与其他编程语言有着一些共同的陷阱。尤其在命名CSS的id和class时,CSS作者常选择一个比较有说明性的名称而使用显示特征作为它们的名称。比如一个作者可能使用bigred来命名一个用大红字体的突出显示的字节。在当时,对作者来说这个名称可能是很直觉的,但假如后来作者决定突出显示的字节应该使用绿色,而不是红色的话,他的命名就有毛病了。在上面这个例子中,一个更合适的名称应该是emphasized,它描写的是这个class的用意,而不是它是如何被显示的。
另一个毛病是未记录的、未定义的和往往会被遗忘的名称。一个网页作者可能会选择上百个名称。名称如footer、footnote或者explanation、note、info、more可能是指同一回事。这样许多重复的名称就出现了。有时一个复杂的网站的设计者可能会依赖在HTML文件内与HTML指令结合的CSS指令来解决这个问题,但这样一来他又把内容与显示黏有一起了,而且这样一来这个文件就只适合于某一媒体了。(外部样式表的一个大优点就是它是跨媒体的,因为不同的样式可以特别适用于不同的输出媒体。)
HTML本身的复杂性是另一个困难处。虽然大部分使用CSS的文件比传统的使用表格的文件要整洁,但过分使用class和过于细腻的结构层次同样使HTML变得繁庸。此外有的作者过分使用div指令。
另一个陷阱是为了克服常见的浏览器错误而引入特别的CSS指令,这些指令当然是为了克服已知的错误而引入的,但它们使一个CSS文件的维护性能降低,有时这样的CSS文件的维护量甚至比过去的HTML文件的维护量还大。
有时一个作者可能会过度地使用CSS来决定他的文件应该怎样被显示,如:一个作者会决定隐藏超连结底下的横线,这很容易做到,但对读者来说这可能会是一个不方便。
1996年12月发表的CSS1的要求有:
W3C管理CSS1要求
1998年5月W3C发表了CSS2,其中包括新的内容如绝对的、相对的和固定的定位元素、媒体型的概念、双向文件和一个新的字型。W3C管理CSS2要求
CSS2.1修改了CSS2中的一些错误,删除了其中基本不被支持的内容和增加了一些已有的浏览器的扩展内容。它现在是一个要求候选者。
CSS3正在发展中。W3C发表一个CSS3发展过程报告。
使用“完整”的CSS的缺点包括:
浏览器支持的不一致性
浏览器的漏洞或缺乏支持的CSS功能,导致不同的浏览器显示出不同的CSS版面编排。例如在微软Internet Explorer 6.0的旧版本 ,执行了许多自己的CSS 2.0属性,曲解了很多重要的属性,例如:width,height,和float。许多所谓的CSS人员,必须在最热门的或常用的浏览器中达到一致的版面编排。在不同的浏览器中,要达到像素精准的版面编排,有时候是不可能的。
CSS没有父层选择器
CSS选择器无法提供元素的父层或继承性,以符合某种程度上的标准。先进的选择器(例如 XPath)有助于复杂的样式设计。然而,浏览器的性能和增加彩现的问题关系著父层选择器,却是CSS的工作群组拒绝建议的主要原因。
不能明确地指定继承性
样式的继承性,建立在浏览器中DOM元素的层级和具体的规则上,参照CSS2说明中的章节6.4.1。
垂直控制的局限
元素的水平放置普遍地易于控制,垂直控制则非凭直觉性的、较迂回的甚至是不可能的。简单来说,例如:垂直地围绕一个元素、页尾的放置不能高于可见视窗(viewport,视窗或屏幕的可见范围)的底部范围、需要复杂而非凭直觉性的样式规则,或是简单但不被广泛支持的规则。
显示的缺乏
目前的CSS没有办法明确又简单的显示属性值(例如:margin-left: 10% - 3em + 4px;)。这在很多情况下都是非常有用的,例如:总字段中计算字段的尺寸限制。无论如何,CSS WG发表了CSS局限性的草案,而Internet Explorer 5 以后的版本支持相似功能的语法显示。
缺乏正交性
同样的效果可以用不同的属性来完成,这经常会造成困扰。例如position、display与float定义了不同的配置方式,而且不能有效的交替使用。 一个display: table-cell元素不能指定 float或是position: relative,因为指定float: left的元素不应该受到display效果的影响。再者,没有考虑到新建立属性所造成的影响,例如在表格中你应该使用border-spacing而不是margin-*来指定表格元素。这是因为依照CSS准则,表格内部元素是没有边界(margin)的。
oogle早先为离线应用祭出了Gears,而即将来到的HTML5标准本身就内置了离线解决方案。尽管目前Gears依然作为Chrome的标准组件,但在Mac平台上却看不到Gears的身影。
Google总结说,我们对Gears的技术非常兴奋,包括离线支持和地理位置API,这些都已经整合进了HTML5作为开放标准,可被任何浏览器支持。所以开发者下一步会在他们的网站里使用这些功能,这是很自然的事情。
当然,肯定有人会对Gears的离去感到伤感,但Google更喜欢开放的标准,而不是通过自己的地位来左右市场,Google的这一点需要Apple、微软和索尼好好的学习一下。
不过HTML5还在远方向我们招手,并没有完全被所有主流浏览器支持,不过好消息是微软最近在考虑让IE9支持HTML5。
来自CnBeta
天打开Google Wave惊喜地发现我也有邀请权限了,哇哦,8个名额,以下是那个wave的原文:
Invite others to Google Wave
Google Wave is more fun when you have others to wave with, so please nominate people you would like to add. Keep in mind that this is a preview so it could be a bit rocky at times.
Invitations will not be sent immediately. We have a lot of stamps to lick.
Happy waving!
洛杉矶举行的专业开发者会议(PDC 09)上,Windows和Windows Live部门主管透露了软件巨人下一代浏览器的一些情况。IE9目前处于早期开发阶段,它最引人注目的改进是支持CSS3和HTML5。
Internet Explorer 9将用GPU去渲染图形和文本,将使用DirectX的Direct2D技术去改进CSS、DHTML和JavaScript的性能。现场演示显示了有 GPU和无GPU渲染的区别:无GPU的情况下Bing Maps只有14fps,但在使用GPU帮助之后提高到了60fps。IE9还将有新的JavaScript引擎,更好的支持Web标准,包括HTML5 和CSS3。Channel9提供了一些演示视频。
akeColor是一个小巧但十分实用的的屏幕取色工具,与其他的类似取色工具相同,它可以在你鼠标所在屏幕的当前位置取色,把鼠标放在你要取色的地方,然后按下快捷键(默认是ALT+C,可以在"设置"中自定义),就可以把颜色截取下来了。
![]()
看到这款软件后,我之前的那个GetColor应该就可以退役了,虽然是我喜欢的简洁风格,但功能确实简陋了些。
TakeColor可以以5种格式(HTML、RGB、HEX、HSB/HSV、HSL(Win)、HSL)输出所截取的颜色,并且,为了方便取色,可以设置把选取的地方放大在界面的窗口中,放大倍数可以自己选择。
![]()
另外,TakeColor还自带了一个调色板,可以修饰所取到的颜色,或者直接利用RGB值调出来所需要的色彩,十分强大,更强大的是,它可以暂存你所取到的多组颜色,方便再次调用,或者直接存储到hst格式的文件中,下次打开一样可以调用。
谷歌大中华区上海办事处一位不愿意透漏姓名的员工证实,谷歌酝酿许久的Chrome OS确实将于明天(18日)早些时候全球同步发布,而其中,简体中文版亦包含在此次同步发行的版本之中。
据悉,自今年3月份开始,谷歌便在全球招募工程师以及对Linux系统有研究的专家,投入到早起的Chrome OS的研究之中,在之后的4个月中形成了Chrome OS的大致轮廓。这也是为什么在7月初谷歌正式宣布Chrome OS时,网上很快便出现了截图的原因。 7月初,当谷歌在其官方博客发布这一消息的时候,ChromeOS已经初见雏形。因为Google Wave的开发研究在这款系统之前,并在时间上有一定的重叠,ChromeOS无论在UI界面还是功能上都整合了Google Wave,并且,他透漏,ChromeOS的Logo除了与Chrome浏览器Logo本身有联系外,还会在融入Google WaveLogo元素的同时,加入另一个杰出的创意。“让人非常印象深刻”,是见到这个Logo的人的普遍第一印象。
关于为什么这次发布ChromeOS为什么不专门通过发布会的形式发布时,这位员工说,因为目前Chrome虽然功能上已经定型,但是仍然纯在大量的 Bug需要消除,这次发布的不是正式版,而是像Chrome浏览器本身一样,有Stable版和Beta版。而今天早晨的Chrome各版本升级到 4.0.249.0,就是为了配合Chrome OS的发布而准备的。这次全球同步发行的版本中,除了包含英语、日语、法语、西班牙语、俄语版本外,简体中文版也位列其中,但是没有繁体中文版。据悉,谷歌将在明天早些时候在其官方博客中发布下载地址,而Chrome OS官方主页与Chrome 官方扩展网站也将于届时同时上线。
来自CnBeta
有同学给了篇PDF让打印,发现被加密了,除了浏览之外,其他操作都
做不来了,便在网上找了下解密工具,发现了这个好东西试用了一下,至少我要打的文章是可以完美解密的。
此软件主要用于解密的Adobe Acrobat文件,能够解密PDF文件,并能消除所有的保护,如防止复制,防止打印,防止编辑等解密档案可以打开任何PDF浏览器或任何PDF格式编辑器没有任何限制,挺强大的哈。
运行界面如图所示,默认是office 2007的风格,挺简洁的,不过也可以换成Aqua皮肤,或者系统默认皮肤,操作十分简便。提醒一下,不要忘记设置输出路径。
下载点:绿盟
天看一段反汇编代码,忽然发现以前学的汇编语言已经忘得差不多了,便网上搜集了篇汇编指令来,如下。
| MOV | 传送字或字节. |
| MOVSX | 先符号扩展,再传送. |
| MOVZX | 先零扩展,再传送. |
| PUSH | 把字压入堆栈. |
| POP | 把字弹出堆栈. |
| PUSHA | 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. |
| POPA | 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. |
| PUSHAD | 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. |
| POPAD | 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈. |
| BSWAP | 交换32位寄存器里字节的顺序. |
| XCHG | 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) |
| CMPXCHG | 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX ) |
| XADD | 先交换再累加.( 结果在第一个操作数里 ) |
| XLAT | 字节查表转换. |
| ── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即 0-FFH); |
|
| 返回 AL 为查表结果. ( [BX+AL]->AL ) |
| IN | I/O端口输入. ( 语法: IN 累加器, {端口号│DX} ) |
| OUT | I/O端口输出. ( 语法: OUT {端口号│DX},累加器 ) |
| 输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时, | |
| 其范围是 0-65535. |
| LEA | 装入有效地址. |
| 例: LEA DX,string ;把偏移地址存到DX. | |
| LDS | 传送目标指针,把指针内容装入DS. |
| 例: LDS SI,string ;把段地址:偏移地址存到DS:SI. | |
| LES | 传送目标指针,把指针内容装入ES. |
| 例: LES DI,string ;把段地址:偏移地址存到ES |
|
| LFS | 传送目标指针,把指针内容装入FS. |
| 例: LFS DI,string ;把段地址:偏移地址存到FS |
|
| LGS | 传送目标指针,把指针内容装入GS. |
| 例: LGS DI,string ;把段地址:偏移地址存到GS |
|
| LSS | 传送目标指针,把指针内容装入SS. |
| 例: LSS DI,string ;把段地址:偏移地址存到SS |
| LAHF | 标志寄存器传送,把标志装入AH. |
| SAHF | 标志寄存器传送,把AH内容装入标志寄存器. |
| PUSHF | 标志入栈. |
| POPF | 标志出栈. |
| PUSHD | 32位标志入栈. |
| POPD | 32位标志出栈. |
| ADD | 加法. |
| ADC | 带进位加法. |
| INC | 加 1. |
| AAA | 加法的ASCII码调整. |
| DAA | 加法的十进制调整. |
| SUB | 减法. |
| SBB | 带借位减法. |
| DEC | 减 1. |
| NEC | 求反(以 0 减之). |
| CMP | 比较.(两操作数作减法,仅修改标志位,不回送结果). |
| AAS | 减法的ASCII码调整. |
| DAS | 减法的十进制调整. |
| MUL | 无符号乘法. |
| IMUL | 整数乘法. |
| 以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算), | |
| AAM | 乘法的ASCII码调整. |
| DIV | 无符号除法. |
| IDIV | 整数除法. |
| 以上两条,结果回送: | |
| 商回送AL,余数回送AH, (字节运算); | |
| 或 商回送AX,余数回送DX, (字运算). | |
| AAD | 除法的ASCII码调整. |
| CBW | 字节转换为字. (把AL中字节的符号扩展到AH中去) |
| CWD | 字转换为双字. (把AX中的字的符号扩展到DX中去) |
| CWDE | 字转换为双字. (把AX中的字符号扩展到EAX中去) |
| CDQ | 双字扩展. (把EAX中的字的符号扩展到EDX中去) |
| AND | 与运算. |
| OR | 运算. |
| XOR | 异或运算. |
| NOT | 取反. |
| TEST | 测试.(两操作数作与运算,仅修改标志位,不回送结果). |
| SHL | 逻辑左移. |
| SAL | 算术左移.(=SHL) |
| SHR | 逻辑右移. |
| SAR | 算术右移.(=SHR) |
| ROL | 循环左移. |
| ROR | 循环右移. |
| RCL | 通过进位的循环左移. |
| RCR | 通过进位的循环右移. |
| 以上八种移位指令,其移位次数可达255次. | |
| 移位一次时, 可直接用操作码. 如 SHL AX,1. | |
| 移位>1次时, 则由寄存器CL给出移位次数. | |
| 如 MOV CL,04 | |
| SHL AX,CL |
| DS:SI | 源串段寄存器 :源串变址. |
| ES |
目标串段寄存器:目标串变址. |
| CX | 重复次数计数器. |
| AL/AX | 扫描值. |
| D标志 | 0表示重复操作中SI和DI应自动增量; 1表示应自动减量. |
| Z标志 | 用来控制扫描或比较操作的结束. |
| MOVS | 串传送. |
| ( MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. ) | |
| CMPS | 串比较. |
| ( CMPSB 比较字符. CMPSW 比较字. ) | |
| SCAS | 串扫描. |
| 把AL或AX的内容与目标串作比较,比较结果反映在标志位. | |
| LODS | 装入串. |
| 把源串中的元素(字或字节)逐一装入AL或AX中. | |
| ( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. ) | |
| STOS | 保存串. |
| 是LODS的逆过程. | |
| REP | 当CX/ECX<>0时重复. |
| REPE/REPZ | 当ZF=1或比较结果相等,且CX/ECX<>0时重复. |
| REPNE/REPNZ | 当ZF=0或比较结果不相等,且CX/ECX<>0时重复. |
| REPC | 当CF=1且CX/ECX<>0时重复. |
| REPNC | 当CF=0且CX/ECX<>0时重复. |
| JMP | 无条件转移指令 |
| CALL | 过程调用 |
| RET/RETF | 过程返回. |
| LOOP | CX不为零时循环. |
| LOOPE/LOOPZ | CX不为零且标志Z=1时循环. |
| LOOPNE/LOOPNZ | CX不为零且标志Z=0时循环. |
| JCXZ | CX为零时转移. |
| JECXZ | ECX为零时转移. |
| INT | 中断指令 |
| INTO | 溢出中断 |
| IRET | 中断返回 |
| HLT | 处理器暂停, 直到出现中断或复位信号才继续. |
| WAIT | 当芯片引线TEST为高电平时使CPU进入等待状态. |
| ESC | 转换到外处理器. |
| LOCK | 封莫道不消魂锁总线. |
| NOP | 空操作. |
| STC | 置进位标志位. |
| CLC | 清进位标志位. |
| CMC | 进位标志取反. |
| STD | 置方向标志位. |
| CLD | 清方向标志位. |
| STI | 置中断允许位. |
| CLI | 清中断允许位. |
| DW | 定义字(2字节). |
| PROC | 定义过程. |
| ENDP | 过程结束. |
| SEGMENT | 定义段. |
| ASSUME | 建立段寄存器寻址. |
| ENDS | 段结束. |
| END | 程序结束. |