中文名: 80x86汇编语言程序设计教程 版本: [PDF] 发行时间: 1998年 地区: 大陆 简介: 本书分为三部分。第一部分是基础部分,以8086/8088为背景,以DOS和PC兼容机为软硬件平台,以MASM和TASM为汇编器,介绍汇编语言的有关概念,讲解汇编语言程序设计技术。第二部分是提高部分,以80386为背景,以新一代微处理器Pentium为目标,细致和通俗地介绍了保护方式下的有关概念,系统和详细地讲解了保护方式下的编程技术,真实和生动地展示了保护方式下的编程细节。第三部分是上机实验指导。 本书的第一部分适合初学者,可作为学习汇编语言程序设计的教材。本书的第二部分适合已基本掌握8086/8088汇编语言的程序员,可作为学习保护方式编程技术的教材或参考书,也可作为其他人员了解高档微处理器和保护方式编程技术的参考书,还可作为程序员透彻地了解Windows程序设计技术的参考书。 第一部分 基础部分 第1章 绪论 1.1 汇编语言概述 1.1.1 汇编语言 1.1.2 汇编语言的特点 1.1.3 恰当地使用汇编语言 1.2 数据的表示和类型 1.2.1 数值数据的表示 1.2.2 非数值数据的表示 1.2.3 基本数据类型 1.3 Intel系列CPU简介 1.3.1 8位微处理器 1.3.2 16位微处理器 1.3.3 32位微处理器 1.3.4 Pentium和Pentium Pro 1.4 习题 第2章 8086/8088寻址方式和指令系统 2.1 8086/8088寄存器组 2.1.1 8086/8088 CPU寄存器组 2.1.2 标志寄存器 2.2 存储器分段和地址的形成 2.2.1 存储单元的地址和内容 2.2.2 存储器的分段 2.2.3 物理地址的形成 2.2.4 段寄存器的引用 2.3 8086/8088的寻址方式 2.3.1 立即寻址方式 2.3.2 寄存器寻址方式 2.3.3 直接寻址方式 2.3.4 寄存器间接寻址方式 2.3.5 寄存器相对寻址方式 2.3.6 基址加变址寻址方式 2.3.7 相对基址加变址寻址方式 2.4 8086/8088指令系统 2.4.1 指令集说明 2.4.2 数据传送指令 2.4.3 堆栈操作指令 2.4.4 标志操作指令 2.4.5 加减运算指令 2.4.6 乘除运算指令 2.4.7 逻辑运算和移位指令 2.4.8 转移指令 2.5 习题 第3章 汇编语言及其程序设计初步 3.1 汇编语言的语句 3.1.1 语句的种类和格式 3.1.2 数值表达式 3.1.3 地址表达式 3.2 变量和标号 3.2.1 数据定义语句 3.2.2 变量和标号 3.3 常用伪指令语句和源程序组织 3.3.1 符号定义语句 3.3.2 段定义语句 3.3.3 汇编语言源程序的组织 3.4 顺序程序设计 3.4.1 顺序程序举例 3.4.2 简单查表法代码转换 3.4.3 查表法求函数值 3.5 分支程序设计 3.5.1 分支程序举例 3.5.2 利用地址表实现多向分支 3.6 循环程序设计 3.6.1 循环程序举例 3.6.2 多重循环程序举例 3.7 习题 第4章 子程序设计和DOS功能调用 4.1 子程序设计 4.1.1 过程调用和返回指令 4.1.2 过程定义语句 4.1.3 子程序举例 4.1.4 子程序说明信息 4.1.5 寄存器的保护与恢复 4.2 主程序与子程序间的参数传递 4.2.1 利用寄存器传递参数 4.2.2 利用约定存储单元传递参数 4.2.3 利用堆栈传递参数 4.2.4 利用CALL后续区传递参数 4.3 DOS功能调用及应用 4.3.1 DOS功能调用概述 4.3.2 基本I/O功能调用 4.3.3 应用举例 4.4 磁盘文件管理及应用 4.4.1 DOS磁盘文件管理功能调用 4.4.2 应用举例 4.5 子程序的递归和重入 4.5.1 递归子程序 4.5.2 可重入子程序 4.6 习题 第5章 输入输出与中断 5.1输 入和输出的基本概念 5.1.1 I/O端口地址和I/O指令 5.1.2 数据传送方式 5.1.3 存取RT/CMOS RAM 5.2 查询方式传送数据 5.2.1 查询传送方式 5.2.2 读实时钟 5.2.3 查询方式打印输出 5.3 中断 5.3.1 中断和中断传送方式 5.3.2 中断向量表 5.3.3 中断响应过程 5.3.4 外部中断 5.3.5 内部中断 5.3.6 中断优先级和中断嵌套 5.3.7 中断处理程序的设计 5.4 基本输入输出系统BIOS 5.4.1 基本输入输出系统BIOS概述 5.4.2 键盘输入 5.4.3 显示输出 5.4.4 打印输出 5.5 软中断处理程序举例 5.5.1 打印I/O程序 5.5.2 时钟显示程序 5.6 习题 第6章 简单应用程序的设计 6.1 字符串处理 6.1.1 字符串操作指令 6.1.2 重复前缀 6.1.3 字符串操作举例 6.2 十进制数算术运算调整指令及应用 6.2.1 组合BCD码的算术运算调整指令 6.2.2 未组合BCD码的算术运算调整指令 6.2.3 应用举例 6.3 DOS程序段前缀和特殊情况处理程序 6.3.1 DOS程序段前缀PSP 6.3.2 对Ctrl+C键和Ctrl+Break键的处理 6.4 TSR程序设计举例 6.4.1 驻留的时钟显示程序 6.4.2 热键激活的TSR程序 6.5 习题 第7章 高级汇编语言技术 7.1 结构和记录 7.1.1 结构 7.1.2 记录 7.2 宏 7.2.1 宏指令的定义和使用 7.2.2 宏指令的用途 7.2.3 宏指令中参数的使用 7.2.4 特殊的宏运算符 7.2.5 宏与子程序的区别 7.2.6 与宏有关的伪指令 7.2.7 宏定义的嵌套 7.3 重复汇编 7.3.1 伪指令REPT 7.3.2 伪指令IRP 7.3.3 伪指令IRPC 7.4 条件汇编 7.4.1 条件汇编伪指令 7.4.2 条件汇编与宏结合 7.5 源程序的结合 7.5.1 源程序的结合 7.5.2 宏库的使用 7.6 习题 第8章 模块化程序设计技术 8.1 段的完整定义 8.1.1 完整的段定义 8.1.2 关于堆栈段的说明 8.1.3 段组的说明和使用 8.2 段的简化定义 8.2.1 存储模型说明伪指令 8.2.2 简化的段定义伪指令 8.2.3 存储模型说明伪指令的隐含动作 8.3 模块间的通信 8.3.1 伪指令PUBLIC和伪指令EXTRN 8.3.2 模块间的转移 8.3.3 模块间的信息传递 8.4 子程序库 8.4.1 子程序库 8.4.2 建立子程序库 8.4.3 使用举例 8.5 编写供Turbo C调用的函数 8.5.1 汇编格式的编译结果 8.5.2 汇编模块应该遵守的约定 8.5.3 参数传递和寄存器保护 8.5.4 举例 8.6 习题 第二部分 提高部分 第9章 80386程序设计基础 9.1 80386寄存器 9.1.1 通用寄存器 9.1.2 段寄存器 9.1.3 指令指针和标志寄存器 9.2 80386存储器寻址 9.2.1 存储器寻址基本概念 9.2.2 灵活的存储器寻址方式 9.2.3 支持各种数据结构 9.3 80386指令集 9.3.1 数据传送指令 9.3.2 算术运算指令 9.3.3 逻辑运算和移位指令 9.3.4 控制转移指令 9.3.5 串操作指令 9.3.6 高级语言支持指令 9.3.7 条件字节设置指令 9.3.8 位操作指令 9.3.9 处理器控制指令 9.4 实方式下的程序设计 9.4.1 说明 9.4.2 实例 9.5 习题 第10章 保护方式下的80386及其编程 10.1 保护方式简述 10.1.1 存储管理机制 10.1.2 保护机制 10.2 分段管理机制 10.2.1 段定义和虚拟地址到线性地址转换 10.2.2 存储段描述符 10 2.3 全局和局部描述符表 10.2.4 段选择子 10.2.5 段描述符高速缓冲寄存器 10.3 80386控制寄存器和系统地址寄存器 10.3.1 控制寄存器 10 3.2 系统地址寄存器 10.4 实方式与保护方式切换实例 10.4.1 演示实方式和保护方式切换的实例(实例一) 10.4.2 演示32位代码段和16位代码段切换的实例(实例二) 10.5 任务状态段和控制门 10.5.1 系统段描述符 10.5.2 门描述符 10.5.3 任务状态段 10.6 控制转移 10.6.1 任务内无特权级变换的转移 10.6.2 演示任务内无特权级变换转移的实例(实例三) 10.6.3 任务内不同特权级的变换 10.6.4 演示任务内特权级变换的实例(实例四) 10.6.5 任务切换 10.6.6 演示任务切换的实例(实例五) 10.7 80386的中断和异常 10.7.1 80386的中断和异常 10.7.2 异常类型 10.7.3 中断和异常的转移方法 10.7.4 演示中断处理的实例(实例六) 10.7.5 演示异常处理的实例(实例七) 10.7.6 各种转移途径小结 10.8 操作系统类指令 10.8.1 实方式和任何特权级下可执行的指令 10.8.2 实方式及特权级0下可执行的指令 10 8.3 只能在保护方式下执行的指令 10.8.4 显示关键寄存器内容的实例(实例八) 10.8.5 特权指令 10.9 输入/输出保护 10.9.1 输入/输出保护 10.9.2 重要标志保护 10.9.3 演示输入/输出保护的实例(实例九) 10.10 分页管理机制 10.10.1 存储器分页管理机制 10.10.2 线性地址到物理地址的转换 10.10.3 页级保护和虚拟存储器支持 10.10.4 页异常 10.10.5 演示分页机制的实例(实例十) 10.11 虚拟8086方式 10.11.1 V86方式 10.11.2 进入和离开V86方式 10.11.3 演示进入和离开V86方式的实例(实例十一) 10.11.4 V86方式下的敏感指令 10.12 习题 第11章 80486及Pentium程序设计基础 11.1 80486程序设计基础 11.1.1 寄存器 11.1.2 指令系统 11.1.3 片上超高速缓存 11.2 80486对调试的支持 11 2.1 调试寄存器 11.2.2 演示调试故障/陷阶的实例 11.3 Pentium程序设计基础 11.3.1 寄存器 11.3.2 指令系统 11.3.3 处理器的识别 11.3.4 片上超高速缓存 11.4 基于Pentium的程序优化技术 11.4.1 流水线优化技术 11.4.2 分支优化技术 11.4.3 超高速缓存代化技术 11.5 习题 第三部分 上机实验指导 第12章 实验指导 12.1 实验的一般步骤 12.2 汇编器和连接器的使用 12.2.1 MASM的使用 12.2.2 LINK的使用 12.2.3 TASM的使用 12.2.4 TLINK的使用 12.3 调试器DEBUG的使用 12.3.1 启动和退出DEBUG 12.3.2 命令一览 12.3.3 利用DEBUG调试程序 12.4 Turbo Debugger的使用 12.4.1 启动和退出TD 12.4.2 利用TD调试汇编程序 ### 80X86汇编语言程序设计 #### 第一部分:基础部分 **1.1 汇编语言概述** - **汇编语言**:一种低级编程语言,使用助记符代替机器语言指令,使得程序员能够更容易理解和编写程序。它与特定的计算机体系结构紧密相关。 - **汇编语言的特点**: - **直接映射**:每一行汇编语言指令通常对应一条机器语言指令。 - **易读性**:比纯机器语言易于理解,因为使用了助记符。 - **高效性**:可以生成非常高效的代码。 - **难以移植**:针对特定的硬件架构编写,难以跨平台使用。 - **恰当地使用汇编语言**:适用于需要高性能或直接访问硬件资源的应用场景,如操作系统核心、设备驱动、嵌入式系统等。 **1.2 数据的表示和类型** - **数值数据的表示**: - **二进制表示**:最基础的数据表示形式。 - **十六进制表示**:用于简化长串二进制数的书写。 - **非数值数据的表示**: - **ASCII码**:常用字符的编码标准。 - **Unicode编码**:支持全球各种语言的字符集。 - **基本数据类型**: - **字节**:通常为8位。 - **字**:根据处理器的不同,可以是16位或32位。 - **双字**:通常是32位或64位。 **1.3 Intel系列CPU简介** - **8位微处理器**:例如Intel 8080。 - **16位微处理器**:例如Intel 8086/8088。 - **32位微处理器**:例如Intel 80386。 - **Pentium和Pentium Pro**:分别代表了Intel早期的32位微处理器系列和高端处理器系列。 **2.1 8086/8088寄存器组** - **8086/8088 CPU寄存器组**: - **通用寄存器**:如AX、BX、CX、DX。 - **指针寄存器**:如BP(基址指针)和SP(栈顶指针)。 - **段寄存器**:如CS(代码段)、DS(数据段)、SS(栈段)、ES(附加段)。 - **标志寄存器**:包含了处理器的状态标志和控制标志。 **2.2 存储器分段和地址的形成** - **存储单元的地址和内容**:每个存储单元都有唯一的地址。 - **存储器的分段**:将内存划分为多个段,每个段有自己的段基址。 - **物理地址的形成**:通过段基址与偏移地址相加以得到。 - **段寄存器的引用**:每个段都有对应的段寄存器,用于存放段基址。 **2.3 8086/8088的寻址方式** - **立即寻址方式**:操作数直接包含在指令中。 - **寄存器寻址方式**:操作数位于寄存器中。 - **直接寻址方式**:操作数位于指定的内存位置。 - **寄存器间接寻址方式**:操作数位于寄存器指向的内存位置。 - **寄存器相对寻址方式**:操作数位于某个寄存器值加上一个偏移量的位置。 - **基址加变址寻址方式**:操作数位于基址寄存器值加上变址寄存器值的位置。 - **相对基址加变址寻址方式**:操作数位于基址寄存器值加上变址寄存器值再加上一个偏移量的位置。 **2.4 8086/8088指令系统** - **指令集说明**:详细介绍了8086/8088处理器的所有指令。 - **数据传送指令**:如MOV(移动)、XCHG(交换)。 - **堆栈操作指令**:如PUSH(压栈)、POP(弹栈)。 - **标志操作指令**:如CLC(清除进位标志)、STC(设置进位标志)。 - **加减运算指令**:如ADD(加法)、SUB(减法)。 - **乘除运算指令**:如MUL(乘法)、DIV(除法)。 - **逻辑运算和移位指令**:如AND(按位与)、OR(按位或)、SHL(左移)、SHR(右移)。 - **转移指令**:如JMP(跳转)、JZ(跳转到零)。 **3.1 汇编语言的语句** - **语句的种类和格式**:汇编语言中的语句包括指令语句、伪指令语句和注释。 - **数值表达式**:使用数字、符号和运算符构成的表达式。 - **地址表达式**:表示内存地址的表达式。 **3.2 变量和标号** - **数据定义语句**:用于定义变量和常量。 - **变量和标号**:变量用于存储数据,标号用于标记位置。 **3.3 常用伪指令语句和源程序组织** - **符号定义语句**:用于定义符号。 - **段定义语句**:用于定义代码段、数据段等。 - **汇编语言源程序的组织**:包括代码段、数据段、堆栈段等。 **3.4 顺序程序设计** - **顺序程序举例**:通过一系列连续执行的指令来完成特定任务。 - **简单查表法代码转换**:利用查找表来进行简单的数据转换。 - **查表法求函数值**:通过查找表来计算函数值。 **3.5 分支程序设计** - **分支程序举例**:根据条件判断来决定程序的执行路径。 - **利用地址表实现多向分支**:通过地址表来实现多路分支。 **3.6 循环程序设计** - **循环程序举例**:通过循环结构重复执行一段代码。 - **多重循环程序举例**:使用嵌套循环来处理更复杂的问题。 **4.1 子程序设计** - **过程调用和返回指令**:如CALL(调用)、RET(返回)。 - **过程定义语句**:定义子程序。 - **子程序举例**:展示如何编写和调用子程序。 - **子程序说明信息**:提供关于子程序的描述和使用指南。 - **寄存器的保护与恢复**:在调用子程序前后保护和恢复寄存器的内容。 **4.2 主程序与子程序间的参数传递** - **利用寄存器传递参数**:直接使用寄存器传递参数。 - **利用约定存储单元传递参数**:使用预先定义的存储单元。 - **利用堆栈传递参数**:将参数压入堆栈。 - **利用CALL后续区传递参数**:在CALL指令后的指令序列中传递参数。 **4.3 DOS功能调用及应用** - **DOS功能调用概述**:介绍DOS系统提供的功能调用接口。 - **基本I/O功能调用**:如INT 21H中断,用于文件操作、输入输出等。 - **应用举例**:展示如何使用DOS功能调用来实现特定功能。 **4.4 磁盘文件管理及应用** - **DOS磁盘文件管理功能调用**:如打开文件、读取文件、关闭文件等。 - **应用举例**:通过实例演示文件管理的具体操作。 **4.5 子程序的递归和重入** - **递归子程序**:子程序内部调用自身。 - **可重入子程序**:多个线程或进程可以同时安全地调用同一子程序。 **5.1 输入和输出的基本概念** - **I/O端口地址和I/O指令**:介绍输入输出端口和相关的IN、OUT指令。 - **数据传送方式**:如查询方式、中断方式等。 **5.2 查询方式传送数据** - **查询传送方式**:通过不断查询设备状态来传送数据。 - **读实时钟**:使用查询方式来读取实时钟。 - **查询方式打印输出**:通过查询方式控制打印机输出。 **5.3 中断** - **中断和中断传送方式**:当外部事件发生时,处理器暂停当前执行的任务,转去处理该事件。 - **中断向量表**:存储中断服务程序入口地址的表格。 - **中断响应过程**:包括保存现场、执行中断服务程序、恢复现场等步骤。 - **外部中断**:由外部硬件触发的中断。 - **内部中断**:由软件指令触发的中断。 - **中断优先级和中断嵌套**:中断可以按照优先级进行处理,高级中断可以打断低级中断的处理。 - **中断处理程序的设计**:包括中断处理的流程和注意事项。 **5.4 基本输入输出系统BIOS** - **基本输入输出系统BIOS概述**:介绍BIOS的基本功能。 - **键盘输入**:通过BIOS功能调用来处理键盘输入。 - **显示输出**:通过BIOS功能调用来实现屏幕显示。 - **打印输出**:通过BIOS功能调用来控制打印机。 **5.5 软中断处理程序举例** - **打印I/O程序**:通过软中断实现打印功能。 - **时钟显示程序**:通过软中断获取并显示时间。 #### 第二部分:提高部分 **9.1 80386寄存器** - **通用寄存器**:增加了EAX、EBX、ECX、EDX等32位寄存器。 - **段寄存器**:保持了8086/8088的段寄存器,但在32位模式下有了新的作用。 - **指令指针和标志寄存器**:提供了更多的标志位和控制功能。 **9.2 80386存储器寻址** - **存储器寻址基本概念**:介绍了32位模式下的寻址方式。 - **灵活的存储器寻址方式**:提供了多种寻址组合,提高了编程灵活性。 - **支持各种数据结构**:可以方便地处理复杂的数据结构。 **9.3 80386指令集** - **数据传送指令**:扩展了数据传送指令,支持32位操作。 - **算术运算指令**:增加了更多32位算术运算指令。 - **逻辑运算和移位指令**:支持更复杂的逻辑操作和移位操作。 - **控制转移指令**:提供了更多的分支和循环控制指令。 - **串操作指令**:增强了字符串处理能力。 - **高级语言支持指令**:支持更高级别的编程语言特性。 - **条件字节设置指令**:可以根据条件设置标志位。 - **位操作指令**:支持位级别的操作。 - **处理器控制指令**:提供了对处理器状态的控制指令。 **9.4 实方式下的程序设计** - **说明**:介绍在实模式下进行程序设计的方法。 - **实例**:通过具体实例演示实模式下的编程技术。 **10.1 保护方式简述** - **存储管理机制**:通过段描述符表、全局描述符表等管理内存。 - **保护机制**:确保不同程序之间不会相互干扰。 **10.2 分段管理机制** - **段定义和虚拟地址到线性地址转换**:介绍了虚拟地址空间的概念。 - **存储段描述符**:存储段属性和线性地址基址。 - **全局和局部描述符表**:分别存储全局和局部段描述符。 - **段选择子**:用于标识段描述符。 - **段描述符高速缓冲寄存器**:加速段描述符的访问。 **10.3 80386控制寄存器和系统地址寄存器** - **控制寄存器**:控制处理器的各种特性。 - **系统地址寄存器**:用于存储处理器状态和配置信息。 **10.4 实方式与保护方式切换实例** - **演示实方式和保护方式切换的实例**:通过具体例子展示了如何从实模式切换到保护模式。 - **演示32位代码段和16位代码段切换的实例**:展示了不同位宽代码段之间的切换方法。 **10.5 任务状态段和控制门** - **系统段描述符**:描述了系统段的属性。 - **门描述符**:用于控制任务之间的转移。 - **任务状态段**:包含了任务状态信息。 **10.6 控制转移** - **任务内无特权级变换的转移**:在相同特权级内的转移。 - **任务内不同特权级的变换**:在不同特权级之间的转移。 - **任务切换**:完全切换到另一个任务。 **10.7 80386的中断和异常** - **80386的中断和异常**:介绍了中断和异常处理机制。 - **异常类型**:列出了不同的异常类型。 - **中断和异常的转移方法**:解释了中断和异常发生时的处理流程。 **10.8 操作系统类指令** - **实方式和任何特权级下可执行的指令**:在实模式或任何特权级下可以执行的指令。 - **实方式及特权级0下可执行的指令**:仅在实模式或特权级0下可以执行的指令。 - **只能在保护方式下执行的指令**:仅在保护模式下可用的指令。 - **显示关键寄存器内容的实例**:通过实例展示如何显示关键寄存器的内容。 - **特权指令**:只允许在特权级0下执行的指令。 **10.9 输入/输出保护** - **输入/输出保护**:通过权限检查来限制对I/O端口的访问。 - **重要标志保护**:防止某些标志被非法修改。 **10.10 分页管理机制** - **存储器分页管理机制**:将内存划分为固定大小的页面。 - **线性地址到物理地址的转换**:通过页表进行地址转换。 - **页级保护和虚拟存储器支持**:提供了页级别的访问控制和虚拟内存支持。 - **页异常**:处理页访问时发生的异常情况。 **10.11 虚拟8086方式** - **V86方式**:一种模拟8086处理器的操作模式。 - **进入和离开V86方式**:展示了如何进入和退出V86模式。 - **V86方式下的敏感指令**:在V86模式下需要特殊处理的指令。 #### 第三部分:上机实验指导 **12.1 实验的一般步骤** - **实验准备**:安装必要的软件和工具。 - **编写程序**:根据实验要求编写汇编语言程序。 - **编译和链接**:使用汇编器和链接器生成可执行文件。 - **调试和测试**:使用调试器来检测和修正程序中的错误。 **12.2 汇编器和连接器的使用** - **MASM的使用**:Microsoft Macro Assembler。 - **LINK的使用**:Microsoft Linker。 - **TASM的使用**:Turbo Assembler。 - **TLINK的使用**:Turbo Linker。 **12.3 调试器DEBUG的使用** - **启动和退出DEBUG**:介绍如何启动和退出DEBUG。 - **命令一览**:列出DEBUG中可用的命令。 - **利用DEBUG调试程序**:通过实例展示如何使用DEBUG来调试程序。 **12.4 Turbo Debugger的使用** - **启动和退出TD**:介绍如何启动和退出Turbo Debugger。 - **利用TD调试汇编程序**:通过实例演示如何使用Turbo Debugger调试汇编程序。 《80X86汇编语言程序设计》这本书详细介绍了从基础的汇编语言概念到高级的保护模式编程技术。通过具体的实例和详细的解释,为读者提供了全面的汇编语言编程知识。无论是初学者还是有一定基础的程序员,都可以从中获得实用的知识和技能。
- wdj7962013-01-24很好的书,积分值了
- shr9867966212019-05-07资料完整有效
- brave1myth2013-07-03已经决定看intel汇编语言程序设计了。
- 粉丝: 83
- 资源: 1945
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 附件2:2025届各班级摄像地点和时间顺序.docx
- 基于 OpenCV打包以并行读取多个 rtsp 相机
- 基于springboot之篮球论坛系统.zip
- tvm4j-core-0.0.1-SNAPSHOT.jar
- 基于springboot之篮球竞赛预约平台.zip
- Python命令行参数处理及argparse应用实例(包含详细的完整的程序和数据)
- Python面向对象与模块化:构建宠物管理系统的实战案例(包含详细的完整的程序和数据)
- 计算机视觉中人脸检测技术的Python实现及其应用(包含详细的完整的程序和数据)
- TestSonya,Qt判断文本编码格式(支持UTF-8、UTF-16LE/BE、GBK等格式)
- LabVIEW编程入门与进阶技术详解