《微机原理与接口技术》02_2 8086指令系统.pptVIP

  • 6
  • 0
  • 约1.95万字
  • 约 86页
  • 2017-05-08 发布于浙江
  • 举报

《微机原理与接口技术》02_2 8086指令系统.ppt

四、字串比较指令: CMPSB / CMPSW ;SRC - DST 字 操 作指令: CMPSW 字节操作指令: CMPSB 功 能: [SI]— [DI] DI ? DI 1( 2) SI ? SI 1( 2) DF=1时,减;DF=0时,加。 操作结果影响标志位。 五、字串检索指令:SCASB / SCASW 操作: AL (AX)— [DI] DI ? DI 1( 2) 用AL或AX中的一个字串和位于ES段 由DI指出的内存单元的字节或字比较。 功能:从一个字串中查找一个与AL或 AX中 不同的字符,或寻找一个相同的字符。 例2. 从地址为1000单元开始,存放256个字节的字符串,找出第一个字符 $ (ASCII码24H),将$的第一个地址存入BX中,否则将BX清零. 1)分析: 要求找指定字符$, 可以用指令SCASB; 重复前缀用REPNZ,表示 表示两个字串比较不相等时 继续,否则退出循环 $的地址应为多少? 10 31 33 24 45 DI DI 1000H 1001H 1002H 1003H …. 2) 程序段: MOV DI, 1000H ;送目标串首地址 MOV CX, 256 CLD ;清方向标志 MOV AL, ‘$’ REPNZ SCANB JZ ZER ;没找到$,转 DEC DI ;退回到$所在地址 MOV BX,DI ;$所在地址送BX JMP ST0 ZER: MOV BX,0 ST0: HLT 使用SCASB / SCASW 注意: 目的字串默认在ES段中,字串首址由DI指出。 寻找与AL中字节相同的第一个字节,用 REPNZ SCASB,若找到,退出循环; 若字串中没有任何字节与AL的内容相同, 退出循环。 六、取字串指令:LODSB / LODSW 执行的操作:AL(AX) ? [SI] SI ? SI 1( 2) 将位于DS段由SI指出的内存单元的字 节或字的内容取到AL或AX中。 注意:因为取来的字或字节放在AX或AL中, LODSB / LODSW前面不能加前缀。 例3:将0404H单元开始的256单元清零。 CLD ;清方向标志 LEA DI,[0404H] ;DI指向字串地址 MOV CX,256 ; 共256个字节 XOR AX,AX ;AX清零 REP STOSB HLT 执行的操作: [DI] ? AL(AX) DI ? DI 1( 2) 把AL或AX中的一个字串存到位ES段由DI指出的内存单元,并自动修改地址。 七、存储指令:STOSB / STOSW 3-3-5 控制转移指令 转移和调用指令的寻址 子程序调用和返回指令 无条件转移和条件转移指令 循环控制指令 中断指令 处理器控制指令 一、无条件转移指令和条件转移指令 1 无条件转移指令 段内直接转移 JMP 1000H ;IP ? IP+1000H 段内间接转移 JMP BX ;IP ? (BX) 段间直接转移 JMP FAR PTR OPR IP

文档评论(0)

1亿VIP精品文档

相关文档