- 目录 文章目录 目录文章目录C 程序的编译流程预处理编译汇编链接编译多个源文件 文章目录 《C 语言编程 — GCC 工具链》 《C 语言编程 — 程序的编译流程》 《C 语言编程 — 静态库、动态库和共享库》 《C 语言编程 — 程序的装载与运行》 《计算机组成原理 — 指令系统》 《C 语言编程 — 结构化程序流的汇编代码与 CPU 指令集》 ... 目录 文章目录 目录文章目录C 程序的编译流程预处理编译汇编链接编译多个源文件 文章目录 《C 语言编程 — GCC 工具链》 《C 语言编程 — 程序的编译流程》 《C 语言编程 — 静态库、动态库和共享库》 《C 语言编程 — 程序的装载与运行》 《计算机组成原理 — 指令系统》 《C 语言编程 — 结构化程序流的汇编代码与 CPU 指令集》 ...
- 常用的DOS功能调用 1.键盘输入并显示(1号功能调用) 格式: MOV AH, 01H INT 21H 12 功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中 2.键盘输入但不显示输入字符(8号功能调用) 格式: MOV AH, 0... 常用的DOS功能调用 1.键盘输入并显示(1号功能调用) 格式: MOV AH, 01H INT 21H 12 功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中 2.键盘输入但不显示输入字符(8号功能调用) 格式: MOV AH, 0...
- 学生实验报告 实验课名称:微机原理与接口技术 实验项目名称:宏 实验名称:宏实现1+2+3…+100 一、 实验目的 掌握重复宏的简单使用,并实现1+2+3…+100 二、实验内容 设计一个程序,利用重复宏,实现1+2+3…+100,并将结果5050显示在电脑屏幕上 三、实验仪器与设备 计算机,DOSbox虚拟机,外接设备 四、实验原理 利用宏的定义,... 学生实验报告 实验课名称:微机原理与接口技术 实验项目名称:宏 实验名称:宏实现1+2+3…+100 一、 实验目的 掌握重复宏的简单使用,并实现1+2+3…+100 二、实验内容 设计一个程序,利用重复宏,实现1+2+3…+100,并将结果5050显示在电脑屏幕上 三、实验仪器与设备 计算机,DOSbox虚拟机,外接设备 四、实验原理 利用宏的定义,...
- 实验电路图 实验代码 ;========================================================= ; 文件名: AD0809.ASM ; 功能说明: 进行AD采样,将结果显示。 片选为IOY0 ;========================================================= IOY0... 实验电路图 实验代码 ;========================================================= ; 文件名: AD0809.ASM ; 功能说明: 进行AD采样,将结果显示。 片选为IOY0 ;========================================================= IOY0...
- 学生实验报告 实验课名称:微机原理与接口技术 实验项目名称:汇编综合练习 实验名称:汇编综合练习 一、 实验目的 利用所学汇编知识,编写程序,实现输入两个二位十六进制数,输出其十进制值 二、实验内容 从键盘上输入两个二位十六进制数,利用汇编程序,输出其二进制表示的值 三、实验仪器与设备 计算机,DOSbox虚拟机,外接设备 四、实验原理 汇编语言的基础... 学生实验报告 实验课名称:微机原理与接口技术 实验项目名称:汇编综合练习 实验名称:汇编综合练习 一、 实验目的 利用所学汇编知识,编写程序,实现输入两个二位十六进制数,输出其十进制值 二、实验内容 从键盘上输入两个二位十六进制数,利用汇编程序,输出其二进制表示的值 三、实验仪器与设备 计算机,DOSbox虚拟机,外接设备 四、实验原理 汇编语言的基础...
- 将内存 ffff:0 ~ ffff:b 段元中的数据拷贝到 bbbb:0 ~ bbbb:b 单元中 stack segment stack ends data segment data ends code segment assume cs:code,ds:data,ss:stack start: mov ax,0ffffh mov ds,ax mov ax,0... 将内存 ffff:0 ~ ffff:b 段元中的数据拷贝到 bbbb:0 ~ bbbb:b 单元中 stack segment stack ends data segment data ends code segment assume cs:code,ds:data,ss:stack start: mov ax,0ffffh mov ds,ax mov ax,0...
- 计算 ffff:0 ~ ffff:b 单元中的数据的和,存储在 dx 中 代码 stack segment stack ends data segment data ends code segment assume cs:code,ds:data,ss:stack start: mov ax,0ffffh mov ds,ax xor dx,dx mov si,... 计算 ffff:0 ~ ffff:b 单元中的数据的和,存储在 dx 中 代码 stack segment stack ends data segment data ends code segment assume cs:code,ds:data,ss:stack start: mov ax,0ffffh mov ds,ax xor dx,dx mov si,...
- 1、机器语言 说到汇编语言的产生,首先要讲一下机器语言。机器语言是机器指令的集合。什么是机器指令?我们在使用CE时,常常见到。 请看下图: 图中所示的就是机器指令(或称机器码),这是十六进制的,如果要让计算机识别,则必须是二进制的。如机器指令 89 5C 24 38,转化为二进制是 100010010... 1、机器语言 说到汇编语言的产生,首先要讲一下机器语言。机器语言是机器指令的集合。什么是机器指令?我们在使用CE时,常常见到。 请看下图: 图中所示的就是机器指令(或称机器码),这是十六进制的,如果要让计算机识别,则必须是二进制的。如机器指令 89 5C 24 38,转化为二进制是 100010010...
- 位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。 位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算符,... 位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。 位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算符,...
- OEP是PE文件被加载时的起始地址,该值位于PE文件头的IMAGE_OPTIONAL_HEADER32结构体中。 下面的代码很简单,首先用CreateFile读取PE文件,PE文件的起始位置是DOS部分,DOS部分又分为DOS MS文件头和DOS块,在DOS MS文件头中包含了PE文件头的起始地址,而DOS块中的数据没啥用,该块的大小为112字节,通常其内容为“This ... OEP是PE文件被加载时的起始地址,该值位于PE文件头的IMAGE_OPTIONAL_HEADER32结构体中。 下面的代码很简单,首先用CreateFile读取PE文件,PE文件的起始位置是DOS部分,DOS部分又分为DOS MS文件头和DOS块,在DOS MS文件头中包含了PE文件头的起始地址,而DOS块中的数据没啥用,该块的大小为112字节,通常其内容为“This ...
- 1、bx、si、di和bp Bx、si和di这3个寄存器我们已经学过了,现在进行一下总结,并学一下bp。 1:在8086CPU中,只有这4个寄存器可以用在[…]中来进行内存单元的寻址。比如,下面的指令都是正确 的: Mov ax, [bx] Mov ax, [bx+si] Mov ax, [bx+di] Mov ax, [bp] Mov ax, [bp+... 1、bx、si、di和bp Bx、si和di这3个寄存器我们已经学过了,现在进行一下总结,并学一下bp。 1:在8086CPU中,只有这4个寄存器可以用在[…]中来进行内存单元的寻址。比如,下面的指令都是正确 的: Mov ax, [bx] Mov ax, [bx+si] Mov ax, [bx+di] Mov ax, [bp] Mov ax, [bp+...
- 1、内存中字的存储 2、ds和【address】 CPU要读写一个内存单元的时候,必须先给出这个内存单元的地址,在8086CPU中,内存地址由段地址和偏移地址组成, 其中,段地址存放在段寄存器DS中,DS称作数据段寄存器。 如果我们要将内存地址为14A70的内存单元中的数据送入AL中,可以用如下的程序段进行: Mov bx,1000H &n... 1、内存中字的存储 2、ds和【address】 CPU要读写一个内存单元的时候,必须先给出这个内存单元的地址,在8086CPU中,内存地址由段地址和偏移地址组成, 其中,段地址存放在段寄存器DS中,DS称作数据段寄存器。 如果我们要将内存地址为14A70的内存单元中的数据送入AL中,可以用如下的程序段进行: Mov bx,1000H &n...
- 1、标志寄存器 CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下3种作 用: 1. 用来存储相关指令的某些执行结果。 2. 用来为CPU执行相关指令提供行为依据。 3. 用来控制CPU的相关工作方式。 这种特殊的寄存器在8086CPU中,被称为标志寄存器。8086CPU的寄存器,在前面已经学过13个了,现 在学习最... 1、标志寄存器 CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下3种作 用: 1. 用来存储相关指令的某些执行结果。 2. 用来为CPU执行相关指令提供行为依据。 3. 用来控制CPU的相关工作方式。 这种特殊的寄存器在8086CPU中,被称为标志寄存器。8086CPU的寄存器,在前面已经学过13个了,现 在学习最...
- 安卓应用程序的开发语言是java,但是由于java层的代码很容易被反编译,而反编译c/c++程序的难度比较大,所以现在很多安卓应用程序的核心部分都使用NDK进行开发。关于NDK的开发知识点,请看这篇博客:Android之NDK开发。 关于NDK环境搭建的知识点,请看这篇博客:Android... 安卓应用程序的开发语言是java,但是由于java层的代码很容易被反编译,而反编译c/c++程序的难度比较大,所以现在很多安卓应用程序的核心部分都使用NDK进行开发。关于NDK的开发知识点,请看这篇博客:Android之NDK开发。 关于NDK环境搭建的知识点,请看这篇博客:Android...
- 1、内存单元和[bx]的描述 要完整地描述一个内存单元,需要两种信息:1.内存单元的地址;2.内存单元的长度(即是字节单元还是字单元)。 如:mov ax, [2a78] 表示将一个内存单元中的数据送入ax,这个内存单元的长度为2字节(字单元),存放一个字,偏移地址为2a78H,段地址 在DS中。 如:mov al, [10f3] 表示将一个内存单元中的数据... 1、内存单元和[bx]的描述 要完整地描述一个内存单元,需要两种信息:1.内存单元的地址;2.内存单元的长度(即是字节单元还是字单元)。 如:mov ax, [2a78] 表示将一个内存单元中的数据送入ax,这个内存单元的长度为2字节(字单元),存放一个字,偏移地址为2a78H,段地址 在DS中。 如:mov al, [10f3] 表示将一个内存单元中的数据...
上滑加载中
推荐直播
-
深度解析鸿蒙应用入门级开发者认证
2024/12/04 周三 16:00-18:00
Edi 华为云学堂技术讲师
本期直播将为开发者带来HCCDA-HarmonyOS&Cloud Apps认证课程系统介绍、详细阐述HarmonyOS 技术架构、理解HarmonyOS 技术理念,通过实例带领开发者应用快速上手。
正在直播 -
鸿蒙应用入门:轻松掌握ArkTS开发语言
2024/12/05 周四 16:00-18:00
Edi 华为云学堂技术讲师
本期直播课旨在让开发者了解ArkTS语法、轻松掌握ArkUI组件开发,带你零门槛入门鸿蒙开发,掌握状态管理实验和渲染控制实验。
即将直播 -
人工智能应用测试深度解析:理论基础与实践应用指南
2024/12/06 周五 14:30-16:30
Alex 华为云学堂技术讲师
本期直播主要结合理论及人工智能的相关实验,给大家讲述AI应用测试的主要流程和方法。帮助开发者了解AI应用测试的理论及方法,和AI应用测试在模型迭代调优过程中的作用。
去报名
热门标签