汇编语言检测点

本文最后更新于:2023年9月20日 下午

第一章 基础知识

检测点 1.1

HrT21vs.md.png

(1)13

  • 寻址能力:一个CPU有N根地址线,则这个CPU的地址总线的宽度为N,最多可以寻找2的N次方个内存单元。
  • 地址总线的宽度决定了CPU 的寻址能力。
  • \( 2^{N} = 8KB = 8*1024B = 2^{13}B \),N为地址总线宽度,N=13

(2)1024,0,1023 - 一个存储单元占一个字节(即1B),故1KB的存储器有1024个存储单元,存储单元编号从0~1023。

(3)8192,1024 - 1千字节(KB)= 1024字节(B) - 1字节(Byte)= 8比特(bit)

(4)\( 2^{30}, 2^{20}, 2^{10}\)

(5)64KB,1MB,16MB,4GB - 8080CPU地址总线宽度为16,寻址能力为\(2^{16} = 2^6KB = 64KB\) - 其余同理

(6)1,1,2,2,4 - 8根数据总线一次可传送一个8位二进制数据(即一个字节)

(7)512,256 - 8086CPU数据总线16根,一次可读2个字节 ,1024/2=512

(8)二进制

第二章 寄存器

检测点 2.1

H4naDZb.md.png

  1. 有点简单,注意溢出即可,如:C5H+93H=158H,而al只有8位,所以al=58H,从而AX=0058H

  2. 1
    2
    3
    4
    	mov ax,2     ;21次方 = 2
    add ax,ax ;22次方 = 2 + 2 = 4
    add ax,ax ;23次方 = 4 + 4 = 8
    add ax,ax ;24次方 = 8 + 8 = 16

    检测点 2.2

    H4pjm0v.md.png

(1)00010H到1000FH - 基础地址(段地址*16)+ 偏移地址 = 物理地址 - 偏移地址16位,变化范围为0~FFFFH,仅用偏移地址最多可寻址64KB - 给定段地址为0001H,寻址范围为(0001H×16)+ 0到(0001H×16)+FFFFH,即寻址范围为0010H到1000FH

(2)最小为 1001H ,最大为 2000H

  • 段地址16+偏移地址=物理地址,即SA16+EA=20000H;偏移地址16位,变化范围为0~FFFFH;
  • 当偏移地址取最大值FFFFH时,段地址最小,SA=(20000H-FFFFH)/16=1001H(取上界
  • 当偏移地址取最小值0H时,段地址最大,SA=(20000H-0H)/16=2000H。

思考:当段地址给定为小于1001H或大于2000H时,CPU无论怎么变化偏移地址都无法寻到20000H单元。

检测点 2.3

H4pvW0u.md.png

  • 一共修改了4次。

  • 读取 mov ax,bx 指令后,第一次修改IP

  • 读取 sub ax,ax 指令后,第二次修改IP

  • 读取 jmp ax 指令后,第三次修改IP

  • 执行 jmp ax 指令时,第四次修改IP,最后IP=ax=0

    略了,有时间再补,最近期末复习时间太紧了


汇编语言检测点
http://viper2383.github.io/2023/05/27/汇编语言检测点/
作者
w1per3
发布于
2023年5月27日
许可协议