《汇编语言程序设计教程》 第七章 常用数据结构

第7章常用数据结构 7.1数组与内存块 7.2字符串处理 7.3结构 7.4链表 7.5函数指针 7.6程序执行环境
第7章 常用数据结构 7.1 数组与内存块 7.2 字符串处理 7.3 结构 7.4 链表 7.5 函数指针 7.6 程序执行环境

7.1数组与内存块 数组是内存中的一块连续数据单元 ■数组中的元素大小固定,类型相同 组连续的数据单元称为内存块 ■数组,字符串和结构都可以看成是一个 内存块
7.1 数组与内存块 ◼ 数组是内存中的一块连续数据单元 ◼ 数组中的元素大小固定,类型相同 ◼ 一组连续的数据单元称为内存块 ◼ 数组,字符串和结构都可以看成是一个 内存块

7.1.1块操作 块操作指令一共有5种 指令名称 功能 MOSB, MOWSW MOVSD,将一个内存操作数复制到另一个内存操作数 CMPSB. CMPSW CMPSD,比较两个内存操作数的大小 SCASB. SCASW SCASD 将内存操作数与AL,AX,EA比较 STOSB. STOSW STOSD 将AL,AX,EAX保存在内存操作数中 LODSE, LODSW LODSD,读入内存操作数放入AL,AX,EA中
7.1.1 块操作 块操作指令一共有5种

