好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

[工学]微机原理与接口-第4章4逻辑运算及串操作指令ppt课件.ppt

54页
  • 卖家[上传人]:m****
  • 文档编号:607651958
  • 上传时间:2025-05-25
  • 文档格式:PPT
  • 文档大小:691.41KB
  • / 54 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,,,*,第4章 80x86指令系统,三、逻辑类指令,,(位操作指令),,这一类指令包括逻辑运算指令、移位指令和循环移位指令等三组位操作类指令以,二进制位,为基本单位进行数据的操作,当需要对字节或字数据中的各个二进制位操作时,可以考虑采用位操作类指令,注意这些指令对标志位的影响,逻辑运算指令,AND OR XOR NOT TEST,移位指令,SHL SHR SAR,循环移位指令,ROL ROR RCL RCR,,1,,三、逻辑类指令 (位操作指令) 这一类指令包括逻辑运算指令、,1. 逻辑运算指令,逻辑运算类指令与算术运算指令不同,算术指令,是按,字节或字进行算术运算,,而,逻辑运算指令是把操作数按位,来进行逻辑运算与”运算指令 格式:,AND dst, src,“或”运算指令 格式:,OR dst, src,“非”运算指令 格式:,NOT opr,“异或”运算指令 格式:,XOR dst, src,测试指令 格式:,TEST dst, src,,说明:,TEST相当于AND运算,但是,不保存结果,仅影响标志。

      2,,1. 逻辑运算指令2,1 逻辑运算指令,逻辑运算指令,NOT 目的,;取反指令,AND 目的,源,;按位与指令,OR 目的,源,;按位或指令,XOR 目的,源,;按位异或指令,TEST 目的,源,;测试指令,与AND指令操作相同,只是不改变目的操作数的内容,单操作数逻辑指令,NOT,不影响标志位,操作数与INC、DEC和NEG一样:,,3,,1 逻辑运算指令逻辑运算指令3,逻辑与指令AND,对两个操作数执行逻辑与运算,结果送目的操作数,AND dest,src,,;dest←dest,∧,src,只有相“与”的两位都是1,结果才是1;否则,“与”的结果为0,,,4,,逻辑与指令AND对两个操作数执行逻辑与运算,结果送目的操作数,逻辑或指令OR,对两个操作数执行逻辑或运算,结果送目的操作数,OR dest,src,,;dest←dest,∨,src,只要相“或”的两位有一位是1,结果就是1;否则,结果为0,,,5,,逻辑或指令OR对两个操作数执行逻辑或运算,结果送目的操作数O,逻辑异或指令XOR,对两个操作数执行逻辑异或运算,结果送目的操作数,XOR dest,src,,;dest←dest,⊕,src,只有相“异或”的两位不相同,结果才是1;否则,结果为0,,,6,,逻辑异或指令XOR对两个操作数执行逻辑异或运算,结果送目的操,测试指令TEST,对两个操作数执行逻辑与运算,结果并不送目的操作数,仅按AND指令影响标志,TEST dest,src,,;dest,∧,src,,AND,与,TEST,指令的关系,,同,SUB,与,CMP,指令的关系一样,,7,,测试指令TEST对两个操作数执行逻辑与运算,结果并不送目的操,逻辑非指令NOT,对一个操作数执行逻辑非运算,NOT reg/mem,,;reg/mem←,~,reg/mem,,按位取反,原来是“0”的位变为“1”;原来是“1”的位变为“0”,,,8,,逻辑非指令NOT对一个操作数执行逻辑非运算NOT reg/m,例 逻辑运算,mov,al,75h ;,AL=75H,and,al,32h,;,AL=30H,;CF=OF=0, SF=0,ZF=0,PF=1,or,al,71h,;,AL=71H,;CF=OF=0,SF=0,ZF=0,PF=1,xor,al,0f1h,;,AL=80H,;CF=OF=0,SF=1,ZF=0,PF=0,not,al,;,AL=7FH 标志不变,,9,,例 逻辑运算mov al,75h ;AL=75H9,逻辑运算指令的应用,and,bl,11110110b,,;BL中D0和D3清0,其余位不变,or,bl,00001001b,,;BL中D0和D3置1,其余位不变,xor,bl,00001001b,,;BL中D0和D3求反,其余位不变,,AND指令可用于复位某些位(同0相与),不影响其他位,,OR指令可用于置位某些位(同1相或),不影响其他位,,XOR指令可用于求反某些位(同1相异或),不影响其他位,,10,,逻辑运算指令的应用and bl,11110110b AND,例4.7,从偏移地址TABLE开始的内存区中,存放着100个字节型数据,要求将这些数进行累加,并将累加和的低位存SUM单元,高位存SUM+1单元。

      程序如下:,LEA BX,TABLE;(BX)←数据表地址指针,MOV CL,100 ;(CL)←数据块长度,,XOR AX,AX,;清AL、AH,并清进位CF,LOOPER:ADD AL,[BX] ;加一个数到AL,JNC GOON ;如(CF)=0,转移到GOON,INC AH ;否则,AH加1,GOON:INC BX ;地址指针加1,DEC CL ;计数值减1,JNZ LOOPER ;如(CL)≠0,转移到LOOPER,MOV SUM,AX ;否则,(SUM)←(AL),(SUM+1)←(AH),HLT ;停止,,11,,例4.7 从偏移地址TABLE开始的内存区中,存放,常见的用法,⑴ 清进位标志位: AND AX,AX 或 OR AL,AL等,⑵ 清零操作数:XOR AX,AX 不仅把AX清零,而且也影响了状态标志,⑶ 把某几位取反:用XOR指令,把要取反的位和1异或,不变的位和0异或,⑷ 清零或置位某几位:用AND指令清零,用OR指令置位,,12,,常见的用法12,2 移位指令,将操作数移动一位或多位,分成逻辑移位和算术移位,分别具有左移或右移操作,移位指令的,第一个操作数,是指定的被移位的操作数,可以是寄存器或存储单元;,后一个操作数,表示移位位数:,该操作数,为1,,表示移动一位,该操作数,为CL,,CL寄存器值表示移位位数 (移位位数,大于1只能CL表示,),按照移入的位设置进位标志CF,根据移位后的结果影响SF、ZF、PF,,13,,2 移位指令将操作数移动一位或多位,分成逻辑移位和算术移位,逻辑左移指令SHL(,shift logical left,),SHL,reg/mem,,1/CL,;reg/mem左移1或CL位,;最低位补0,最高位进入CF,SHL和SAL指令的功能,演示,,14,,逻辑左移指令SHL(shift logical left)S,SHL和SAL指令的功能,,,15,,SHL和SAL指令的功能15,例4.8,将一个16位无符号数乘以10。

      该数原来存放在以FACTOR为首地址的两个连续的存储单元中(低位在前,高位在后)因为FACTOR,,10=(FACTOR,,8)+(FACTOR,,2),故可用左移指令实现以上乘法运算编程如下:,MOV AX,FACTOR ;(AX)←被乘数,SHL AX,1 ;(AX)=FACTOR,,2,MOV BX,AX ;暂存BX,SHL AX,1 ;(AX)=FACTOR,,4,SHL AX,1 ;(AX)=FACTOR,,8,ADD AX,BX ;(AX)=FACTOR,,10,HLT,,以上程序的执行时间大约需26个时钟如用乘法指令编程,执行时间将超过130个时钟16,,例4.8 将一个16位无符号数乘以10该数原来存,逻辑右移指令SHR(shift logical right),SHR,reg/mem,1/CL,;reg/mem右移1/CL位,;最高位补0,最低位进入CF,,17,,逻辑右移指令SHR(shift logical right),例4.9,将一个16位无符号数除以512。

      该数原来存放在以DIVIDAND为首地址的两个连续的存储单元中因为DIVIDAND÷512=(DIVIDAND÷2)÷256,故可用逻辑右移指令完成上述除法运算编程如下:,MOV AX,DIVIDAND ;(AX)←被除数,SHR AX,1 ;(AX)=DIVIDAND÷2,XCHG AL,AH ;(AL)←→(AH),,相当于循环右移8位,CBW ;清AX的高8位,(AX)=DIVIDAND÷512,HLT,当然,也可以将立即数9传送到CL寄存器,然后用指令SHR AX,CL完成除以512的运算但是相比之下,上面的程序执行速度更快18,,例4.9 将一个16位无符号数除以512该数原来存,算术左移指令SAL(shift arithmetic left),SAL,reg/mem,1/CL,;与SHL是同一条指令,,19,,算术左移指令SAL(shift arithmetic lef,SHL和SAL指令的功能,,,20,,SHL和SAL指令的功能20,算术右移指令SAR(,shift arithmetic right,),SAR,reg/mem,1/CL,;reg/mem右移1/CL位,;最高位不变,最低位进入CF,,21,,算术右移指令SAR(shift arithmetic rig,SAR指令的功能,,,22,,SAR指令的功能22,3) 循环移位指令,8086/8088指令系统有四条循环移位指令,,不带进位标志CF的左循环移位,指令ROL和,右循环移位指令ROR(,也称小循环),以及,带进位标志CF的左循环移位指令RCL和右循环移位指令RCR,(也称大循环)。

      循环移位指令的操作数类型与移位指令相同,可以是8位或16位的寄存器或存储器指令中指定的左移或右移的位数也可以是1或由CL寄存器指定,但不能是1以外的常数或CL以外的其他寄存器所有循环移位指令都只影响进位标志CF和溢出标志OF,但OF标志的含义对于左循环移位指令和右循环移位指令有所不同23,,3) 循环移位指令23,循环移位指令(rotate),循环移位指令类似移位指令,但要将从一端移出的位返回到另一端形成循环分为:,ROL,,reg/mem,1/CL,;,不带进位循环左移,ROR,,reg/mem,1/CL,;,不带进位循环右移,RCL,,reg/mem,1/CL,;,带进位循环左移,RCR,reg/mem,1/CL,;,带进位循环右移,循环移位指令的操作数形式与移位指令相同,按指令功能设置进位标志,CF,,但不影响SF、ZF、PF、AF标志,演示,演示,演示,演示,,24,,循环移位指令(rotate)循环移位指令类似移位指令,但要将,ROL指令的功能,,,25,,ROL指令的功能25,ROR指令的功能,,,26,,ROR指令的功能26,RCL指令的功能,,,27,,RCL指令的功能27,RCR指令的功能,,,28,,RCR指令的功能28,(1) 循环左移指令ROL (ROtate Left)。

      指令格式:,ROL dst,1/CL,ROL指令将目的操作数向左循环移动1位或移CL寄存器指定的位数最高位移到进位标志CF,同时最高位移到最低位形成循环,进位标志CF不在循环回路之内ROL指令的操作如图4.24所示图4.24 ROL指令操作示意图,,29,,(1) 循环左移指令ROL (ROtate Left,ROL指令将影响CF和OF两个状态标志位如果循环移位次数等于1,且移位以后目的操作数新的最高位与CF不相等,则(OF)=1,否则(OF)= 0因此,OF的值表示循环移位前后符号位是否有所变化如果移位次数不等于1,则OF的值不确定ROL指令的例子如下:,ROL BH,1 ;寄存器循环左移1位,ROL DX,CL ;寄存器循环左移(CL)位,ROL WORD PTR [DI],1 ;存储器循环左移1位,ROL BYTE PTR ALPHA,CL ;存储器循环左移(CL)位,,30,,ROL指令将影响CF和OF两个状态标志位如果循环,(2) 循环右移指令ROR (ROtate Right)指令格式:,ROR dst,1/CL,ROR指令将目的操作数向右循环移动1位或移CL寄存器指定的位数。

      最低位移到进位标志CF,同时最低位移到最高位该指令的操作如图4.25表示ROR指令也将影响状态标志位CF和OF若循环移位次数等于1且移位后新的最高位和次高位不等,则(OF)=1,否则(OF)=0若循环移位次数不等于1,则OF的值不确定图4.25 ROR指令操作示意图,,31,,(2) 循环右移指令ROR (ROtate Right,下面是ROR指令的几个例子:,ROR CX,1 ;寄存器循环右移1位,ROR BH,CL ;寄存器循环右移(CL)位,ROR BYTE PTR BETA,1 ;存储器循环右移1位,ROR WORD PTR ALPHA,CL ;存储器循环右移(CL)位,,32,,下面是ROR指令的几个例子:32,(3) 带进位循环左移指令RCL (Rotate Left through Carry)指令格式:,RCL dst,1/CL,RCL指令将目的操作数连同进位标志CF一起向左循环移动1位或移CL寄存器指定的位数最高位移入CF,而CF移入最低位该指令的操作如图4.26所示RCL指令对状态标志位的影响与ROL指令相同。

      图4.26 RCL指令操作示意图,,33,,(3) 带进位循环左移指令RCL (Rotate,(4) 带进位循环右移指令RCR (Rotate Right through Carry)指令格式:,RCR dst,1/CL,RCR指令将目的操作数与进位标志CF一起向右循环移动1位或移CL寄存器指定的位数最低位移入进位标志CF,CF则移入最高位该指令的操作如图4.27所示RCR指令对状态标志位的影响与ROR指令相同图4.27 RCR指令操作示意图,,34,,(4) 带进位循环右移指令RCR (Rotate R,这里介绍的四条循环移位指令与前面讨论过的移位指令有所不同,循环移位之后,操作数中原来各位的信息不会丢失,而只是移到了操作数中的其他位或进位标志上,必要时还可以恢复利用循环移位指令可以对寄存器或存储器中的任一位进行位测试例如,要求测试AL寄存器中第5位的状态是“0”还是“1”,可利用以下指令实现:,MOV CL,5 ;(CL)←移位次数,ROL AL,CL ;(CF)←AL的第5位,JNC ZERO ;若(CF)=0,转ZERO,… ;否则…,ZERO: …,,35,,这里介绍的四条循环移位指令与前面讨论过的移位指令有所,说明,⑴,逻辑移位适用于无符号数,算术移位适用于有符号数。

      ⑵ 逻辑左移和算术左移的机器码完全相同,是助记符的两种写法ROL循环左移:操作数整体左移,最高位移到CF,最低位补原最高位,ROR循环右移:操作数整体右移,最低位移到CF,最高位补原最低位,RCL带进位的循环左移:类似于ROL循环移位,CF加入到循环圈中RCR带进位的循环右移:类似于ROR循环移位,CF加入到循环圈中36,,说明36,四、串操作指令,,串操作指令的特征是对数据块(字符串)进行操作,,并且其中部分指令可以两个操作数同时是存储器操作数MOVS,(Move string) 串传送,CMPS,(Compare string) 串比较,SCAS,(Scan string) 串扫描,LODS,(Load from string) 从串中取数据,STOS,(Store in to string) 存数据到串中,,,37,,四、串操作指令 串操作指令的特征是对数据块(字符串)进行操作,,,说明,⑴ 串操作指令每次执行完成一个字节或一个字的操作⑵ 通常使用重复前缀,用来完成数据块的操作重复前缀,⑴ REP 重复,⑵ REPE/REPZ 相等/为零则重复,⑶ REPNE/REPNZ 不相等/不为零则重复,,38,,38,特点,⑴ 串操作指令需要指明每次操作的类型:B 字节,W字,例如:MOVSB, CMPSW等。

      ⑵,串操作指令使用,隐含寻址方式,,源串地址为,DS:SI,,目的串地址为,ES:DI,,待处理串的长度放在,CX,中⑶使用,DF,来表示每次操作以后变址寄存器SI和DI的变化方向,CLD ;DF=0 SI,DI做增量变化 B:+1或W:+2,STD ;DF=1 SI,DI做减量变化 B:-1或W:-2,,39,,特点39,⑴ MOVS指令(,两个操作数同时是存储器操作数,),MOVSB,或,MOVSW,以字节或字为单位在存储单元之间传送数据,可以使用REP前缀,[REP] MOVS [ES:]dst_string,,[seg:],src_string,[REP] MOVSB,[REP] MOVSW,① ((ES):(DI))←((DS):(SI)),② (SI)←(SI),,1,(DI)←(DI),,1 (字节操作),(SI)←(SI),,2,(DI)←(DI),,2 (字操作),其中,DF=0时用“+”,DF=1时用“−”,第一种格式的一个重要优点,是可以对源字符串进行段重设(但目的字符串的段地址只能在ES,不可进行段重设)在第二种和第三种格式中,串操作指令字符的后面加上一个字母,“B”或“W”,,指出操作对象是字节串或字串。

      40,,⑴ MOVS指令(两个操作数同时是存储器操作数)40,注意:,在MOVSB、MOVSW这两种指令下,指令后面不允许出现操作数例如,以下指令都是合法的:,REP MOVS DATA2,DATA1 ;操作数类型应预先定义,MOVS BUFFER2,ES:BUFFER1 ;,源操作数进行段重设,REP MOVS WORD PTR[DI],[SI] ;用变址寄存器表示操作数,REP MOVSB ;字节串传送,MOVSW ;字串传送,但以下表示方法是非法的:,,MOVSB DEST,ES:SRC,,,41,,注意:在MOVSB、MOVSW这两种指令下,指令后面不允许出,例4.10,将,数据段中首地址,为BUFFER1的200个字节传送到,附加数据段,首地址为BUFFER2的内存区中使用字节串传送指令的程序段如下:,LEA SI,BUFFER1 ;(SI)←源串首地址指针,LEA DI,BUFFER2 ;(DI)←目的串首地址指针,MOV CX,200 ;(CX)←字节串长度,CLD ;清方向标志DF,REP MOVSB ;传送200个字节,HLT ;停止,,42,,例4.10 将数据段中首地址为BUFFER,⑵ LODS指令,LODSB,或,LODSW,从内存中取出字节或字到累加器AL或AX,可以使用REP前缀,但意义不大,。

      LODS [,seg:,]src_string ;,可以段超越,LODSB ; (AL)←((DS):(SI)),LODSW ; (AX)←((DS):(SI)),① (AL)←((DS):(SI)) 或 (AX)←((DS):(SI)),② (SI)←(SI)±1 (字节操作),(SI)←(SI)±2 (字操作),其中,当DF=0时用“+”,当DF=1时用“−”43,,⑵ LODS指令LODSB 或 LODSW 从内存中取出字节,例4.11,内存中以BUFFER为首址的缓冲区内有10个非压缩型BCD码形式存放的十进制数,它们的值可能是0~9中的任意一个,将这些十进制数顺序显示在屏幕上根据题意可编程如下:,LEA SI,BUFFER;(SI)←缓冲区首址,MOV CX,10 ;(CX)←字符串长度,CLD ;清状态标志位DF,GET: LODSB ;取一个BCD码到AL,OR AL,30H ;BCD码转换为ASCII码,MOV AH,02H ;(AH)←功能号,MOV DL,AL ;(DL)←字符,INT 21H ;显示,DEC CX ;(CX)←(CX) −1,JNZ GET ;未完成10个字符则重复,HLT,,,,44,,例4.11 内存中以BUFFER为首址的缓冲区内有,⑶ STOS指令,STOSB,或,STOSW,从累加器中存字节或字到存储器,可以使用REP前缀,[REP] STOS [ES:]dst_string,[REP] STOSB ; ((ES):(DI))←(AL),[REP] STOSW ; ((ES):(DI))←(AX),① ((ES):(DI))←(AL) 或 ((ES):(DI))←(AX),② (DI)←(DI)±1 (字节操作),(DI)←(DI)±2 (字操作),其中,当DF=0时用“+”,当DF=1时用“−”。

      STOS指令对状态标志位没有影响指令若加上重复前缀REP,则操作将一直重复进行下去,直到(CX)=045,,⑶ STOS指令45,例4.12,将字符'#'装入以AREA为首址的100个字节中LEA DI,AREA,MOV AX,'##',MOV CX,50,CLD,REP STOSW,HLT,程序采用了送存50个字(‘##’),也可以采用送存100个字节('#')的方法这两种方法程序执行的结果是相同的,但前者执行速度要更快一些46,,例4.12 将字符'#'装入以AREA为首址的100,例4.13,一个数据块由大写或小写的英文字母、数字和各种其他符号组成,其结束符是回车符CR(ASCII码为0DH),数据块的首地址为BLOCK1将数据块传送到以BLOCK2为首地址的内存区,并将其中所用的英文小写字母(a~z)转换成相应的大写字母(A~Z),其余不变实现:判断,数据搬家,转换小写字母为大写前面已经讨论过英文小写字母与相应的大写字母的ASCII码之间有一定的关系,即只需将小写字母的ASCII码减20H,即可得到相应大写字母的ASCII码程序如下:,,47,,例4.13 一个数据块由大写或小写的英文字母、数字,LEA SI,BLOCK1 ;(SI)←源地址指针,LEA DI,BLOCK2 ;(DI)←目标地址指针,CLD ;清方向标志DF,NEXT:LODSB ;取一个字符到AL,CMP AL,0DH ;是否回车符,JZ DONE ;是,则转DONE,CMP AL,61H ;否则,是否小于'a',JC OK ;C=1,是小于'a',则转OK,CMP AL,7BH ;是否大于'z',JNC OK ;C=0,是大于'z' ,则转OK,SUB AL,20H ;否则,AL减20H,OK: STOSB ;送存,JMP NEXT ;转移到NEXT,DONE:HLT ;停止,程序使用回车符控制结束。

      并没有使用CX,,48,,LEA SI,BLOCK1 ;(SI)←源地址指针48,⑷ CMPS指令,CMPSB,或,CMPSW,以字节或字为单位进行两个存储器操作数的比较,可以使用REPE/REPZ前缀,,用源操作数-目的操作数,但并不送目的操作数,,与CMP指令可以比较[REPE/REPNE] CMPS [srg:]src_string,[ES:]dst_string,[REPE/REPNE] CMPSB,[REPE/REPNE] CMPSW,① ((DS):(SI)) − ((ES):(DI)),② (SI)←(SI),,1,(DI)←(DI),,1 (字节操作),(SI)←(SI),,2,(DI)←(DI),,2 (字操作),,CMPS指令与其他指令有所不同,指令中的源操作数在前,而目的操作数在后,,49,,⑷ CMPS指令CMPSB 或 CMPSW 以字节或字为单位,例4.14,比较两个字符串,找出其中第一个不相等字符的地址如果两个字符全部相同,则转到ALLMATCH进行处理这两个字符串长度均为20,首地址分别为STRING1和STRING2LEA SI,STRING1 ;(SI)←字符串1首地址,LEA DI,STRING2 ;(DI)←字符串2首地址,MOV CX,20 ;(CX)←字符串长度,CLD ;清方向标志DF,REPE CMPSB ;如相等,重复进行比较,JCXZ ALLMATCH ;若(CX)=0,跳至ALLMATCH,DEC SI ;,否则(SI) −1,修正地址,DEC DI ;,(DI) −1,使其指向所要寻找的不等字符,HLT ;停止,ALLMATCH:MOV SI,0,MOV DI,0,HLT ;停止,,,50,,例4.14 比较两个字符串,找出其中第一个不,⑸ SCAS指令,SCASB,或,SCASW,在数据串中,查找,AL或AX中的内容,可以使用REPNE/REPNZ前缀 。

      [REPE/REPNE] SCAS [ES:]dst_string,[REPE/REPNE] SCASB,[REPE/REPNE] SCASW,① (AL) − ((ES):(DI)) 或 (AX) − ((ES):(DI)),② (DI)←(DI),,1 (字节操作),(DI)←(DI),,2 (字操作),字符串的起始地址只能放在(ES:DI)中,不允许段超越51,,⑸ SCAS指令51,例4.15,在包含100个字符的字符串中寻找第一个回车符CR(其ASCII码为0DH),找到后将其地址保留在(ES:DI)中,并在屏幕上显示字符 'Y'如果字符串中没有回车符,则在屏幕上显示字符 'N'该字符串的首地址为STRINGLEA DI,STRING ;(DI)←字符串首址,MOV AL,0DH ;(AL)←回车符,MOV CX,100 ;(CX)←字符串长度,CLD ;清状态标志位DF,REPNE SCASB ;如未找到,重复扫描,JZ MATCH ;如找到,则转MATCH,MOV DL,'N' ;字符串中无回车,则(DL)←'N',JMP DSPY ;转到DSPY,MATCH:DEC DI ;(DI)←(DI) −1,MOV DL,'Y' ;(DL)←'Y',DSPY: MOV AH,02H,INT 21H ;显示字符,HLT,,52,,例4.15 在包含100个字符的字符串中寻找,表4.6 串操作指令的重复前缀、操作数和地址指针,,指 令,重 复 前 缀,操 作 数,地址指针寄存器,MOVS,REP,目的,源,ES:DI,DS:SI,LODS,无,源,DS:SI,STOS,REP,目的,ES:DI,CMPS,REPE/REPNE,源,目的,DS:SI,ES:DI,SCAS,REPE/REPNE,目的,ES:DI,,53,,表4.6 串操作指令的重复前缀、操作数和地址指针 指 令,作业,P150 10,12,,54,,作业P150 10,1254,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.