汇编语言检测点
本文最后更新于:2023年9月20日 下午
第一章 基础知识
检测点 1.1
(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
有点简单,注意溢出即可,如:C5H+93H=158H,而al只有8位,所以al=58H,从而AX=0058H
1
2
3
4mov ax,2 ;2的1次方 = 2
add ax,ax ;2的2次方 = 2 + 2 = 4
add ax,ax ;2的3次方 = 4 + 4 = 8
add ax,ax ;2的4次方 = 8 + 8 = 16检测点 2.2
(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
一共修改了4次。
读取 mov ax,bx 指令后,第一次修改IP
读取 sub ax,ax 指令后,第二次修改IP
读取 jmp ax 指令后,第三次修改IP
执行 jmp ax 指令时,第四次修改IP,最后IP=ax=0
略了,有时间再补,最近期末复习时间太紧了