1.唐龍剑云欲攻巫石门...遇上命随刀...三招內亡...头跟斧被丟下去山谷...那个变态老人笑的很爽...叫他继续吧...
2.十方灵动跟宇文知日连手对付半部禪...鬼王棺救之...深觉邪刀在他手中才能发挥最大威力..(小頭大墊肩看起來好醜說...)..兩人联合....欲杀叶小釵奪劍...
3.玉天磯揭穿宇文知日的真面目...叫他們好自为之...因为唐龍剑云亡..婚約取消..流亡路上命随刀又來了...杀了知日...(奇怪..沒拿頭走...)....证明那个男人...比他哥肉....兩個女人..含泪收屍...
4.玉天磯叫花藏刀谈合作..金角战牛杀至...玉天磯用血泼瞎双眼....笨花藏刀还冲上去...被砍死了...玉天磯一招把那头牛炸成破片...巫石門灭....
5.魔域尋至...玉天磯兩大條件..三色歸龍轎抬之...魔族听其号令....魔尊從之...封其大軍師先斩后奏....那三鍋魚鱗臉很不爽变成送信轎夫.....三項任務....血池肉林....五暴魂....传达其地位.....
6.一花香好可怜沒人理...只剩一個补运仙...不过变得很狗腿...心中極度不爽...用三合一麦片...不...是魔眼看穿血池肉林...倒了一瓶怪药下去....玉天磯亲至..深觉一花香阴沉...大为提防..并亲自取龙心....
7.玉面聖尊指示努力製战龙..要青阳子一遊....指出一页书重生是新驱壳...旧的是宇宙神知..身上有龙心...掉在血池肉林內.....讓魔域去取即可....
8.叶小釵激战惊虹留恨风冥道....心剑击败一片冰心...惊虹留恨亡...(复生的机会..我个人认为....大有可能...)
9.鬼王棺半部禪合杀叶小釵...十方灵动又龟毛不肯出來...出來時竟然把秦假仙踢去挡血不沾..秦先生头...断....銀杏叶救三天...置于百棺机密门....
10.命随刀杀半部禪跟鬼王棺...鬼王棺以魔力注入刀中吸取邪气...一页书至..鬼王棺逃...半部禪亡....命随刀受指示往无天畹....
11.无天畹外怪老头说出医病緣由...病兰花心碎自杀....自觉欠情海過客太多..那当初到底...医錯了吗.......该医不该医呢...
12.一页书坚留秦假仙于百棺机密门內并坚称有一线生机...素还真认为本命星已隕...于事无补..
13.玉天磯亲上琉璃仙境以言語挑之....素还真不顾一切运尸琉璃仙境...一页书接获密报...冲上琉璃仙境开棺验尸...赫然发现一线生机也断...怒不可遏...千里碎脑神音..(反正佛教大頭目都死光光了..管他啥禁招...)..素還真流血...決反击之..
...........................................................................
大概就这样子啦...好累喔.....
熟强熟弱,也只有他们两人自知,外行人绝看不出来。
秦假仙一直为叶小钗担心:『坏了!半部禅说的没错,这个惊虹留恨的剑术不输叶小钗。』
业途灵不以为然:『大仔,我们要对叶小钗有信心咧!』
秦假仙道:『自信没路用啦!战场实力卡重要!』转向那方才溺水的小孩问道:『对了,没事天机湖怎会有溺水的小孩?喂!你是从那来的?』
那溺水孩童绑着两条小辫辫,是个小女生,不可爱,也不讲话。
业途灵道:『喂,大仔,人家不理你呐。』
战斗中的惊虹留恨正担心,糟了,叶小钗这麽强,拜托!来个人来阻止好不好?』
那小丫头见双方几乎要闹出人命了,突然一把抢入战围:『给我住手!』
惊虹留恨大喜,此时不停手更待何时?连忙跳离叶小钗数丈远,赶快把悲嚎剑藏起来。
小丫头向惊虹留恨道:『你这个人真不讲理咧,人家好心救我起来,你却趁人之危,这样就算你嬴了,也不光彩!』
惊虹留恨解释:『这场比斗早就定下规矩了。』
小丫头道:『哦,原来如此,这样吧,反正天机湖也不适合决斗,叁天後,在风冥道再做决战吧!』
惊虹留恨想想,反正今天也闹够了,於是向叶小钗道:『叁天後,风冥道等你!』也不等叶小钗回话,赶快离开了天机湖。
秦假仙开始骂小丫头乱出主意,小丫头则说现在叶小钗仓惶应战,必败无疑,所以叁天後反对叶小钗有利。
秦假仙骂小丫头懂什麽:『你快给我滚!』
小丫头道:『走就走嘛,』再向叶小钗道:『叁天後,风冥道不要忘记!』
可怜的叶小钗连表示意见的机会都没有,就被一个小丫头决定了命运。
叶小钗继续钓鱼。
深夜时分,宁静的唐皇教院,冒出了一个红衣 面人,翻箱倒柜,开门打窗,夜探庄院,却发出许多的声响,不知背後玉天玑相准方位,默地发掌, 面人惨被击中,跌跌撞撞逃出庄院,玉天玑也不追赶。
红衣 面人挣扎的跑到野林,再也支撑不住,就地昏倒,好死不死此地竟是半部禅藏匿之处,被这歹人发现了:『咦?这齿的不是上回与我在风雨岩发生争斗的 面人吗?』伸手扯去面罩,正是宇文冰心。
『哈哈哈!果然是宇文冰心,这回你落入我的手中罗!』一把抓起宇文冰心,背负着离开。
灵魅殿,执法叁灵魅围着魔魁之女,大灵魅道:『魔魁之女,你可知罪?』
魔魁之女道:『多谢叁位灵魅之解救,只是我不知身犯何罪。』
中灵魅道:『我们叫你不可与七重冥王做对,你却叫非凡公子杀掉七重冥王。』
魔魁之女道:『是他变本加厉欺负我,我不得已嘛!』
中灵魅继道:『杀了七重冥王,使得正道人士全部将矛头指向你,使方城之主身份曝光,你得不偿失。』
魔魁之女也感到此事失策,低头感叹。
小灵魅道:『还有!幽灵箭打醒素还真,使得素还真联合一页书,无后弯刀配合轩辕圣剑,幽灵箭终成废物!』
魔魁之女道:『幽灵箭会打醒素还真,实是始料未及啊......』
大灵魅斥道:『不要再为自己的愚昧做辩解了,面对现实,接受失败,才能再次成长,东山再起。』
魔魁之女道:『是!是!是!』
小灵魅又道:『还有!你一直忽略了一个人,蚁天海殇君,再造天河契机,使得一页书复活,你思虑不周,一错再错,能不一败涂地吗?』
魔魁之女又长叹:『请叁位灵魅收留魔魁之女吧。』
大灵魅道:『收留你可以,但你必须与非凡公子断绝母子关系。』
中灵魅道:『是,非凡公子虽有魔族的血脉,但也有叁教的血缘,他的行为已经严重威胁到魔界的生存,今後,魔族对非凡公子的行动,你不可甘涉。』
叁位灵魅表示要除掉非凡公子,经魔魁之女再叁哀求,经过协调,叁位灵魅决定,非凡公子若是不出武林,就可留他活命,但若非凡公子又出现武林,就予以格杀。
魔魁之女道:『好吧,我去跟他说。』
大灵魅道:『不行!你不能再和他见面,上次我们就被你骗过一次了,你别再用那种哀怨的眼光来博得我们的同情,我们已经做极大的宽容了。再来,魔魁之墓前面的石像,不是普通的石像,是魔魁早就安排的强有力的生力军,你必须将控制口诀献出。』
魔魁之女惊道:『啊?你们都知道了?』
大灵魅道:『魔域之内大小事情,都逃不过叁灵魅的法眼!』
魔魁之女不敢再隐 :『好吧,我去抄写一份口诀献出。』
小灵魅道:『快去!别慢慢吞吞!』
魔魁之女道:『知了......』於是离开灵魅殿。
叁灵魅开始讨论智慧之星之事,中灵魅道:『魔域之内不凡武艺高手,但一直缺少足谋善智之人,一定要拉拢此人来替魔域效力。』
宇文弓来到天机湖,向秦假仙说明要取回十方灵动。
秦假仙疑道:『老管家啊,你老实说,是什麽原因使你要取回十方灵动?上次你明明表示不想再拥有这口宝剑,怎麽没两天,你就改变主意了?』
宇文弓叹口气:『唉~实不相 ,我家小姐与唐龙剑云有约婚,所谓嫁鸡随鸡,嫁狗随狗,唐龙剑云有权保管十方灵动,若不交出十方灵动,我家小姐会被休掉,秦大侠,你也知道,宇文山庄遭逢变故,我家小姐无依无靠已经很可怜了,要是再被休掉,那是多麽残忍的事啊?事关女人名节,所以请秦大侠一定要帮忙。』
秦假仙道:『剑又被丢入天机湖了,没关心,这件事就包在我身上,我会找人来帮忙打捞,捞到了就还给你。』
宇文弓满口谢的离开,自始至终,没有徵求叶小钗的意见,一切就由秦假仙做主了。
宇文弓在回程时,遇到了半部禅,半部禅道:『宇文冰心在我的手中,拿十方灵动到风雨岩换人吧!』说完就离开了。
宇文弓半信半疑,满怀忧心的道:『奇怪?冰心怎会落入他的手中?快回唐皇教观视。』说完,轻功一展,瞬间不见人影。
一直跟踪在後的唐龙剑云走了出来,望着宇文弓飞离的背影,道:『好高超的轻功,亚父说得没错,宇文弓不是普通人,回去禀告亚父。』
回到唐皇教的宇文弓,见到宇文冰心,问道:『你无事吧?』
32位CPU所含有的寄存器有:
4个数据寄存器(EAX、EBX、ECX和EDX)
2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)
6个段寄存器(ES、CS、SS、DS、FS和GS)
1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)
1、数据寄存器
数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。
32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些
低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。
4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄
存器都有自己的名称,可独立存取。程序员可利用数据寄存器的这种“可分可合”的特性,灵活地处理字/字
节的信息。
寄存器AX和AL通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、
除、输入/输出等操作,它们的使用频率很高;
寄存器BX称为基地址寄存器(Base Register)。它可作为存储器指针来使用;
寄存器CX称为计数寄存器(Count Register)。在循环和字符串操作时,要用它来控制循环次数;在位操作
中,当移多位时,要用CL来指明移位的位数;
寄存器DX称为数据寄存器(Data Register)。在进行乘、除运算时,它可作为默认的操作数参与运算,也
可用于存放I/O的端口地址。
在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,但在32位CPU中,其32位
寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果,而且也可作为指针寄存器,
所以,这些32位寄存器更具有通用性。
2、变址寄存器
32位CPU有2个32位通用寄存器ESI和EDI。其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响
高16位的数据。
寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,
用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。
变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。
它们可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特
殊的功能。
3、指针寄存器
32位CPU有2个32位通用寄存器EBP和ESP。其低16位对应先前CPU中的SBP和SP,对低16位数据的存取,不影
响高16位的数据。
寄存器EBP、ESP、BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量,
用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。
指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。
它们主要用于访问堆栈内的存储单元,并且规定:
BP为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据;
SP为堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶。
4、段寄存器
段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成
的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。
CPU内部的段寄存器:
CS——代码段寄存器(Code Segment Register),其值为代码段的段值;
DS——数据段寄存器(Data Segment Register),其值为数据段的段值;
ES——附加段寄存器(Extra Segment Register),其值为附加数据段的段值;
SS——堆栈段寄存器(Stack Segment Register),其值为堆栈段的段值;
FS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值;
GS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值。
在16位CPU系统中,它只有4个段寄存器,所以,程序在任何时刻至多有4个正在使用的段可直接访问;在32位
微机系统中,它有6个段寄存器,所以,在此环境下开发的程序最多可同时访问6个段。
32位CPU有两个不同的工作方式:实方式和保护方式。在每种方式下,段寄存器的作用是不同的。有关规定简
单描述如下:
实方式: 前4个段寄存器CS、DS、ES和SS与先前CPU中的所对应的段寄存器的含义完全一致,内存单元的逻辑
地址仍为“段值:偏移量”的形式。为访问某内存段内的数据,必须使用该段寄存器和存储单元的偏移量。
保护方式: 在此方式下,情况要复杂得多,装入段寄存器的不再是段值,而是称为“选择子”(Selector)的某个值。。
5、指令指针寄存器
32位CPU把指令指针扩展到32位,并记作EIP,EIP的低16位与先前CPU中的IP作用相同。
指令指针EIP、IP(Instruction Pointer)是存放下次将要执行的指令在代码段的偏移量。在具有预取指令功
能的系统中,下次要执行的指令通常已被预取到指令队列中,除非发生转移情况。所以,在理解它们的功能
时,不考虑存在指令队列的情况。
在实方式下,由于每个段的最大范围为64K,所以,EIP中的高16位肯定都为0,此时,相当于只用其低16位
的IP来反映程序中指令的执行次序。
6、标志寄存器
一、运算结果标志位
1、进位标志CF(Carry Flag)
进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。
使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值的指令等。
2、奇偶标志PF(Parity Flag)
奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。
利用PF可进行奇偶校验检查,或产生奇偶校验位。在数据传送过程中,为了提供传送的可靠性,如果采用奇偶校验的方法,就可使用该标志位。
3、辅助进位标志AF(Auxiliary Carry Flag)
在发生下列情况时,辅助进位标志AF的值被置为1,否则其值为0:
(1)、在字操作时,发生低字节向高字节进位或借位时;
(2)、在字节操作时,发生低4位向高4位进位或借位时。
对以上6个运算结果标志位,在一般编程情况下,标志位CF、ZF、SF和OF的使用频率较高,而标志位PF和AF的使用频率较低。
4、零标志ZF(Zero Flag)
零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。
5、符号标志SF(Sign Flag)
符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。
6、溢出标志OF(Overflow Flag)
溢出标志OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
“溢出”和“进位”是两个不同含义的概念,不要混淆。如果不太清楚的话,请查阅《计算机组成原理》课程中的有关章节。
二、状态控制标志位
状态控制标志位是用来控制CPU操作的,它们要通过专门的指令才能使之发生改变。
1、追踪标志TF(Trap Flag)
当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试。
指令系统中没有专门的指令来改变标志位TF的值,但程序员可用其它办法来改变其值。
2、中断允许标志IF(Interrupt-enable Flag)
中断允许标志IF是用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。具体规定如下:
(1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;
(2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。
CPU的指令系统中也有专门的指令来改变标志位IF的值。
3、方向标志DF(Direction Flag)
方向标志DF用来决定在串操作指令执行时有关指针寄存器发生调整的方向。具体规定在第5.2.11节——字符串操作指令——中给出。在微机的指令系统中,还提供了专门的指令来改变标志位DF的值。
三、32位标志寄存器增加的标志位
1、I/O特权标志IOPL(I/O Privilege Level)
I/O特权标志用两位二进制位来表示,也称为I/O特权级字段。该字段指定了要求执行I/O指令的特权级。如果当前的特权级别在数值上小于等于IOPL的值,那么,该I/O指令可执行,否则将发生一个保护异常。
2、嵌套任务标志NT(Nested Task)
嵌套任务标志NT用来控制中断返回指令IRET的执行。具体规定如下:
(1)、当NT=0,用堆栈中保存的值恢复EFLAGS、CS和EIP,执行常规的中断返回操作;
(2)、当NT=1,通过任务转换实现中断返回。
3、重启动标志RF(Restart Flag)
重启动标志RF用来控制是否接受调试故障。规定:RF=0时,表示“接受”调试故障,否则拒绝之。在成功执行完一条指令后,处理机把RF置为0,当接受到一个非调试故障时,处理机就把它置为1。
4、虚拟8086方式标志VM(Virtual 8086 Mode)
如果该标志的值为1,则表示处理机处于虚拟的8086方式下的工作状态,否则,处理机处于一般保护方式下的工作状态。
转自:http://www.cppblog.com/merlinfang/archive/2007/07/07/27643.html
汇编指令大全
一、数据传输指令
───────────────────────────────────────
它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 汇编指令大全
1. 通用数据传送指令.
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 )
2. 输入输出端口传送指令.
IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )
OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )
输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,
其范围是 0-65535.
3. 目的地址传送指令.
LEA 装入有效地址.
例: LEA DX,string ;把偏移地址存到DX.
LDS 传送目标指针,把指针内容装入DS.
例: LDS SI,string ;把段地址:偏移地址存到DS:SI.
LES 传送目标指针,把指针内容装入ES.
例: LES DI,string ;把段地址:偏移地址存到ES:DI.
LFS 传送目标指针,把指针内容装入FS.
例: LFS DI,string ;把段地址:偏移地址存到FS:DI.
LGS 传送目标指针,把指针内容装入GS.
例: LGS DI,string ;把段地址:偏移地址存到GS:DI.
LSS 传送目标指针,把指针内容装入SS.
例: LSS DI,string ;把段地址:偏移地址存到SS:DI.
4. 标志传送指令.
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:DI 目标串段寄存器:目标串变址.
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时重复.
五、程序转移指令
───────────────────────────────────────
1>无条件转移指令 (长转移)
JMP 无条件转移指令
CALL 过程调用
RET/RETF过程返回.
2>条件转移指令 (短转移,-128到+127的距离内)
( 当且仅当(SF XOR OF)=1时,OP1
JA/JNBE 不小于或不等于时转移.
JAE/JNB 大于或等于转移.
JB/JNAE 小于转移.
JBE/JNA 小于或等于转移.
以上四条,测试无符号整数运算的结果(标志C和Z).
JG/JNLE 大于转移.
JGE/JNL 大于或等于转移.
JL/JNGE 小于转移.
JLE/JNG 小于或等于转移.
以上四条,测试带符号整数运算的结果(标志S,O和Z).
JE/JZ 等于转移.
JNE/JNZ 不等于时转移.
JC 有进位时转移.
JNC 无进位时转移.
JNO 不溢出时转移.
JNP/JPO 奇偶性为奇数时转移.
JNS 符号位为 "0" 时转移.
JO 溢出转移.
JP/JPE 奇偶性为偶数时转移.
JS 符号位为 "1" 时转移.
3>循环控制指令(短转移)
LOOP CX不为零时循环.
LOOPE/LOOPZ CX不为零且标志Z=1时循环.
LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.
JCXZ CX为零时转移.
JECXZ ECX为零时转移.
4>中断指令
INT 中断指令
INTO 溢出中断
IRET 中断返回
5>处理器控制指令
HLT 处理器暂停, 直到出现中断或复位信号才继续.
WAIT 当芯片引线TEST为高电平时使CPU进入等待状态.
ESC 转换到外处理器.
LOCK 封锁总线.
NOP 空操作.
STC 置进位标志位.
CLC 清进位标志位.
CMC 进位标志取反.
STD 置方向标志位.
CLD 清方向标志位.
STI 置中断允许位.
CLI 清中断允许位.
六、伪指令
───────────────────────────────────────
DW 定义字(2字节).
PROC 定义过程.
ENDP 过程结束.
SEGMENT 定义段.
ASSUME 建立段寄存器寻址.
ENDS 段结束.
END 程序结束
2、由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)
原因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
或者使用下面的这种方法:
生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
或者可以修改C:Program FilesSybasePowerDesigner Trial 11Resource FilesDBMSoracl9i2.xdb文件
修改好后,再cdm转为pdm时,选择“Copy the DBMS definition in model”把把这个资源文件拷贝到模型中。
3、生成的建表脚本中如何把对象的双引号去掉?
打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者选择Database->Edit current database->Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”即可!
或者在打开pdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!
4、建立一个表后,为何检测出现Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!
5、创建一个表在修改字段的时候,一修改name的内容,code也跟着变化,如何让code不随着name变化
Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。
Tools->General Options->Dialog->Name to Code Mirroring (去掉)
6、由CDM生成PDM时,自动生成的外键的重命名
PDM Generation Options->Detail->FK index names默认是%REFR%_FK,改为FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自动生成的父字段的规则是PDM Generation Options->Detail->FK column name template中设置的,默认是%.3:PARENT%_%COLUMN%,可以改为Par%COLUMN%表示是父字段!
7、如何防止一对一的关系生成两个引用(外键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系->Detail->Dominant role选择支配关系
8、修改报表模板中一些术语的定义
即文件:C:Program FilesSybasePowerDesigner Trial 11Resource FilesReport LanguagesChinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object AttributesPhysical Data ModelColumn
ForeignKey:外键
Mandatory:为空
Primary:主键
Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values MappingListsStandard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息