块操作指令的用法 1.操作数的大小 指令后面的B,W,D分别代表字节、字、双字 2.源操作数和目的操作数 源操作数是DS:[ESI]所指向的内存单元; 目标操作数是ES:[EDI所指向的内存单元 方向标志和地址指针的修改 块操作指令会自动地修改ESI和EDI
块操作指令的用法 1.操作数的大小 指令后面的B, W, D分别代表字节、字、双字 2.源操作数和目的操作数 源操作数是DS:[ESI]所指向的内存单元; 目标操作数是ES:[EDI]所指向的内存单元 3.方向标志和地址指针的修改 块操作指令会自动地修改ESI和EDI

操作数的大小决定增加或减小的单位 4.重复前缀 ■可以和块操作指令联合使用 有3种形式:REP,REPZ, REPNZ n放在块操作指令的前面
操作数的大小决定增加或减小的单位 4.重复前缀 ◼ 可以和块操作指令联合使用 ◼ 有3种形式:REP,REPZ,REPNZ ◼ 放在块操作指令的前面

5种块操作指令的功能 (1) MOVSB/W/D将ESI所指向的字节/字/双字复制到EDI 所指向的字节/字/双字。 (2) CMPSB/W/D将ESI和EDI所指向的字节/字/双字进行 比较。 (3) SCASB/W/D将EDI所指向的字节/字/双字和 AL/AX/EAX进行比较 (4) STOSB/W/D将ALAX/EAX保存到EDI所指向的字节/字 /双字中 (5) LODSB/W/D将ESI所指向的字节/字/双字读入到 AL/AX/EAX中
5种块操作指令的功能 (1)MOVSB/W/D将ESI所指向的字节/字/双字复制到EDI 所指向的字节/字/双字。 (2)CMPSB/W/D将ESI和EDI所指向的字节/字/双字进行 比较。 ( 3 ) SCASB/W/D 将 EDI 所 指 向 的 字 节 / 字 / 双 字 和 AL/AX/EAX进行比较。 (4)STOSB/W/D将AL/AX/EAX保存到EDI所指向的字节/字 /双字中。 (5)LODSB/W/D将ESI所指向的字节/字/双字读入到 AL/AX/EAX中

3种重复前缀的用法 (1)前缀为REP时,重复次数固定为ECX。 REP和MOVS,STO0S,LODS联合使用 (2)前缀为REPZ时,重复次数最大为ECX。 ■REPZ和OMPS,SCAS联合使用。 ■如果在比较或扫描时,ZF=0,不再重复。 (3)前缀为 RENZ时,重复次数最大为ECX ■ RENZ和CMPS,SCAS联合使用 ■如果在比较或扫描时,ZF=1,不再重复
3种重复前缀的用法 (1)前缀为REP时,重复次数固定为ECX。 REP和MOVS,STOS,LODS联合使用。 (2)前缀为REPZ时,重复次数最大为ECX。 ◼ REPZ和CMPS,SCAS联合使用。 ◼ 如果在比较或扫描时,ZF=0,不再重复。 (3)前缀为REPNZ时,重复次数最大为ECX。 ◼ REPNZ和CMPS,SCAS联合使用。 ◼ 如果在比较或扫描时,ZF=1,不再重复

7.1.2块传送指令 MOVSB/W/D将操作数从一个内存单元传 送到另一个内存单元,它和REP前缀同时 使用,将一个内存块(源数据块)复制 到另一个内存块(目标数据块)
7.1.2 块传送指令 MOVSB/W/D将操作数从一个内存单元传 送到另一个内存单元,它和REP前缀同时 使用,将一个内存块(源数据块)复制 到另一个内存块(目标数据块)

1.数组的复制 下面的程序将数组 Array1复制给 Array2 Array l dWord1,10,100,1000,10000 Array2 DWORD 5 DUP(O) LEA ESI, Array LEA EDI, Array2 CLD MOV ECX. 5 REP MOVSD 每次, MOVSD传送一个双字,ESI,EDI自动加4, 指向下一个双字,ECX自动减1
1.数组的复制 下面的程序将数组Array1复制给Array2 Array1 DWORD 1, 10, 100, 1000, 10000 Array2 DWORD 5 DUP (0) LEA ESI, Array1 LEA EDI, Array2 CLD MOV ECX, 5 REP MOVSD 每次,MOVSD传送一个双字,ESI,EDI自动加4, 指向下一个双字,ECX自动减1

2.从字符串中删除一个字符 一行字符存储在缓冲区 In Buffer中 In Buffer byte Hellox World! 0 把X删掉的指令代码为 LEA ESI. NbUffer+6 ESⅠ指向字符 LEA EDI. NbUffer+5 ED指向字符’x CLD 地址由低至高 mov ecx. 8 传送8次 REP MOVSB 以字节为单位传送
2.从字符串中删除一个字符 一行字符存储在缓冲区InBuffer中 InBuffer BYTE 'Hellox World!', 0 把X删掉的指令代码为 LEA ESI, InBuffer+6 ; ESI指向字符' ' LEA EDI, InBuffer+5 ; EDI指向字符'x' CLD ; 地址由低至高 MOV ECX, 8 ; 传送8次 REP MOVSB ; 以字节为单位传送
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《汇编语言程序设计教程》 第六章 子程序设计.ppt
- 《汇编语言程序设计教程》 第五章 分支与循环程序设计.ppt
- 《汇编语言程序设计教程》 第四章 数据操作.ppt
- 《汇编语言程序设计教程》 第三章 Windows汇编程序基础.ppt
- 《汇编语言程序设计教程》 第二章 Intel80x86系列微处理器.ppt
- 《汇编语言程序设计教程》 第一章 基础知识.ppt
- 《C语言》课程教学资源(作业习题)实例试题100题.doc
- 《网络程序设计》PPT电子课件(共三章).ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第九章(9-2) 面向对象设计.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第九章 远程软工.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第八章 面向对象分析.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第八章 远程软工.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第七章(7-2) 面向对象软件工程的概念.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第七章 远程软工.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第六章(6-2) 远程软工.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第六章 软件维护.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第五章 软件测试续.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第五章 软件测试.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第四章 软件设计.ppt
- 西安交通大学软件学院:《面向对象的软件工程》 第三章 软件需求分析.ppt
- 《汇编语言程序设计教程》 第八章 汇编语言高级编程技术.ppt
- 《汇编语言程序设计教程》 第九章 I/0程序设计.ppt
- 《汇编语言程序设计教程》 第十章 保护模式及其编程.ppt
- 黑龙江八一农垦大学:《计算机辅助设计》课程教学大纲(草业科学及园林专业).doc
- 黑龙江八一农垦大学:《计算机辅助设计》理论课程各章电子教案.doc
- 《计算机辅助设计》AutoCAD教程讲义(共十章).doc
- 《高级程序设计语言》 第一章 C语言概述.ppt
- 《高级程序设计语言》 第七章 数组.ppt
- 《高级程序设计语言》 第三章 数据类型、运算符与表达式.ppt
- 《高级程序设计语言》 第二章 程序的灵魂——算法.ppt
- 《高级程序设计语言》 第五章 选择结构程序设计.ppt
- 《高级程序设计语言》 第八章 函数.ppt
- 《高级程序设计语言》 第六章 循环控制.ppt
- 《高级程序设计语言》 第十一章 结构体与公用体.ppt
- 《高级程序设计语言》 第十章 指针.ppt
- 《高级程序设计语言》 第四章 顺序程序设计.ppt
- 上海交通大学:《接口技术》 实验教学大纲.doc
- 上海交通大学:《微机原理与接口技术》课程PPT教学课件(微型计算机技术)目录(孙德文).ppt
- 上海交通大学:《微机原理与接口技术》课程PPT教学课件(微型计算机技术)第十章 微型计算机系统实用接口技术.ppt
- 上海交通大学:《微机原理与接口技术》课程PPT教学课件(微型计算机技术)第七章 中断.ppt