zoukankan      html  css  js  c++  java
  • 笔记

    标签和变量是一样的, 变量名代表了变量的地址,而[标签]表示值

    $表示当前行呗汇编后的地址

    $$表示 一个节被汇编后的起始地址

    ret 用栈中数据改IP内容,近转移
    retf用栈中数据同时改CS,IP,远转移

    用汇编解释
    ret   ->  pop ip

    retf  ->  pop ip
                 pop cs

    编写汇编程序的思维方式:

    汇编程序是由段构成,所以编写汇编代码要摒弃高级语言(C语言)的程序函数构成。

    C语言将程序分解为若干函数

    汇编语言将程序分解为若干段,段与段之间通过跳转实现(函数的实现其实就是CALL,JMP等跳转功能)

    高效交换元素
    PUSH BUF1
    PUSH BUF2
    POP BUF1
    POP BUF2
    能够实现两个字型存储单元BUF1、BUF2的数据交换。


    段具体的寻址范围跟你使用的存储器寻址方式有关。 
    1】在实地址模式下,由于偏移地址为16位的数,故每一段的最大寻址空间是64K,且允许段重叠。
    2】保护模式下,偏移地址达到了32位,故每段的最大寻址范围可达4G。

    最后,段的起始地址是由操作系统完成分配的。还有,段类型还包括有ES(附加段),常用于串的相关操作。
    物理内存是实实在在的内存,它与虚拟内存相对,物理内存被分页,其实就像一本书里面的好多页纸,每张纸上记录了不同的信息,物理内存被分页,对于32位的CPU来说,每个物理页大小是4K。对于每一个物理页,系统使用一个24字节长的结构来保存它的相关信息。
  • 相关阅读:
    python通过scapy编写arp扫描器
    red hat重置密码
    浅谈跨域劫持
    python中的socket
    利用Python进行端口扫描
    自己搜罗了一些感觉蛮有意思的爬虫相关的网站
    与py2neo的第一次接触
    基本上所有的库的列表都在这里了,传送门~~~
    关于neo4j初入门(5)
    关于neo4j初入门(4)
  • 原文地址:https://www.cnblogs.com/pavkoo/p/3515068.html
Copyright © 2011-2022 走看看