《汇编语言》(第三版)(王爽)读书笔记

  • 第3章 寄存器(内存访问)

    • 8086CPU不对栈的边界进行检查,由程序员自己负责(p63下)
    • 入栈/出栈只能对字寄存器操作。实测。
  • 第4章 第一个程序

    2019-12-19 几天没看了,有点陌生了,回顾一下

    • 汇编程序中,标号指代地址(p79下)
    • 这个汇编流程图很有意义(p90下)
    • “debug默认所有数据都用十六进制表示”(p93上)
  • 第9章 转移指令的原理

    • “CPU在执行jmp指令的时候并不需要转移的目的地址”(p179上)
    • 所有条件转移指令都是短转移,机器码中是转移的位移,而非地址。对IP修改范围都为-128~127。(p184上)
    • 所有循环指令都是短转移,机器码中都为转移的位移,而非地址。对IP修改范围都为-128~127。(p185上)
    • 这个实验太精巧了!!!(p187上,实验9)
  • 第10章

    • 课程设计1没做(p211下)
  • 第11章

    • 区别CF和OF。CF是无符号数运算溢出标志位,OF是有符号数运算溢出标志位(p218中)
    • 啥是“串处理指令”?(p230下)
  • 第12章

    • “汇编编译器可以处理表达式”(p246上)
      应该是限于算术表达式吧?
    • 被复制的这段代码,把cs值赋给ax(实际上是赋给ds),这里运行的时候cs到底是谁的啊?(p248上)
  • 第13章

    • BIOS(基本输入输出系统)(p258中)
      • \1. 硬件系统的检测和初始化程序
      • \2. 外部中断和内部中断的中断例程
      • \3. 用于对硬件设备进行I/O操作的中断例程
      • \4. 其他和硬件系统相关的中断例程
    • “DOS的中断例程就是操作系统向程序员提供的编程资源”(p258中)
    • 实验13的第3个程序无法如期运行。回来再看(p263下)
  • 第14章 端口

    • 端口的读写指令只有两条:in,out(p265下)
  • 第15章 外中断

    • “端口和中断机制,是CPU进行I/O的基础”(p285上)
  • 第16章 直接定址表

  • 第17章 使用BIOS进行键盘输入和磁盘读写

    • 写入软盘上哪儿找这个文件去?(p310中)
  • 两个课程设计都没做(P211,P312)

  • 疑问

    • PSP是啥?(p94)
      程序段前缀(p92)。全拼应该是program segment prefix
    • cx不能用作偏移地址?(p121下)
    • 为什么这段汇编用字母c作为段号会编译错误?必须把字母c换成其他字母(比如k)才能成功编译(p136中)
    • 为什么ip不属于一般的寄存器集合?(p161中)
    • 咋我的代码比它的空要少一行?(p184下)
    • 为什么这段程序编译好之后无法运行?用debug运行的时候提示file not found(p193上)
    • call跳转的不是下一条指令对应的IP或CS和IP?(p192上)
      是。执行指令时,当前IP已经指向下一条指令
    • 为什么要这样安排呢?先放入栈段,再push栈段里的数据本身?栈指针不是都已经修改了吗?(p335下)
    • 为什么修改ss和sp会影响栈的内容?(p210,实际观察到的现象)
  • 勘误

    • 忘了给data加粗(p134上)
    • 建议“作法”改为“做法”(p157下)
    • 代码有个不必要的缩进(p306下)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值