- 59
- 0
- 约4.01万字
- 约 140页
- 2017-05-29 发布于北京
- 举报
隐含约定: ①源串: 起始地址(或末地址)为DS:SI。源串允许使用段超越前缀来修改段地址。 ②目的串: 起始地址(或末地址)为ES:DI。目的串不允许使用段超越前缀修改ES。如果要在同一段内进行串运算,必须使DS和ES指向同一段。 ③指针: 每执行一次字符串指令,指针SI和DI会自动修改,以指向下一个待操作单元。 ④DF标志: 控制字符串处理的方向。 DF=0为递增方向。DS:SI指向源串首地址,每执行一次串操作:字节串操作时,SI、DI分别增1;字串操作时,SI和DI分别增2; DF=1为递减方向。DS:SI指向源串末地址,每执行一次串操作:字节串操作时减l;字串操作时减2。 STD使DF置1,CLD将DF清0。 ⑤串长度: 要处理的字符串长度(字节或字数)放在CX寄存器中。 重复前缀: ①功能: 在基本指令前加重复前缀,可加快串运算指令的执行速度。 每重复执行一次,地址指针SI和DI按方向标志自动修改,CX的值自动减1。 ②类型与格式: REP ;无条件重复(Repeat) REPE/REPZ ;相等/结果为零则重复(Repeat while Equal/Zero) REPNE/REPNZ ;不相等/结果非零则重复 (Repeat while Not Equal/Not Zero) ③重复前缀的运用: REP常与 (MOVS)连用,连续传送字符串。 直到传送完毕,即CX=0为止。 REPE和REPZ常与 (CMPS)连用,连续比较字符串。 当两个字符串相等(ZF=1)和CX≠0时,则重复进行比较,直到ZF=0或CX=0为止。 REPNE和REPNZ常与 (SCAS)连用,当结果非0(ZF=0)和CX≠0时,重复进行扫描,直到ZF=1或CX=0为止。 带有重复前缀的串指令执行过程中允许有中断进入。 1.MOVS字符串传送指令(Move String): 指令格式:MOVSB 和MOVSW 指令功能:SI作指针的源串中的一个字节或字→DI作指针的目的串; 自动修改指针SI和DI。 应用: ▲解决MOV指令不能直接在存储单元间进行数据传送的问题。 ▲若使用重复前缀,还可以利用一条指令传送一批数据。 例3.75 要求把数据段中以SRC_MESS为偏移地址的一串字符“HELLO!”,传送到附加段中以NEW_LOC开始的单元中。 解:DATA SEGMENT ;数据段 SRC_MESS DB ‘HELLO!’ ;源串 DATA ENDS ; EXTRA SEGMENT ;附加段 NEW_LOC DB 6 DUP(?) ;存放目的串 EXTRA ENDS ; CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:EXTRA START: MOV AX,DATA MOV DS,AX ;DS=数据段段址 MOV AX,EXTRA MOV ES,AX ;ES=附加段段址 LEA SI,SRC_MESS ;SI指向源串偏移地址 LEA DI,NEW_LOC ;DI指向目的串偏移地址 MOV CX,6 ;CX作串长度计数器 CLD ;清方向标志,地址增量 REP MOVSB ;重复传送串中各字节,直到CX=0 其中“REP MOVSB”指令可用以下几条指令代替: AGAIN: MOVSB DEC CX JNZ AGAIN? 2.CMPS
您可能关注的文档
最近下载
- 电子倍增层背散射效应对增益及噪声的影响研究.pdf
- 弹簧模型-2023年高考物理动量常用模型模拟题精练(解析版).pdf VIP
- REF615使用操作说明书 (1).pdf
- (高清版)DB33 686-2019 机制纸板和卷烟纸单位产品能耗限额及计算方法.pdf VIP
- 7.3 世界上最大的黄土堆积区—黄土高原 第2课时(教学课件)-2025-2026学年八年级地理下册(人教版2024).pptx
- 深度解析(2026)《SFT 0074-2020耕地和林地破坏司法鉴定技术规范》.pptx VIP
- 2024年贵州省高考生物真题卷(含答案与解析)_7674.pdf VIP
- 弹簧模型-动量守恒的十种模型2025高考物理专项复习含答案.pdf VIP
- 市政协领导班子2024年民主生活会对照检查发言材料(四个带头).docx VIP
- 市政协副主席2024年民主生活会对照检查材料(四个带头).docx VIP
原创力文档

文档评论(0)