第三章节(2009-6).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章节(2009-6)

MOVSB ;[SI] → [DI] SI±1 → SI DI±1 → DI CMPSB ;[SI]-[DI] SI±1 → SI DI±1 → DI SCASW ; AX -[DI] DI±2 → DI LODSD ; [SI] → EAX SI±4→ SI 2)字符串指令的有关问题 ●指针及修改 源串指针:SI,默认源串在DS所指的数据段。 目的串指针:DI,默认目的串在ES所指的数据段。 指针修改方向:DF,0为增址方向;1为减址方向。 STD指令将DF置1;CLD指令将DF清0。 ●对标志的影响 仅有CMPS、SCAS影响所有状态标志,其他指令不影响。 例:将数据段中7个字节的字符串MESS1传送到数组MESS2。 CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX .486 DATA SEGMENT MESS1 DB ‘abcdefg’ LEN EQU $-MESS1 MESS2 DB LEN DUP(0) DATA ENDS LEA SI,MESS1 ;源指针 LEA DI,MESS2 ;目的指针 MOV CX,7 ;循环次数 CLD ;增址方向 MOVSB ;传送 PRO_END:MOV AH,4CH INT 21H CODE ENDS END START AGN: LOOP AGN ;循环 ●基本指令的重复执行 以上基本指令均为单步指令,可加重复前缀使指令重复执行,重复次数由CX指定。 REP:使其后的基本指令重复执行,直到CX=0为止。一般加在MOVSB、STOSB、INSB、OUTSB指令前。 CLD REP MOVSB ;[SI]→[DI] DI+1→DI SI+1 →SI CX-1 → CX CX≠0,重复 REP MOVSB 例1:将STR1的连续100个字节单元的数据传送给STR2中。 LEA SI,STR1 LEA DI,STR2 MOV CX,100 CLD …… ;DF=0,增址 ;源串指针 ;目的串指针 ;循环次数 STR1 DB 100 DUP(20) STR2 DB 100 DUP(0) …… REPE/REPZ:条件满足时,重复执行其后的基本指令。 重复执行的条件为:CX≠0且ZF=1。 比较目的串与源串是否相同,一般加在CMPSB指令前。 REPNE/REPNZ:条件满足时,重复执行其后的基本指令, 重复执行的条件为:CX≠0且ZF=0。 在字符串中查找指定字符,一般加在SCASB指令前。 输入格式: IN AL, PORT ;(PORT) → AL IN AX, PORT 输出格式: OUT PORT, AL/AX ;AL/AX → (PORT) 3)I/O指令 IN/OUT 直接寻址的I/O指令 IN AL,9FH OUT 80H, AL DX间址的I/O指令 MOV DX,310H IN AL,DX 二 、算术运算类指令 1)基本四则运算 加/减法指令 ADD/SUB ADD SUB OP1,OP2 ;OP1 OP1±OP2 例:ADD AL,BL ;设 AL=17H, BL=09H, CF=1, 则指令执行后 AL= BL= CF= SF= ZF= 20H 09H 0 0 0 带进/借位加/减法指令ADC/SBB ADC SBB OP1,OP2 ;OP1 OP1±OP2 ±CF OP1、OP2不能同时为存储器操作数,OP1不能是立即数。 例:ADC DL,BL ;设 DL=17H, BL=09H, CF=1, 则指令执行后 DL= BL= CF= SF= ZF= 21H 09H 0 0 0 该类指令要影响所有状态标志。 加1 /减1指令INC /DEC 格式: INC DEC OP1 ;OP1 OP1±1 该类指令不影响CF标志 例:INC CX 执行前:CX=1234H,CF=1;执行后:CX= CF= 1235H 1 求补指令NEG 格式: NEG OP1 ;OP1 0-OP1 交换加法指令XADD 格式: XADD OP1,OP2 OP1 OP1+OP2 ; OP2 OP1 例: MOV BL,1

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档