没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/19037283/bg1.jpg)
1
第 1 章 基础知识
检测点 1.1
(1)1 个 CPU 的寻址能力为 8KB,那么它的地址总线的宽度为 13。
(2)1KB 的存储器有 1024 个存储单元。存储单元的编号从 0 到 1023。
(3)1KB 的存储器可以存储 1024*8 个 bit,1024 个 Byte。
(4)1GB、1MB、1KB 分别是 2^30、2^20、2^10 Byte。(n^m 的意思是 n 的 m 次幂)
(5)8080、8088、80286、80386 的地址总线宽度分别是 16 根、20 根、24 根、32 根,则它们
的寻址能力分别为:64(KB)、1(MB)、16(MB)、4(GB)。
(6)8080、8088、8086、80286、80386 的数据总线宽度分别为 8 根、8 根、16 根、16 根、32
根。则它们一次可以传送的数据为:1(B)、1(B)、2(B)、2(B)、4(B)。
(7)从内存中读取 1024 字节的数据,8086 至少要读 512 次、80386 至少要读 256 次。
(8)在存储器中,数据和程序以二进制形式存放。
第 2 章 寄存器 答案
检测点 2.1
(1) 写出每条汇编指令执行后相关寄存器中的值。
mov ax,62627 AX=F4A3H
mov ah,31H AX=31A3H
mov al,23H AX=3123H
add ax,ax AX=6246H
mov bx,826CH BX=826CH
mov cx,ax CX=6246H
mov ax,bx AX=826CH
add ax,bx AX=04D8H
mov al,bh AX=0482H
mov ah,bl AX=6C82H
add ah,ah AX=D882H
add al,6 AX=D888H
add al,al AX=D810H
mov ax,cx AX=6246H
(2) 只能使用目前学过的汇编指令,最多使用 4 条指令,编程计算 2 的 4 次方。
解:
mov ax,2
add ax,ax
add ax,ax
add ax,ax
检测点 2.2
(1) 给定段地址为 0001H,仅通过变化偏移地址寻址,CPU 的寻址范围为 00010H 到 1000FH。
![](https://csdnimg.cn/release/download_crawler_static/19037283/bg2.jpg)
2
(2) 有一数据存放在内存 20000H 单元中,先给定段地址为 SA,若想用偏移地址寻到此单元。
则 SA 应满足的条件是:最小为 1001H,最大为 2000H。
检测点 2.3
下面的 3 条指令执行后,CPU 几次修改 IP?都是在什么时候?最后 IP 中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
解:
修改 4 次;第一次在 CPU 读取“mov ax,bx”后,第二次在 CPU 读取“sub ax,ax”后,第三
次在 CPU 读取“jmp ax”后,第四次在 CPU 执行完“mov ax,bx”后;最后 IP 中的值为 0。
实验 1 查看 CPU 和内存,用机器指令和汇编指令编程
1.略
2.
(1)略
(2)略
(3)查看内存中的内容。
PC 机主板上的 ROM 中写有一个生产日期,在内存 FFF00H~FFFFFH 的某几个单元中,请找出
这个生产日期并试图改变它。
解:内存 FFF00H~FFFFFH 为 ROM 区,内容可读但不可写。
(4)向内存从 B8100H 开始的单元中填写数据,如:
-e B810:0000 01 01 02 02 03 03 04 04
请读者先填写不同的数据,观察产生的现象;在改变填写的地址,观察产生的现象。
解:8086 的显存地址空间是 A0000H~BFFFFH,其中 B8000H~BFFFFH 为 80*25 彩色字符模式
显示缓冲区,当向这个地址空间写入数据时,这些数据会立即出现在显示器上。
第 3 章 寄存器(内存访问)
检测点 3.1
(1) 在 Debug 中,用“d 0:0 1f”查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器的值。
mov ax,1
mov ds,ax
mov ax,[0000] AX=2662H
![](https://csdnimg.cn/release/download_crawler_static/19037283/bg3.jpg)
3
mov bx,[0001] BX=E626H
mov ax,bx AX=E626H
mov ax,[0000] AX=2662H
mov bx,[0002] BX=D6E6H
add ax,bx AX=FD48H
add ax,[0004] AX=2C14H
mov ax,0 AX=0000H
mov al,[0002] AX=00E6H
mov bx,0 BX=0000H
mov bl,[000C] BX=0026H
add al,bl AX=000CH
(2)内存中的情况如图 3.6 所示
各寄存器的初始值:CS=2000H,IP=0,DS=1000H,AX=0,BX=0;
① 写出 CPU 执行的指令序列(用汇编指令写出)。
② 写出 CPU 执行每条指令后,CS、IP 和相关寄存器中的数值。
③ 再次体会:数据和程序有区别吗?如何确定内存中的信息哪些是数据,哪些是程序?
解: 初始值:CS=2000H,IP=0,DS=1000H,AX=0,BX=0
① ②
mov ax,6622H AX=6622H 其他寄存器保持不变,以下同理
jmp 0ff0:0100 CS=0ff0H,IP=0100H
mov ax,2000H AX=2000H
mov ds,ax DS=20000H
mov ax,[0008] AX=C389H
mov ax,[0002] AX=EA66H
③ 没有区别,被 CS:IP 指向的信息是程序;被传送、运算等指令操作的是数据。
检测点 3.2
(1) 补全下面的程序,使其可以将 10000H~1000FH 中的 8 个字,逆序复制到 200000H~2000FH
中。逆序复制的含义如图 3.17 所示(图中内存里的数据均为假设)。
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax
mov sp,10H
push [0]
push [2]
![](https://csdnimg.cn/release/download_crawler_static/19037283/bg4.jpg)
4
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
(2) 补全下面的程序,使其可以将 100000H~1000FH 中的 8 个字,逆序复制到 200000H~2000FH
中。
mov ax,2000H
mov ds,ax
mov ax,1000H
mov ss,ax
mov sp,0
pop [E]
pop [C]
pop [A]
pop [8]
pop [6]
pop [4]
pop [2]
pop [0]
实验 2 用机器指令和汇编指令编程
1.预备知识:Debug 的使用
略
2.实验任务
(1) 使用 Debug,将上面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填
空。
mov ax,ffff
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax,[0] ;ax=58EA
add ax,[2] ;ax=5CCA
mov bx,[4] ;bx=30F0
![](https://csdnimg.cn/release/download_crawler_static/19037283/bg5.jpg)
5
add bx,[6] ;bx=6021
push ax ;sp=00FE;修改的内存单元的地址是 220FE,内容为 5CCA
push bx ;sp=00FC;修改的内存单元的地址是 220FC,内容为 6021
pop ax ;sp=00FE;ax=6021
pop bx ;sp=0100;bx=5CCA
push [4] ;sp=00FE;修改的内存单元的地址是 220FE,内容为 30F0
push [6] ;sp=00FC;修改的内存单元的地址是 220FC,内容为 2F31
注:内存中的数据会因机器、环境而异
(2) 仔细观察图 3.19 中的实验过程,然后分析:为什么 2000:0~2000:f 中的内容会发生改
变?
解:t 命令为单步中断,CPU 会保护现场,即顺序把标志寄存器、CS、IP 入栈,此题是关于
后面章节的中断问题。
第 4 章 第一个程序
实验 3 编程、编译、连接、跟踪
(1) 将下面的程序保存为 t1.asm,将其生成可执行文件 ti.exe。
assume cs:codesg
codesg segment
mov ax,2000h
mov ss,ax
mov sp,0
add sp,10
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00h
int 21h
codesg ends
end
剩余56页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/a143a737158f4990a8660ad569a0d6cb_weixin_40098819.jpg!1)
weixin_kobee
- 粉丝: 2
- 资源: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)