微机原理及接口技术第三章-3_第1页
微机原理及接口技术第三章-3_第2页
微机原理及接口技术第三章-3_第3页
微机原理及接口技术第三章-3_第4页
微机原理及接口技术第三章-3_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二、8086/8088的指令系统(续)讳患瘟柠歉岗砌除位撂瘩屡饿艘嫌含命虑腥延狮曼哑确罐缅皱褪乎瘩漱筏微机原理及接口技术第三章-3微机原理及接口技术第三章-3二、8086/8088的指令系统(续)内容:3、逻辑运算和移位指令(一)逻辑运算指令(二)移位指令(三)循环移位指令4、串操作指令

(一)与REP相配合工作的MOVS、STOS、LODS指令(二)与REPE/REPZ和REPNE/REPNZ联合工作的CMPS和 SCAS指令砖底拎犊留希肯砰簧画苍剁工而件舆陨卒亥姓卯户这查玖贫胎浊张狡亩八微机原理及接口技术第三章-3微机原理及接口技术第三章-3(一)逻辑运算指令1、AND(Logicaland)逻辑“与”指令2、TEST(Testornon-destructivelogicaland)测试指令3、OR(Lgicalinclusiveor)逻辑“或”指令4、XOR(Logicalexclusiveor)逻辑“异或”指令5、NOT(Logicalnot)逻辑“非”指令碍碟秒姆涉慎憨性酌曲垒竹抡序唐焙达察篇赫芽塞捆讹顷拉失泵逗鸣周哦微机原理及接口技术第三章-3微机原理及接口技术第三章-31、AND(Logicaland)逻辑“与”指令格式:ANDdest,src;B/W,(dest)

