实验内容 计算结果 汇编代码 assume cs:codesg,ds:datadata segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987',' ...
分类:
编程语言 时间:
2020-04-19 10:38:31
阅读次数:
339
在汇编代码中,CPSID CPSIE 用于快速的开关中断。 I:IRQ中断; F:FIQ中断最常见的这两个命令的使用处是在关中断、开中断的实现中,我们经常用的local_irq_enable和local_irq_disable最终都是调用了以下两个实现,即关/开中断只是操作了CPSR中的中断标志位而 ...
分类:
其他好文 时间:
2020-03-31 22:41:18
阅读次数:
102
一、要求 二、上机调试 1.debug调试开始,首先查看反编译后的汇编代码(假设ob38就是段地址1000) 2.执行第一条指令mov ax,6 3.执行第二条指令call ax,也就是call 6(我们知道,对于call 16位reg格式来说,相当于push ip;jmp 16位reg。) 执行了 ...
分类:
其他好文 时间:
2020-03-31 14:53:03
阅读次数:
101
一、Linux编译过程 预处理->编译->汇编->链接 二、预处理 作用: 宏展开 头文件包含 条件编译 布局控制,如#pragma;添加行号,方便后期问题查错。 编译命令 gcc -E *.c -o *.i 三、编译 作用: 将预处理生成的代码进行词法、语法与语义进行解析,生成汇编代码。 命令: ...
分类:
系统相关 时间:
2020-03-29 12:47:57
阅读次数:
78
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 常用汇编指令集合 1. gdtr 1.gdtr 读取gdt表地址 其需要六个字节,但是前两个字节并没有用处。 汇编代码: CHAR Sgdtr[6] = { NULL ...
分类:
其他好文 时间:
2020-03-25 18:51:44
阅读次数:
132
1. 加锁的原理- 原子操作、中断、test and set 参考:https://blog.csdn.net/qq_35181209/article/details/78026636 TSL-自旋锁的机制分析:https://blog.csdn.net/u011240016/article/det ...
分类:
其他好文 时间:
2020-03-23 15:09:44
阅读次数:
111
学习from "gcc/g++ 链接库的编译与链接" c++编译分为四个阶段 1. 预编译 2. 编译 3. 汇编 4. 链接 预编译 预编译是c++编译的最初部分,它的工作是在编译之前对程序内容进行最有的取舍处理,使得一些语句参加编译,而另一些语句不参加编译。 常用的预编译指令是: 1. incl ...
分类:
编程语言 时间:
2020-03-22 20:02:53
阅读次数:
101
一、简介 简介 作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分。由于这部分代 ...
分类:
编程语言 时间:
2020-03-10 17:30:12
阅读次数:
78
继上文,这次开始嫖when_did_you_born这题。前面的步骤大致是一样的就不赘述了,直接到代码分析。 字符串 这次呢在main函数处 按下F5进入调试 查看反汇编代码 可以清楚的看到它的逻辑一开始不能让它判断出是1926,否则就会出错,接着呢再输入名字后判断是否是1926,是的话就返回fla ...
分类:
其他好文 时间:
2020-02-28 01:21:59
阅读次数:
137
VS2017中64位汇编设置1) 新建一个Visual C++类型的空项目;2)右键新建的空项目,选择“生成依赖项”---> “生成自定义”,勾选 “masm”,如下图所示: 3) 在项目"源文件"右键选择添加C++源文件,为文件命名时,选择.asm后缀,即可开始在该asm文件中填写汇编代码了。用该... ...
分类:
编程语言 时间:
2020-02-25 12:58:56
阅读次数:
112