- 1
- 0
- 约4.31万字
- 约 24页
- 2017-08-05 发布于河南
- 举报
汇编语言第五章 程序设计其它方法与技术
程序设计的其它方法和技术
本章内容:
串处理
宏指令
模块化程序设计。
字符串操作
串:存贮区连续存放的一组字节或字组成的数据。可以是字符、数字等。
串的基本操作:传送MOVS、搜索SCAS、比较CMPS、存贮STOS、取LODS。
目的:简化编程。
使用串指令的初始条件:
源操作数用DS:[SI]寻址;
目的操作数用ES:[DI]寻址;
传送、搜索、存贮、取串的方向由DF标志决定;
CLD指令:清方向标志,DF=0,使SI、DI增量修改;
STD指令:置方向标志,DF=1,使SI、DI减量修改。
串指令前面可使用重复操作前缀。
重复前缀:
REP无条件重复。执行操作:
如(CX)=0则退出REP,否则往下执行。
(CX)–1→CX。
执行其后的串指令(MOVS、LODS、STOS)。
重复①~③。
REPE / REPZ比较相等或为0时重复,执行操作:
如(CX)=0或ZF=0(即某次比较的结果两操作数不等),则退出,否则往下执行。
(CX)–1→CX。
执行其后的串指令(CMPS、SCAS)。
重复①~③。
REPNE / REPNZ当不相等或不为0时重复,执行操作:
(CX)=0或ZF=1(即某次比较的结果两操作数相等),则退出,否则往下执行。
(CX)–1→CX。
执行其后的串指令(CMPS、SCAS)。
重复①~③。
串传送指令
格式:MOVS OPD, OPS
MOVSB; 字节串传送
MOVSW; 字串传送
功能:DS:[SI] → ES:[DI]。
当DF=0时,SI+1(或2)→SI,DI+1(或2)→DI;
当DF=1时,SI–1(或2)→SI,DI–1(或2)→DI。
例:将以STR1为首址的字节存贮区中存放的字符串送到STR2为首址的字节存贮区中。
DATA SEGMENTSTR1 DB
DATA SEGMENT
STR1 DB ‘ABCD’
CON EQU $–STR1
STR2 DB CON DUP(0)
DATA ENDS
;
CODE SEGMENT
ASSUME DS:DATA, CS: CODE, ES:DATA
START: MOV AX, DATA
MOV DS, AX
MOV ES, AX
LEA SI, STR1
LEA DI, STR2
MOV CX, CON
CLD
REP MOVSB
MOV AH, 4CH
INT 21H
CODE ENDS
END START
语句:REP MOVSB
语句:REP MOVSB可写为:
L1: MOV AX, STR1[SI]
MOV STR2[DI], AX
INC SI
INC DI
DEC CX
JNZ L1
串比较指令
格式:CMP OPD, OPS
CMPSB; 字节串比较
CMPSW; 字串比较
功能:([SI])―([DI])影响标志位。
当DF=0时,SI+1(或2)→SI,DI+1(或2)→DI;
当DF=1时,SI–1(或2)→SI,DI–1(或2)→DI。
例:从键盘输入一字符串STR1,比较STR1和STR2是否相等。如果相等,则将0→BX,否则将FFFFH→BX。
DATA SEGMENTSTR1 DB 80
DATA SEGMENT
STR1 DB 80
DB 0
DB 80 DUP(0)
STR2 DB ‘STRING’
CON EQU $–STR2
DATA ENDS
;
CODE SEGMENT
ASSUME DS:DATA, ES:DATA, CS:CODE
START: MOV AX, DATA
MOV DS, AX
MOV ES, AX
LEA DX, STR1
MOV AH, 10
INT 21H
MOV AL, STR1+1; 比较数组长度
CMP AL, CON
JNE EXIT
LEA SI, STR1+2
LEA DI, STR2
MOV CX, CON
CLD
REPZ CMPSB; 逐个比较是否相等
JNE EXIT; 不等,转EXIT
MOV BX, 0
JMP L1
EXIT: MOV BX, 0FFFFH
L1: MOV AH, 4CH
INT 21H
CODE ENDS
END START
注意:
REPZ CMPSB
JNE EXIT
其中:JNE判断的不是CX–1的情况,而是([SI])―([DI])的情况。
串搜索指令
格式:SCAS OPD
SCASB; 字节
SCASW; 字串
功能:
AL(字节)或AX(字)-([DI])结果不回送,影响标志位。
当DF=0时,DI+1(或2)→DI;
当DF=1时,D
您可能关注的文档
- 换档操纵手柄(变速杆)正确使用.doc
- 换向火花产生原因和换向正常化检查常用方法.doc
- 接地变压器作用.doc
- 接地距离保护和零序电流保护配合才能构成完整接地保护.doc
- 接地电阻要求.doc
- 接触点调查法:一套简单有效市场调查方法.doc
- 接触器正反转实物接线方法.doc
- 接触型胶粘剂研发进展和应用分析.doc
- 揭示不同蘑菇营养价值与功效.doc
- 揭示生存荒谬.doc
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 广东省广州市花都区中考化学一模试卷 (2).doc VIP
- 隋玉杰-个案工作 第七章-个案工作的主要理论派别(下).pptx VIP
- 2025年江西省从“五方面人员”中选拔乡镇领导班子成员考试历年参考题库含答案详解.docx VIP
- 隋玉杰-个案工作 第八章-儿童辅导.pptx VIP
- 亲子关系量表-pianta编制-张晓,陈会昌修订.docx VIP
- 新《增值税法实施条例》逐条解读课件PPT.pptx
- 2025年湖南交通职业技术学院单招语文考试模拟试题及答案解析.docx VIP
- 2025至2030中国半导体控制整流器行业市场占有率及投资前景评估规划报告.docx VIP
- 药物应用护理第一第二节.ppt VIP
- GB50021-2024岩土工程勘察规范(附条文说明).pptx VIP
原创力文档

文档评论(0)