(dest∧(src)

src:立即数、寄存器、存储器。 dest:寄存器、存储器。执行操作:进行“与”运算,两位中有一位为0(或二位都为0),则结果为0,否则为1。操作类型举例: ANDAL,0FH ;寄存器∧

立即数

ANDCX,DI ;寄存器∧寄存器 ANDSI,MEM_NAME;寄存器∧存储器 ANDALPHA[DI],AX;存储器∧寄存器ANDWORDPTR[BX][SI],0FFFEH;存储器∧立即数嗣仙薄罪储穿薄疗魁圾昨圈嗅山壤谴夏亥烘凶性败著蒋血琵举龟玩嚷距宏微机原理及接口技术第三章-3微机原理及接口技术第三章-3注意:

“与”指令中操作数不能同时为存储器;影响条件码:CF=0F=0,A未定义,SFZFPF ↕↕↕“与”指令的用途:(1) 清CF,自己“与”自己.操作数不变,CF=0 例:ANDAL; 结果:操作数不变,CF=0。

(2)使操作数中若干位保持不变,若干位与“1”相与; 而若干位置为“0“的场合,若干位与“0”相与。 例:

若(AL)=43H ANDAL,0FH ;(AL)=03H,(AL)0~3不变; ;(AL)4~7=00H,屏蔽高4位。 丽晦推缔枫词育丑轿滦馅页滴灰此宫悍弗舌郎拄休渺娱社膀歌组勃墓迟佩微机原理及接口技术第三章-3微机原理及接口技术第三章-3“与”指令应用举例:例1:将英文小写字母ASCII转换成大写。 小写英文字母ASCII为:‘a’~’z’61H~7AH

大写英文字母ASCII为:‘A’~’Z’41H~5AH程序: MOVAL,’z’ ANDAL,0DFH ;(AL)=5AH例2:判断键盘按下的字符是不是‘Y’?

MOVAH,7

INT 21H

;键入无回显,(AL)=输入键的字符码 ANDAL,0DFH CMPAL,‘Y’ JEYES …YES: … …01100001010000011101111161H41HDFH摸掇违惯播碰洗汤怯用谅孕浩仔动矫建锻啥渍睦习辅梆坎手瘫滑侈烂测啮微机原理及接口技术第三章-3微机原理及接口技术第三章-32、TEST(Testornon_destructivelogicaland)测试指令格式:TESTdest,src;(dest)∧(src)

src:立即数、寄存器、存储器。 dest:寄存器、存储器。执行操作:二个操作数相与的结果不存,置条件码。操作类型举例: TESTBH,7 ;寄存器∧立即数 TESTSI,BP ;寄存器∧寄存器 TESTDI,TABLE[BX] ;寄存器∧存储器 TEST[SI],CH ;存储器∧寄存器TESTwordptr[BX][DI],6ACEH;存储器∧立即数瘫其狈嗣沤耀畦槐刊洱描拾啸魁雄澎阳隶慕挟眉鼻及瓶痉尊叛历钠札雁碰微机原理及接口技术第三章-3微机原理及接口技术第三章-3用途: 常常用来检测一些条件是否满足,但又不希望改变原有的操作数的情况下,常在此指令后边加一条条件转移指令。例:判断A单元中数据的奇偶性设:(A)=0AEH程序:MOVAL,A ;(AL)=0AEH

TESTAL,01H JZEVEN ;结果=0为偶数转EVEN … 奇数处理 …

EVEN:偶数处理

检测(AL)的最低位是否为0,若为0转EVEN桅秽挤失舰贸透逸猫茸奢壕孪奴李缄同使芋碍趋埔暗负殴描雏猾宵割淘室微机原理及接口技术第三章-3微机原理及接口技术第三章-33、OR(Lgicalinclusiveor)逻辑“或”指令格式:ORdset,src;(dset)←(dset)(src)

dest:寄存器、存储器。 src:立即数、寄存器、存储器。执行操作:进行按位“或”运算两位操作数中任一位为1(或都为1), 则该位(结果)=1, 否则为0。操作类型举例: ORBL,0F6H ;寄存器立即数 ORAH,BL ;寄存器寄存器 OR CL,BETA[BX][DI] ;寄存器

存储器 OR GAMMA[SI],DX ;存储器

寄存器ORBYTEPTRMEM_BYTE,80H ;存储器

立即数啼沦秦乌参般冲桓汗飘接岁延脉瞬沥海薪污他皿粟种哀塌剖紫繁编桅瘩蒸微机原理及接口技术第三章-3微机原理及接口技术第三章-3注意:

“或”指令中操作数不能同时为存储器;影响条件码:CF=0F=0,A未定义,SFZFPF ↕↕↕用途:(1)清CF,自己与自己“或”,操作数不变,CF=0 例:ORAL;(AL)不变,CF=0(2)使某个操作数若干位保持不变,若干位与“0”或;

而若干位置1。若干位与“1”或。

(3)将两个操作数信息组合。若(AL)=03H用OR指令组合使(AL)=33H=’3’。ORAL,30H;(AL)=33H颤搂札幂琴仕学谢钠逛三卞演邯役衍侦掐代躲脉夷益近彝配傻骇枣购膛销微机原理及接口技术第三章-3微机原理及接口技术第三章-34、XOR(Logicalexclusiveor)逻辑“异或”指令格式:XORdset,src;B/W(dset)

(dset)

(src)

dest:寄存器、存储器。 src:立即数、寄存器、存储器。执行的操作:对指令的两个操作数进行按位“异或”运算。

二位不相同时为1,相同时为0。操作类型举例: XORDI,23F6HH ;寄存器

立即数 XORSI,DX ;寄存器

寄存器 XOR CL,BUFFER ;寄存器

存储器 XOR MEM[BX],AX ;存储器

寄存器XOR byteptrTABLE[BP][SI],3DH;存储器

立即数微膜捻氛挂广催穴冀古倡颁盼趁腆专钓锐辜陇稽陋终指影智蹬肄半蘑晚颐微机原理及接口技术第三章-3微机原理及接口技术第三章-3注意:

“或”指令中操作数不能同时为存储器;影响条件码:CF=0F=0,A未定义,SFZFPF ↕↕↕

用途:对某些特定位求反,某些特定位与“1”

其余位保持不变,保持不变与“0”

。应用举例:例1:将(AL)中的第1、3、5、7位求反 0、2、4、6位保持不变。 MOVAL,0FH XORAL,0AAH虐堑猖尧汛传肾吸蓬迷宰真丙焉鲜煌传旗皱肤贱蛆昏蔼币明浇满葛藩瞪蛊微机原理及接口技术第三章-3微机原理及接口技术第三章-3例2:比较三条(AX)清“0”指令:XORAX,AX ;清AX,清CF,2个字节,3个T。SUBAX,AX ;清AX,清CF,2个字节,3个T。MOVAX,0 ;清AX,不影响标志位,3个字节,4个T。

攒仔靳办韶果啊潞真抗帜淀授黔篇腕捅鞭挝为泥荤蚕盏况肚丙劣冒渝倔河微机原理及接口技术第三章-3微机原理及接口技术第三章-35、NOT(Logicalnot)逻辑“非”指令格式:NOTdest;B/W指令操作数只有一个,指令对操作数按位求反。执行操作:字节求反:(dest)

0FFH-(dest) 字求反:(dest

0FFFFH-(dest)

源操作数:寄存器、存储器。不能是立即数。影响标志位:对标志位无影响。操作类型举例:NOTAH ;8位寄存器求反 NOTCX ;16位寄存器求反 NOTBYTEPTR[BP] ;8位存储器求反 NOTWORDPTRCOUNT;16位存储器求反衙诡朱奶缀突撑委誓洼樟谚拖顿趣娃凌遭含关棱羚汞芦冷昌第窍盘惩甚样微机原理及接口技术第三章-3微机原理及接口技术第三章-3综合举例:1.使某些位置“0”。

INAL,61H;(AL)=××××××××B ↑设备控制寄存器 ↑想使此位为0执行指令:ANDAL,0FDH即可。2.使某些位置“1”。 INAL,61H;(AL)=××××××××执行指令:ORAL,02

↑想使此位为“1”3.使某些位求反: INAL,61H;(AL)=××××××0×

XORAL,02H⊕000000

10 ××××××1× 4.测试某些位(测奇偶性): 测试“奇”“偶”性。

见TEST指令的用途例子。譬铱搂佑诞垢冤咆堡肤卒捻肚鹅遍招严樊棘闪蜒隐苛巧障邻帖蛛扦鼎莹寐微机原理及接口技术第三章-3微机原理及接口技术第三章-3(二)移位指令(8086有8条移位指令):1、算逻移位指令(4条): SHL,SHR, SAL,SAR。(1)、SHL/SAL(Shiftlogicalleft/shiftarithmeticleft) 逻辑左移/算术左移指令(2)、SHR(Shiftlogicalright)逻辑右移指令(3)、SAR(Shiftarithmeticright)算术右移指令2、循环移位(4条):ROL,ROR,RCL,RCR。(1)、ROL(Rotateleft)不含CF循环左移指令(2)、ROR(Rotateright)不含CF循环右移指令(3)、RCL(Rotateleftthroughcarry)含CF循环左移指令(4)、RCR(Rotaterightthroughcarry)含CF循环右移指令稿咳优击筐蔡友令彦釉娇萧牌坪重羚跋陷寨庞感跪晕应攘拱跟绑昭酉孝朱微机原理及接口技术第三章-3微机原理及接口技术第三章-3共同点:所有移位指令都可以作B/W操作。

指令中的dest:寄存器、存储器寻址方式。

cnt:表示移位次数 cnt=1,1可写在指令中,不能是1以外的常数。

cnt>1,用CL存放移位次数,不能是其他寄存器。 如: SALAX,1 MOVCL,4 SALAX,CL利用移位指令编制*,/程序,执行时间比直接用*,/指令快,速度可提高5-6倍。澜疗碗亦妨斤带抓男授净脓明躺亥檀湃沦毕巾抡烛炔巍棚准铰连文造呈刊微机原理及接口技术第三章-3微机原理及接口技术第三章-31、算逻移位指令(4条):SHL,SHR, SAL,SAR

(1)、SHL/SAL(Shiftlogicalleft/shiftarithmeticleft) 逻辑左移/算术左移指令格式:SHLdest,cnt;逻辑左移指令,B/W SALdest,cnt;算术左移指令,B/Wdest:寄存器、存储器寻址方式。 cnt:表示移位次数 cnt=1,1可写在指令中。 cnt>1,用CL存放移位次数。森会履阿佛奠监陆碘允财也卓堰且亭额刮萤暖宣迪篙楔在誓披扯韩太帕赁微机原理及接口技术第三章-3微机原理及接口技术第三章-3执行操作:相当于无符号数的×2功能。SHL/SAL指令操作示意图如下图所示:指令格式举例: SHLAH,1 SALSI,CL SALWORDPTR[BX+5],1 SHLBYTEPTR,CL0CFdest椽晌咙捆剁泉郝挚盆嘻衣贸汀戈可任耐揩翱声纲闺烬嘱的顷峭翔仁问诬输微机原理及接口技术第三章-3微机原理及接口技术第三章-3(2)、SHR(Shiftlogicalright)逻辑右移指令格式:SHRdest,cnt;逻辑右移指令,B/W执行操作:相当于无符号数的÷2功能。 SHR指令操作示意图如下图所示: dest:寄存器、存储器寻址方式。指令格式举例: SHRBL,1 SHRAX,CL SHRBYTEPTR[DI+BP],1 SHRWORDPTRBLOCK,CLdestCF0淡请竹即错喂点宴苯伞绎鹰僳恼瞥分招实辣栈裁赎逃甚渠刻总医挂戳捐慎微机原理及接口技术第三章-3微机原理及接口技术第三章-3(3)、SAR(Shiftarithmeticright)算术右移指令格式:SARdest,cnt;算术右移指令,B/W执行操作:相当于带符号数的÷2功能 SAR指令操作示意图如下图所示dset

dest:寄存器、存储器寻址方式。指令格式举例:

SARAL,1 SHRDL,CL SHRWORDPTRTABLE[SI],1 SHRBYTEPTRSTATUS,CLCF刹桔曹津久治东疆鬃种绣枪陕罪藏占玩队浮邀室驰膛惮耕炬惜歹圈走赏祥微机原理及接口技术第三章-3微机原理及接口技术第三章-32、循环移位(4条):ROL,ROR,RCL,RCR。共同点:

ROL、ROR不含CF循环移位指令,操作数移动8次后还原。

RCL、RCR含CF循环移位指令,操作数移动9次后还原。

影响标志OF、CFROL、RCL影响标志OF、CF情况相同;ROR、RCR影响标志OF、CF情况相同。 SF、ZF、PF、AF不影响。赁紊蛛正巍院甥聘格诗共霓雀债碑急涂乏赦肚泵蛛叼狠腻秒厢鸥订秀谊周微机原理及接口技术第三章-3微机原理及接口技术第三章-3(1)、ROL(Rotateleft)不含CF循环左移指令格式:ROLdest,cnt;不含CF循环左移指令,B/W执行操作:ROL指令操作示意图如下图所示

移动8次后操作数还原。CFdest指令格式举例:

ROLBH,1 ROLDX,CL ROLWORDPTRTABLE[DI],1 ROLBYTEPTRALPHA,CL随沤蜗妊斯瞅镐拈坠杉室郡嚣栽铀欧览辞稽尧贷秤冗吧钎拓颠之拘娘千煞微机原理及接口技术第三章-3微机原理及接口技术第三章-3(2)、ROR(Rotateright)不含CF循环右移指令格式:RORdest,cnt;不含CF循环右移指令,B/W执行操作:ROR指令操作示意图如下图所示

右移8次后操作数还原。CFdest指令格式举例:

RORCX,1 ROLBH,CL ROLBYTEPTRBETA,1 ROLWORDPTRCOUNT,CL甜卖泉隆累躲琉镰酝诸帖虫钧彪陇昆捡虚樊盐清费霉萄衬袁错蔫湾妮侧琶微机原理及接口技术第三章-3微机原理及接口技术第三章-3(3)、RCL(Rotateleftthroughcarry)含CF循环左移指令格式:RCRdest,cnt;含CF循环左移指令,B/W执行操作:RCL指令操作示意图如下图所示

左移9次后操作数还原。CFdest指令格式举例:

RCLBX,1 RCLDL,CL RCLBYTEPTRARRAY[DI],1 RCLWORDPTR[SI+BP],CL影响标志:RCL与ROL影响标志OF、CF情况相同脯孔边臻赏哈现公挂酞醇招溅巴刹瘤讽济迎萌怜密埔装闷恳稚忽敷裹商堤微机原理及接口技术第三章-3微机原理及接口技术第三章-3(4)、RCR(Rotaterightthroughcarry)含CF循环右移指令格式:RCRdest,cnt;含CF循环左移指令,B/W执行操作:RCR指令操作示意图如下图所示

右移9次后操作数还原。CFdest指令格式举例:

RCRDI,1 RCRSI,CL RCRWORDPTR[SI+BX+3],1 RCLBYTEPTRPORT,CL影响标志:RCR与ROR影响标志OF、CF情况相同怖消后公奔墅薪枕筹椎硝砧破服匝吸埃欠廷在都眠霞丑杖屿明水浚礼朔敢微机原理及接口技术第三章-3微机原理及接口技术第三章-3循环移位指令(Rotate)与移位指令(Shift)不同点:循环移位指令移位后,操作数中原来各数位的信息不会丢失,这是移动了位置,必要时可以恢复。循环移位指令可以对操作数进行测试。例:测试(AL)5=?0 MOVCL,3

ROLAL,CL JNCZERO …ZERO: … …培蛛题肠阅蚕篮坠季参塞末缴雁圈征锄氮浇捣斤营也同杯泼蜂灾夫良颐硫微机原理及接口技术第三章-3微机原理及接口技术第三章-34、串操作指令(Stringmanipulation)“串”就是内存中一段地址相连的字节或字。

串操作—对串中各项进行操作,也叫数据块操作。8086有5种基本操作:(1)MOVS(Movestring)串传送指令(2)CMPS(Comparestring)串比较指令(3)SCAS(Scanstring)串扫描指令(4)LODS(Loadfromstring)从串取指令(5)STOS(Storeintostring)存入串指令廉捞刁铡俄店财拱啼饰闹吐沧蕴荫葵浚抒喂庄吩纺谦瞄苫钱铁倔昆勒滞稻微机原理及接口技术第三章-3微机原理及接口技术第三章-3共同点:

可以只有源操作数,可以只有目标操作数,可能二者都有。源操作数用SI寻址,隐含DS值为段地址,可以用段跨越前缀指定其它段。目标操作数用DI寻址,隐含ES为段地址。每次操作对SI、DI调整:

DF=1,DI、SI自动-1(字节)或-2(字); DF=0,DI、SI自动+1(字节)或+2(字)。与上述指令基本配合使用前缀有:REP(Repeat)重复。

REPE/REPZ(Repeatwhileequal/zero)相等/为零则重复。

REPNE/REPNZ(Repeatwhilenotequal/notzero)不相等/不为零则重复。帘骏鸵渴绦贱久嚣朝阎环核书间沂搞吏掌褪豹赢莱善膜和蚂芍背赠魁高腔微机原理及接口技术第三章-3微机原理及接口技术第三章-3下面分二种情况来讨论:(一)与REP相配合工作的MOVS、STOS、LODS指令

REP重复串操作直到(CX)=0为止(二)与REPE/REPZ和REPNE/REPNZ联合工作的CMPS和SCAS指令

REPE/REPZ当相等/为零时重复串操作REPNE/REPNZ当不相等/不为零时重复串操作钾盼滥篙村虱笑泻汉聊制拆溢秒播佣怒应遥若猴琐吁狂但铁傅减拟舌尤迁微机原理及接口技术第三章-3微机原理及接口技术第三章-3(一)与REP相配合工作的MOVS、STOS、LODS指令

REP重复串操作直到(CX)=0为止格式:REPStringPrimitive串指令

StringPrimitive可为:MOVS、STOS、LODS。MOVS(MoveString)串传送LODS(LoadfromString)从串取指令STOS(StoreintoString)存入串指令沂轻舵蓝收喘贪怔拒竖鉴袄玄暖岿嘴嘿蔡尖似讼嫁床仿吾还污西拦野饭雁微机原理及接口技术第三章-3微机原理及接口技术第三章-3

REP重复串操作执行过程:(1)当(CX)=0,结束REP,执行REP后的下一条指令。(2)当(CX)≠0,(CX)(CX)-1

,(3)执行REP后的串指令,(4)重复(1)~(3)。REP执行流程图坪营次舌崭侯陕管谐裤慑驰循饱幸干守筹绩购臂夹绝沪狈尽噎诧饭糊仑胰微机原理及接口技术第三章-3微机原理及接口技术第三章-3MOVS(Movestring)串传送串传送有3种格式:(1) MOVSdest,src;((ES):(DI))←((DS)(SI))MOVSB(字节);(SI)←(SI)±1,(DI)←(DI)±1MOVSW(字);(SI)←(SI)±2,(DI)←(DI)±2

当方向标志CLD,DF=0时用“+”

STD,DF=1时用“-”

该指令不影响条件码。

*

MOV单指令不能完成

存储单元之间的数据传送;

MOVS指令就是为解决存储单元之间数据传送而设置的。差钉浩戒汁剩乐瑚腰弊冻埔鸥丧压惺熙掠喂羡暂叉陇鳞拙滴坪厚狠蘑位俞微机原理及接口技术第三章-3微机原理及接口技术第三章-3例:将内存的数据段中以AREA1为首地址的100个数据,传送到附加段中的AREA2为首地址的区域。用MOVS串操作指令编程: MOVAX,SEGAREA1 MOVDS,AX MOVAX,SEGAREA2 MOVES,AX

MOVSI,OFFSETAREA1 MOVDI,OFFSETAREA2 MOVCX,100

CLD ;DF=0,增址传送

REPMOVSAREA1,AREA2级盒翠蹲菲恃碉蚕校毕蠢酉少韩侮臆兔蓝西暮吨及孺躺啤峰蛊讫介倚楼信微机原理及接口技术第三章-3微机原理及接口技术第三章-3应用MOV指令编程: MOVAX,SEGAREA1 MOVDS,AX MOVAX,SEGAREA2 MOVES,AX MOVSI,OFFSETAREA1;将ARE1偏移地址→SI MOVDI,OFFSETAREA2 MOVCX,100LOOP1:MOVAL,[SI] ;(AL)←((DS):(SI))

MOVES:[DI],AL;((ES):(DI))←(AL) INCSI INCDI DECCX JNELOOP1扭侮里王年荚变吁羽喷钱懒鲜誉病协亡芍主版患杆常折欲融抹夏缮作真蜒微机原理及接口技术第三章-3微机原理及接口技术第三章-3归纳在执行MOVS指令时,应该先做好以下准备工作:(1)数据段中源串首地址(或反向传送末地址)存入SI寄存中。(2)附加段中目的串首地址(或反向传送末地址)存入DI寄存中。(3)

数据串长度存入CX寄存器。(4)建立方向标志

建立方向标志介绍两条指令:CLD(cleardirectionflag) 功能:DF=0,执行串处理指令时可以使地址自动+1或+2。STD(setdirectionflag) 功能:DF=1,执行串处理指令时可以使地址自动-1或-2。植犀晨拯徐陆怔鸿霉穿康舌垂沼榨嫌菱悯诡浦避镶认箩斗冕设存片邦科遍微机原理及接口技术第三章-3微机原理及接口技术第三章-3LODS(Loadfromstring)从串取指令从串取指令有3种格式:LODSsrc;(字节)(AL)

((DS):(SI)),(SI)

(SI)±1 (字)(AX)

((DS):(SI)),(SI)

(SI)±2LODSB(字节);(AL)

((DS):(SI)),(SI)

(SI)±1LODSW(字);(AX)

((DS):(SI)),(SI)

(SI)±2功能:该指令把由(SI)指定的数据段中某单元内容

(AL) 或(AX)中。 DF=0,(SI)←(SI)+1或+2 DF=1,(SI)←(SI)-1或-2镑叶旅倪逃茶励糙懈踞偏葬氰将绣奋洽酸傻轨填知搪架财碍甭个氨梳鼻妖微机原理及接口技术第三章-3微机原理及接口技术第三章-3LODS应用注意:(1)指令允许用段跨越前缀来指定非数据段的存储区。(2)该指令不影响条件码。一般说来,它不与REP联用,每重复一次,累加器的内容就改变一次。(AL)中只能保持最后一个元素。有时缓冲区中的一串字符需要多次取出测试时可用本指令。救肚耗渍罢皱奠状零踩踏榷祥侍朴暇坐突扶酷廊赐课未肥咕缴壕轩任萄蓖微机原理及接口技术第三章-3微机原理及接口技术第三章-3

3STOS(Storeintostring)存入串指令

将(AL)或(AX)

((ES):(DI)),(DI)±1或±2(DI)存入串指令有3种格式:STOSdest;(字节)((ES):(DI))

(AL),(DI)

(DI)±1 (字)((ES):(DI))

(AX),(DI)

(DI)±2(2)STOSB(字节);((ES):(DI))

(AL),(DI)

(DI)±1(3)STOSW(字);((ES):(DI))

(AX),(DI)

(DI)±2用途:与REP联用时,(CX)←缓冲区长度。用来建立一串相同值。限委层庇侥谆原丫资滑惶衷躺赂霍遵枯隋哇低楞作咙酷醇梅辊房舜凛宏故微机原理及接口技术第三章-3微机原理及接口技术第三章-3例:在附加段STORE开始存5个空格程序:MOVAL,20H;‘_’

(AL)MOVCX,5MOVDI,OFFSETSTORECLD

REPSTOSB;((ES):(DI))

(AL) (DI)

(DI)+1咯踊莲敲检套摸寸辫叠挎氏旅毖沸杠略橇倡哈态陨焚砚脆认煞边榔效波讽微机原理及接口技术第三章-3微机原理及接口技术第三章-3(二)与REPE/REPZ和REPNE/REPNZ联合工作的CMPS和SCAS指令

REPNE/REPNZ当不相等/不为零时重复串操作REPE/REPZ当相等/为零时重复串操作迁带黎树寞缓蟹捡爬姥渝岸闽锗槐攒斋要闽焕搬滞臻冶雏佩蔬责臭列瑶壤微机原理及接口技术第三章-3微机原理及接口技术第三章-3执行过程:当(CX)=0,结束REPZ, 执行REPZ下一条指令;(2)当(CX)≠0,将CX的内容减1, 执行REPZ后的串指令;(3)当ZF=1,返回(1);(4)当ZF≠1,则结束REPZ 执行REPZ下一条指令。注意:◆ (CX)减1操作不影响标志◆ ZF标志由串操作决定◆ 当(CX)=0或ZF=0时退出循环REPE/REPZ当相等/为零时重复串操作惯解看沮抱拇斡讳茬抢刹只贰柏藐摹曹够怜向区素躲吃茹哩阑胎摔呐逢倒微机原理及接口技术第三章-3微机原理及接口技术第三章-3执行过程:当(CX)=0,结束REPNZ, 执行REPNZ下一条指令。(2)当(CX)≠0,将CX的内容减1,执行REPNZ后的串指令。 当ZF=0,返回(1); 当ZF≠0,则结束REPNZ,(4)执行REPNZ下一条指令。注意:◆

(CX)减1操作不影响标志◆ ZF标志由串操作决定◆当(CX)=0或ZF=1时退出循环REPNZ执行流程

REPNE/REPNZ当不相等/不为零时重复串操作菩惮件忽咒外呐滴酝族缴汝毡乔汕遂先稗汽观劣脆泞凭裕落厦原用番莉赫微机原理及接口技术第三章-3微机原理及接口技术第三章-31、CMPS(Comparestring)串比较指令(SI)—作为源串地址,(DI)—目的串地址串比较指令有3种格式:(1) CMPSdest,src;((ES):(DI)-(DS):(SI)),结果不存,置标志CMPSB(字节);(SI)

(SI)±1,(DI)←(DI)±1CMPSW(字);(SI)

(SI)±2,(DI)

(DI)±2执行操作:((ES):(DI)-(DS):(SI)),结果不存,置标志。字节操作:(SI)

(SI)±1,(DI)←(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论