- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第3章-8088指令系统324
3.2 8088/8086指令系统 3.2.4 控制转移类指令 控制转移类指令用于实现分支、循环、过程等程序结构,是仅次于传送指令的常用指令 重点掌握: JMP/JC/LOOP/JCXZ CALL/RET * INT n/IRET 常用系统功能调用 目标地址的寻址范围:段内寻址 段内转移——近转移(near) 在当前代码段64KB范围内转移( ±32KB范围) 不需要更改CS段地址,只要改变IP偏移地址 段内转移——短转移(short) 转移范围可以用一个字节表达,在段内-128~+127范围的转移 目标地址的寻址范围:段间寻址 段间转移——远转移(far) 从当前代码段跳转到另一个代码段,可以在1MB范围 需要更改CS段地址和IP偏移地址 目标地址必须用一个32位数表达,叫做32位远指针,它就是逻辑地址 无条件转移指令 JMP 3000H ;段内转移、直接寻址IP=3000H JMP label ;段内转移、相对寻址IP←IP+位移量 ;label是要转向指令的标号 JMP AX ;段内转移、间接寻址IP=(AX) ;IP←r16/m16 JMP far ptr label ;段间转移、直接寻址 ;IP←偏移地址,CS←段地址 JMP far ptr [S I] ;段间转移,间接寻址 ;IP←[SI+1],[SI],CS← [SI+2],[SI+3] 举例 MOV BX, 3000H JMP BX IP=3000H MOV DI, 2500H JMP DWORD PTR [DI] IP= 举例:若AXBX, 则转向X处;若AX BX,转向Y处。 CMP AX, BX; 产生标志位 JA X JB (or JC) Y X: … Y: … (4). 测试CX值是否为0指令 功能:测试CX的值为0则转移: 格式 测试条件 JCXZ DST (CX)=0 4. 子程序调用和返回指令 子程序是完成特定功能的一段程序 当主程序(调用程序)需要执行这个功能时,采用CALL调用指令转移到该子程序的起始处执行 当运行完子程序功能后,采用RET返回指令回到主程序继续执行 子程序调用和返回指令 CALL RET 控制转移指令小结 无条件 段内、段间 条件 段内 控制转移类指令小结 JMP JZ/JE,JNZ/JNE,JS,JNS,JP/JPE,JNP/JPO,JO,JNO, JC/JB/JNAE,JNC/JNB/JAE,JBE/JNA,JNBE/JA, JL/JNGE,,JNL/JGE ,JLE/JNG ,JNLE/JG CALL,RET LOOP,LOOPZ/LOOPE ,LOOPNZ/LOOPNE *INT i8 ,IRET 3.2.6* 串操作指令 名称 格式 操作 字节串传送 MOVSB (DI) ←(SI),SI←SI+1,DI ← DI+1 字串传送 MOVSW (DI) ←(SI),SI ← SI+2,DI ← DI+2 字节串比较 CMPSB (SI)- (DI), SI ← SI+1,DI ← DI+1 字串比较 CMPSW (SI)-(DI), SI ← SI+2, DI ← DI+2 注:此4个指令前可加REP *REP: 使其后的操作重复执行,每执行一次,CX内容减1,直至CX内容为0. 3.2.6 串操作指令 ⒈ 串传送指令 MOVSB/MOVSW ⒉串比较指令 CMPSB/CMPSW ⒋ 取串指令LODSB/LODSW ⒌存串指令STOSB/STOSW 举例:将’*’装入1000H开始的100个字节单元. 程序段如下: MOV DI, 1000H MOV AL, ’*’ MOV CX, 64H CLD ;让DF=0,增量修改DI REP STOSB ;(DI)←(AL),(DI) ← (DI)+1 INT 20H (CX) ←(CX)-1 6.重复前缀指令REP REPZ REPNZ (1)REP REP前缀用在MOVS、STOS 、LODS指令前。 功能:每执行一次串指令(CX)-1,直到(CX)=0,重复执行结束。 例: MOV CX,08H REP MOVSB MOV AX,BX (2)REPZ 该指令一般用在CMPS、SCAS指令前。 功能:每执行一次串指令(CX)-1,并判断ZF标志是否为0,只要(C
您可能关注的文档
最近下载
- 第1课 家居清洁与整理技巧 课件 2023—2024学年苏教版初中劳动技术八年级下册.pptx VIP
- 黑龙江哈尔滨师范大学附属中学2024-2025学年高一上学期期末考试政治试题 含解析.docx VIP
- T_WSJD 18.14—2021_工作场所空气中化学因素测定煤焦油沥青挥发物、焦炉逸散物中苯溶物的称重法.pdf VIP
- 人教版七年级上册英语字帖.pdf VIP
- 湘2017J907 居住建筑节能65%围护结构构造图集.pdf
- 交通局交通安全培训.pptx VIP
- 西南财经大学答辩通用PPT模板.pptx VIP
- 2025年最新人教版八年级(初二)数学上册教学计划及进度表(新课标,新教材).docx
- 《近代文学》教学大纲.pdf VIP
- 2024美妆行业数字化转型白皮书.pdf VIP
文档评论(0)