王爽《汇编语言》学习笔记 总目录

news/2024/7/5 23:16:37

本文章是自己在学习王爽《汇编语言》过程中整理的笔记。看的比较匆忙,文中可能存在很多错误,还望大家多多指正!谢谢~

参考文章

文章目录

  • 一、基础知识
  • 二、寄存器
  • 三、第一个程序
  • 四、[BX]和loop指令
  • 五、包含多个段的程序
  • 六、更灵活的定位内存地址的方法
  • 七、数据处理的两个基本问题
  • 八、转移指令的原理
  • 九、CALL和RET指令
  • 十、标志寄存器
  • 十一、内中断
  • 十二、端口
  • 十三、外中断
  • 十四、指令系统总结
  • 十五、直接定值表

一、基础知识

  1. 基础概念
  2. 存储器
  3. 三种外部总线
  4. CPU对外设的控制
  5. 内存地址空间

二、寄存器

  1. 寄存器
  2. 8086CPU 给出物理地址的方法
  3. 段寄存器
  4. DS 和 [address]
  5. 栈(SS和SP)

三、第一个程序

  1. 汇编程序从写出到执行的过程
  2. 程序执行过程

四、[BX]和loop指令

  1. [bx] 和 loop指令
  2. Debug和masm编译器对指令的不同处理
  3. loop 和 [bx] 的联合应用
  4. 安全的编程空间

五、包含多个段的程序

六、更灵活的定位内存地址的方法

  1. and 和 or 指令
    2.关于ASCII码
  2. 大小写字符转换的问题
  3. [bx+idata]
  4. SI和DI寄存器
  5. 不同的寻址方式的灵活应用

七、数据处理的两个基本问题

  1. bx、si、di和bp
  2. 机器指令处理的数据在什么地方
  3. 汇编语言中数据位置的表达
  4. 寻址方式
  5. 指令要处理的数据有多长
  6. div指令(除法指令)
  7. 伪指令dd,dup

八、转移指令的原理

  1. 操作符offset
  2. jmp指令
    2.1 依据位移进行转移的jmp指令
    2.2 转移的目的地址在指令中的jmp指令
    2.3 转移地址在寄存器中的jmp指令
    2.4 转移地址在内存中的jmp指令
  3. jcxz指令
  4. loop指令
  5. 编译器对转移位移超界的检测

九、CALL和RET指令

  1. ret 和 retf
  2. call 指令
    2.1 依据位移进行转移的call指令
    2.2 转移的目的地址在指令中的call指令
    2.3 转移地址在寄存器中的call指令
    2.4 转移地址在内存中的call指令
  3. call 和 ret 的配合使用
  4. mul 指令(乘法指令)

十、标志寄存器

  1. ZF标志(零标志位)
  2. PF标志(奇偶标志位)
  3. SF标志(符号标志位)
  4. CF标志(进位标志位)和 OF寄存器(溢出标志位)
  5. adc指令 和 sbb指令
  6. cmp指令
  7. 检测比较结果的条件转移指令
  8. DF标志(方向标志位)和串传送指令
  9. pushf 和 popf

十一、内中断

  1. 内中断的产生
  2. 中断处理程序 和 中断向量表
  3. 中断过程
  4. iret指令
  5. 除法错误中断的处理
  6. 单步中断
  7. int指令
  8. 编写中断例程
  9. BIOS和DOS所提供的中断例程

十二、端口

  1. 端口基本概念
  2. 端口的读写
  3. CMOS RAM芯片
  4. shl和shr指令

十三、外中断

  1. 接口芯片和端口
  2. 外中断信息
    2.1 可屏蔽中断
    2.2 不可屏蔽中断
  3. PC机键盘的处理过程
  4. 编写int 9中断例程

十四、指令系统总结

十五、直接定值表

  1. 描述单元长度的标号
  2. 在其他段中使用数据标号

http://www.niftyadmin.cn/n/1665950.html

相关文章

互联网公司GitHub repo 语言使用情况

转自: https://laike9m.com/blog/hu-lian-wang-gong-si-github-repo-yu-yan-shi-yong-qing-kuang,56/ 现在基本上所有国外大公司和国内部分公司都在 GitHub 上开源了一部分代码。统计一下这些代码的语言使用情况,多少可以反映公司内部对语言的偏好。很多…

爬虫 selenium

chromedriver下载 谷歌浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html http://npm.taobao.org/mirrors/chromedriver/下载的驱动程序必须和浏览器的版本统一,可以根据http://blog.csdn.net/huilan_same/article/details/518…

一次面试总结(记录)

1,从一个数组里找重复出现次数最多的一个数?2,常用的linux命令3.垃圾收集器有哪些 ?垃圾收集算法?4,线上服务器变慢了你是如何定位问题并处理的?5,你自己实现一个本地缓存,淘汰最久未使用,你怎么设计6,用栈实现计算器7,剔除二叉树…

《深入理解计算机系统》笔记-计算机系统漫游

本笔记是学习南大袁春风老师的《计算机系统基础》时整理的笔记。若有理解错误,欢迎大家指正!谢谢~ (该网课是CSAPP的配套资源) 视频地址:https://www.bilibili.com/video/BV1kE411X7S5?p9&spm_id_frompageDriver…

c# winform编程之多线程ui界面资源修改总结篇

单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如: private void btnSet_Click(object sender, EventArgs e) { Th…

selenium 原理应用 - 利用 requests 模拟 selenium 驱动浏览器

前言 selenium 是一个 Web 自动化测试的开源框架,它支持多语言:python/java/c#… 前面也有一篇文章说明了,selenium 浏览器的环境搭建。 selenium 支持多语言,是因为 selenium 与浏览器驱动之间是通过 http 协议进行通信的。只…

区块链与Git版本工具的比较

区块链与Git版本工具的比较 来源:http://www.jianshu.com/p/b96b98983df6作者: 梁波林 相同点: 1. 分布式存储方案 2. 链式数据 3. 去中心化 4. 支持离线访问 5. 交易量较小 6. 参与方多,网络规模大 不同: 1. 数据内容…

RubyMine 2018.3.5 发布,流行的 Ruby 开发工具

开发四年只会写业务代码,分布式高并发都不会还做程序员? >>> RubyMine 2018.3.5 (build 183.5912.16) 发布了,带来了一些平台上的改进。RubyMine 是一个为 Ruby 和 Rails 开发者准备的 IDE。 新版本的更新亮点有: Ruby…