8086汇编 Loop 指令 功能:实现循环(计数型循环) 指令的格式 loop 标号 CPU 执行loop指令时要进行的操作: (cx)=(cx)-1; 判断cx中的值不为零则转至标号处执行程序如果为零则向下执行。 用cx和loop 指令相配合实现循环功能的三个要点: (1)在cx中存放循环次数; ...
分类:
其他好文 时间:
2020-03-12 12:40:23
阅读次数:
59
8086汇编内存寻址方式 前面的博客都多少提到了8086汇编的内存寻址,例如mov ax [2345H]。而8086汇编还提供了更多、更灵活的寻址方式,以满足多种需求。 需要强调的是,无论何种寻址方式,内存寻址的地址总是由基础地址+偏移地址(段基址+偏移量)组合而成,不同之处在于基础地址与偏移地址应 ...
分类:
编程语言 时间:
2020-03-02 22:39:00
阅读次数:
108
蛋疼的概念,总是让人琢磨不透,每每遇到这些形似的名词,我总感觉是我小学时候近义词练习做少了。因为每次我都要花很多时间才能真正的能够说服自己的搞懂这些概念。逻辑地址:很简单,就是你源程序里使用的地址,或者源代码经过编译以后编译器将一些标号,变量转换成的地址,或者相对于当前段的偏移地址。线性地址:这个地 ...
分类:
其他好文 时间:
2020-03-01 19:41:58
阅读次数:
50
物理地址:物理地址就是内存单元的绝对地址,比如你有一个4G的内存条插在电脑上,物理地址0x0000就表示内存条的第一个存储单元,0x0010就表示内存条的第17个存储单元,不管CPU内部怎么处理地址,最终访问的都是物理地址。在CPU实模式下“段基址+段内偏移地址”就是物理地址,CPU可以使用此地址直 ...
分类:
其他好文 时间:
2020-03-01 19:38:47
阅读次数:
55
如何看待 内存 ? 可以存放数据 数据段 自己定义的数据 可以存放指令 指令段 自己定义的指令 可以定义成栈空间 栈段 临时存放数据 那么如何让 CPU 按照我们的意愿去访问内存? 对于数据段,我们需要有段地址+偏移地址,目前段地址寄存器只学过 ds 寄存器, 偏移地址只学过 [0],[1] ... ...
分类:
编程语言 时间:
2020-02-28 22:45:43
阅读次数:
63
Python简明教程 MachinePlay关注 0.7072018.09.26 01:49:43字数 2,805阅读 9,287 Python一小时快速入门 1.Python简介 pylogo.png Python是一种相当高级的解释性程序设计语言,完成同一个任务C语言可能需要几千行代码Java要 ...
分类:
编程语言 时间:
2020-02-27 23:26:28
阅读次数:
85
"Lab1:" 简介 本实验分为三个部分。 第一部分着重于熟悉x86汇编语言,QEMU x86仿真器和PC的开机引导程序。 第二部分检查了6.828内核的引导加载程序,该加载程序位于实验室树的引导目录中。 最后,第三部分深入研究了6.828内核本身的初始模板,名为JOS,它位于内核目录中。 源码下载 ...
分类:
其他好文 时间:
2020-02-17 19:53:53
阅读次数:
63
XDMA核的使用 一、 XDMA相关知识 绝对地址就是物理地址=段地址*16+偏移地址,也就是段地址<<4+偏移地址 主机host通过PCIe接口访问DMA,DMA即外部设备不通过CPU而直接与系统内存(DDR)交换数据。 PIO模式下硬盘和内存之间的数据传输是通过CPU来控制的,而在DMA模式下, ...
分类:
其他好文 时间:
2020-02-13 21:09:18
阅读次数:
1214
检测点2.2 1. 给定段地址为 ,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH 。 解析: ∵ 段地址 16 + 偏移地址 = 物理地址 ? 偏移地址在 0H 到 FFFFH 之间 ∴ 最小 = 0001H 16 + 0 = 0010H 最大 = 0001H 16 + ...
分类:
编程语言 时间:
2020-01-30 19:28:03
阅读次数:
114
PE文件格式 名词 入口点:PE文件执行时的入口点,也就是程序执行的第一行代码 文件偏移地址:磁盘上的PE文件,各数据的地址称做文件偏移地址。文件偏移地址从PE文件第一个字节开始计数,起始为0 相对虚拟地址:某一虚拟地址(VA) = 基地址(ImageBase) + 相对虚拟地址(RVA) 文件格式 ...
分类:
其他好文 时间:
2020-01-23 11:19:03
阅读次数:
105