C语言
C语言 分类下共有 3 个教程、90 篇文章,收录 ThatManK 的技术博客与学习记录。
Tutorials
汇编基础
52 articles
-
进制转换
十进制位的概念 二进制转十进制 十进制快速转换二进制 背 十六进制转十进制 十进制快速转换成十六进制 十六进制快速转换成二进制 练习
-
DOSBox安装
DOSBox 安装 C 盘根目录下创建 ASM 文件夹 将工具包里面的 LINK.EXE MASM.EXE debug.exe 三个文件复制进去 打开配置文件 C:\Users\Administrat
-
CPU及其类型
CPU 及其类型 指令和程序 存储单元 地址总线 数据总线 控制总线 存储地址空间 检测点 1.1 不同 cpu 型号的寻址能力 CPU 地址总线宽度 寻址能力 数据总线宽度 一次传送数据 读取 1K
-
寄存器
通用寄存器 debug 下常用的指令 g 执行完 exe 运行结果显示 a 编写汇编命令 t 单步执行 p 直接执行完不是单步执行 u 反编译 r 查看修改寄存器的值 d 查看内存单元 e 修改内存单
-
CSIP练习
CS:IP 练习 段地址与偏移地址寄存器 检测点 CS:IP 指令和数据的区别: 在内存中指令和数据是没有区别的, 只有它们被读入到 CPU 中才会区分数据和地址. CPU 中, 在任意时刻, CPU
-
ASCLL码
xxx 修改内存, 右边显示 ASCLL 码 ASCLL 对照表 生产日期 检测点:向 B8100H 中写数据
-
从寄存器中读取数据
数据的存储 个内存单元 = 1 Byte = 1 字节型数据 = 8bit = 0 - 255 个连续的内存单元 = 2 Byte = 2 字节型数据 = 16bit = 1 个 字 型数据 = 0
-
栈
栈机制 用一段内存空间当作栈 SS:SP 栈段 自己定义栈段练习 栈越界 定义栈段 20010H = 20020H 利用栈交换 AX 和 BX 的数据, 可以用栈临时性保存数据 栈的极限 SP 的大小
-
汇编程序
第一个汇编程序 BX 显式 CX 循环次数寄存器 与 loop 用加法计算 10 x 5 的值放到 AX 中 程序会判断 CX 是否为 0, 否则一直循环 求 FFFF:0 ~ FFFF:F 字节型数
-
栈空间
栈段数据段代码段 通过栈空间将 0123H,4567H,89ABH,0CDEFH 逆序排放 栈段数据段代码段 观察调试 段补满 如果段中的数据占用 N 个字节,则程序加载后,该段实际占用空间为 N/1
-
AndOr
1. AND OR 2. 字符型数据定义
-
偏移地址
1. 偏移地址组合 2. 优化大小写转换 3. SI DI AX,BX,CX,DX,SP,BP,SI,DI AX: 容器 BX: 偏移地址常用, 可以 bx+1 CX: 循环 DX: 容器, 偏移地址
C与汇编
19 articles
-
进制与数据
1. 16 与 2 进制转换 2. 数据宽度 3. 有符号数的编码规则 正数源码存储 负数补码存储 4.正负数区间 byte dword 32 5. 位运算 and &,与 :同为 1 时才为 1 o
-
汇编基础
1. 32 位寄存器 2. 32 位汇编常用指令 3. 存储模式 大端/尾模式:数据高位在低位,数据低位在高位 arm 应用 小端/尾模式:数据高位在高位,数据低位在低位 默认 4. 标志寄存器 EF
-
C语言函数
1. 函数调用 源码 汇编 2. 分析
-
变量与参数
1. 示例 1 源码 汇编 2. 示例 2 源码 汇编 3. 示例 3 源码 汇编
-
基本类型
1. C 语言的变量类型 2. 整数类型的宽度 3. 溢出 4. 有符号、无符号 二者的区别 在存储和赋值的时候没有任何差异 拓展的时候有区别 比较的时候有区别 5. 浮点类型 IEEE 754 标准
-
字符与字符串
1. ASCII码 2. 打印字符串 3. 打印汉字 4. 类型转换
-
分支语句
1. 分支语句 2. 示例 3 汇编后 3. switch 语句 源码 汇编后
-
循环语句
1. 循环语句 汇编前 汇编后
-
数组
1. 数组长度分配 2. 多维数组
-
结构体
1. 结构体 2. 结构体数组
-
指针
1. 指针类型长度永远为 4 个字节 源码 汇编 2. 关于自加自减 3. 指针加减法:N \ sizeof N 4. 指针可以比较
-
&的使用
1. & 就是给前面加一个 \ , 并且类型要对应 2. 取值运算符 3. \ 指针类型的类型 4. 通过\ 修改变量的值 5. 指针取值的两种方式: 8 和 可以互相转换 一层 \ 二层\ 两层有偏
教程一
19 articles
-
乱码问题
window 下中文乱码问题 在你的文件统计工具中,如果涉及到中文字符的输入、输出或文件路径,可能会遇到中文乱码的问题。以下是详细的步骤和修改后的代码,帮助你在 Windows 环境下正确处理中文字符
-
C语言简介
1. C 语言简介 1.1 什么是 C 语言 C 语言是一种 通用型 、 结构化 的编程语言,由丹尼斯·里奇(Dennis Ritchie)于 1972 年在贝尔实验室开发。它是计算机科学中的一种基础
-
环境搭建
2. C 语言开发环境 C 语言的开发环境包括编译器、开发工具和操作系统的支持。不同平台的环境搭建有所不同,选择合适的工具可以让学习和开发更加高效。 2.1 常见开发环境介绍 2.1.1 Window
-
C语言数据结构
3. C 语言的基本结构 C 语言程序有明确的结构,每个部分在程序中都有特定的作用。掌握这些基础结构对于编写有效、可维护的 C 程序至关重要。 3.1 C 程序的基本组成部分 C 语言程序一般由以下几
-
数据类型与变量
4. 数据类型与变量 在 C 语言中, 数据类型 用于定义变量或函数返回值所能存储的数据的类型。理解不同的数据类型以及如何定义和使用变量,是掌握 C 语言编程的基础。 4.1 C 语言的数据类型 C
-
运算符与表达式
5. 运算符与表达式 运算符是 C 语言中用于执行各种操作的符号或关键字。运算符与操作数结合形成 表达式 ,表达式可以计算出一个值。理解各种运算符及其优先级与结合性,是编写正确和高效 C 程序的基础。
-
控制语句
6. 控制语句 控制语句是 C 语言中用于控制程序执行流程的结构。通过控制语句,可以根据条件执行不同的代码块,或者重复执行某些操作,从而实现复杂的逻辑和功能。掌握控制语句是编写有效和高效 C 程序的关
-
数组与字符串
7. 数组与字符串 数组和字符串是 C 语言中用于存储和处理数据的重要数据结构。掌握数组和字符串的定义、使用以及相关操作函数,是编写高效和功能丰富的 C 程序的基础。 7.1 一维数组的定义与使用 一
-
函数
8. 函数 函数是 C 语言中用于组织和封装代码的基本单位。通过函数,可以将复杂的问题分解为更小、更易管理的部分,提高代码的可重用性、可读性和可维护性。理解函数的定义、调用、参数传递、返回值以及作用域
-
指针
9. 指针 指针是 C 语言中一个强大而灵活的特性,它允许程序员直接操作内存地址,从而实现高效的数据处理和复杂的数据结构管理。掌握指针的概念、定义与使用方法,对于深入理解 C 语言及编写高效的 C 程
-
结构体与联合体
10. 结构体与联合体 结构体( struct )和联合体( union )是 C 语言中用于组合不同数据类型的数据结构。它们允许程序员将多个相关的数据项组合在一起,以便更好地组织和管理复杂的数据。枚
-
文件操作
11. 文件操作 文件操作是 C 语言中用于持久化存储数据的重要机制。通过文件操作,程序可以将数据保存到硬盘中,或从硬盘中读取数据,实现数据的持久化存储和跨程序共享。C 语言提供了一系列标准库函数,用