第 4 章 汇编语言程序设计基本方法 微型计算机原理与应用 教学课件
第 4 章汇编语言程序设计基本方法 4. 2 8086/8088 指令系统 4.3汇编语言程序设计的基本方法 4.4汇编语言程序的编辑、 汇编与连接 4.5程 序 的 调 试 LEADI, STRING#; MOVCX, LENG#; MOVAL, ′A′#; REPNESCASB#; JNENO-FOUND 程序中的语句REPNE SCASB完成的是重复地进行(AL)与ES:DI所指单元的内容比较,直到(AL)=((DI))(即找到)或(CX)=0(即没找到)时为止。因此,该语句结束时有两种可能, 当ZF=1 时即为找到而结束,当ZF=0 时为没找到而结束。 例 4.3.22 要求在内存某缓冲区BUFFER中搜索一个指定的字符串,若在BUFFER中不存在该字符串,则返回标志位ZF=0; 若存在则ZF=1,且将该字符串的第 1 个字母在缓冲区中的地址送入ES:DI。 我们以过程的形式给出该程序,调用该过程的入口参数为:DS中为要搜索的字符串的段地址;BX中为该字符串的偏移地址; DX中为该串的长度。 程序如下: ******************************* * 子程序名: SRCH*#; * 子程序功能: 在某缓冲区中搜索一个指定的字符串* * 入口参数: 要搜索的字符串的首地址存于DS:BX中, 字* * 符串的长度存于DX中, 某缓冲区为指定内*#; * 存区BUFFER* * 出口参数: ZF=0, 缓冲区中不存在该串* * ZF=1, 缓冲区中有该串, 其首址在ES:DI中* * [CM(6]所用寄存器: AX,BX,CX,DX,DS,ES,SI,DI* ******************************* CODES SEGMENT#; ASSUME CS:CODES#; SRCHPROCFAR#; MOVAX, SEG BUFFER; 取缓冲区段地址 MOVES, AX#; MOVDI, OFFSET BUFFER; 取缓冲区首地址 MOVAX, OFFSET BUFEND; 取缓冲区末地址 SUBAX, DX#; CLD#; SRCH1:CMPDI, AX; DI所指位置到缓冲区末尾还有一个串的长度吗? JANOT-FOUND; 没有则结束(且没找到) MOVSI, BX; 有则继续搜索 MOVCX, DX#; PUSHDI#; REPECMPS STRING, BUFFER#; POPDI#; JEFND#; INCDI#; JMPSRCH1#; NOT-FOUND:#; FND:RET#; SRCHENDP#; CODESENDS#=[HT5SS] 程序中用到的数据段的内容为: DATAFSEGMENT#; BUFFERDB 50H DUP(?)#; BUFENDLABEL BYTE#; DATAFENDS#; DATASSEGMENT#; STRINGDB 10H DUP(?)#; DATASENDS 程序说明: (1) 例中的程序是以子程序的形式给出的, 数据段中的内容是应该由主程序(调用程序)建立的。不同的主程序可以有不同的内容, 但必须有BUFFER缓冲区。 ? (2) 在搜索过程中地址指针DI不断下移, 当移到缓冲区中已不够一个串的长度时,程序就结束并说明已找不到这个串了。 (3) 程序中在字符串比较指令CMPS前将DI的内容保存于堆栈中, 这是为了记下被找到串的首地址的。 4.3.9宏指令 宏指令是利用CPU指令系统中已有指令按照一定的规则定义的新的指令。宏指令的功能是根据用户需要自己确定的。 宏指令一旦定义,在源程序中就可以像其它指令一样使用, 宏指令的引用称为宏调用。不过,CPU指令系统中所提供的指令在汇编时,一条指令只对应一条机器指令码,而一条宏指令在汇编后往往对应几条甚至几十条机器指令码,正是这样,有了宏指令后,可以对源程序的编写带来方便。 1. 宏定义 由于宏指令不是指令系统提供的,所以,必须定义后才能使用。 宏指令的定义是利用伪指令来实现的。 定义格式为: 宏指令名MACRO〈形式参数〉 … ENDM 宏体 宏指
您可能关注的文档
- 第 3 章微机系统中的微处理器 微型计算机原理与应用 教学课件.ppt
- 第 4 章 货币市场与利率 银行考试相关课件.ppt
- 第 3 章: 变量、数据类型和表达式 《Visual C# 程序设计语言》 教学课件.ppt
- 第 4 章 异常 计算机系JAVA培训讲义.ppt
- 第 4 章 静态场边值问题的解法 电磁场与电磁波教案 教学课件.ppt
- 第 3章交流电路 电工电子技术与技能教学课件.ppt
- 第 4 章 光端机 光纤通信 教学课件.ppt
- 第 5 章 多模块程序设计 微型计算机原理与应用 教学课件.ppt
- 第 4章 指令系统 可编程序控制器原理及应用 教学课件.ppt
- 第 5 章 局域网交换 高级计算机网络 教学课件.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- 2026《隧道贯通误差预计计算案例》4000字.docx
- 2022-2023学年北京市丰台区高二(下)期末数学试卷(附答案详解).docx VIP
- 5m盐酸溶液的配制 -回复.pdf VIP
- 小学低段音乐课堂管理方法的研究课题资料(包含申请表、开题报告、实施方案、结题报告等).pdf VIP
- 2026年新疆工程学院辅导员招聘备考题库最新.docx VIP
- 2026年新疆财经大学辅导员招聘备考题库必考题.docx VIP
- 2026年新疆农业大学辅导员招聘备考题库附答案.docx VIP
- 现代金属凝固技术课件(9056KB).ppt VIP
- 现代材料凝固技术.ppt VIP
- TG5焚烧炉OG200C说明书翻译20120222.pdf
原创力文档

文档评论(0)