检测点答案.

上传人:我** 文档编号:116826640 上传时间:2019-11-17 格式:PPT 页数:40 大小:322.50KB
返回 下载 相关 举报
检测点答案._第1页
第1页 / 共40页
检测点答案._第2页
第2页 / 共40页
检测点答案._第3页
第3页 / 共40页
检测点答案._第4页
第4页 / 共40页
检测点答案._第5页
第5页 / 共40页
点击查看更多>>
资源描述

《检测点答案.》由会员分享,可在线阅读,更多相关《检测点答案.(40页珍藏版)》请在金锄头文库上搜索。

1、1 教学内容 第1章 基础知识 第2章 寄存器 第3章 寄存器(内存访问) 第4章 第一个程序 第5章 BX和loop指令 第6章 包含多个段的程序 第7章 更灵活的定位内存地址的方法 第8章 数据处理的两个基本问题 第9章 转移指令的原理 第10章 CALL和RET指令 第11章 标志寄存器 第12章 内中断 第13章 int指令 2 第1章 基础知识 1.1 机器语言 1.9 数据总线 1.2 汇编语言的产生 1.10 控制总线 1.3 汇编语言的组成 1.11 内存地址空间(概述) 1.4 存储器 1.12 主板 1.5 指令和数据 1.13 接口卡 1.6 存储单元 1.14 各类存储

2、器芯片 1.7 CPU对存储器的读写 1.15 内存地址空间 1.8 地址总线 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13位。 (2)1KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 1023 。 (3)1KB的存储器可以存储 8192(213) 个bit, 1024个Byte 。 (4)1GB是 1073741824 (230) 个Byte、1MB是 1048576( 220) 个Byte、1KB是 1024(210)个Byte。 (5)8080、8088、80296、80386的地址总线宽度分别为16根 、20根、24根、32根,则它们

3、的寻址能力分别为: 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章 寄存器(CPU工作原理) 2.1 通用寄存器 2.2 字在寄存器中的存储 2.3 几条汇编指令 2.4 物理地址 2.5 16位结

4、构的CPU 2.6 8086CPU给出物理地址 的方法 2.7 “段地址16+偏移地址 =物理地址”的本质含义 2.8 段的概念 2.9 段寄存器 2.10 CS和IP 2.12 代码段 检测点 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=

5、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.1 (2) 只能使用目前学过的汇编指令,最多使用4条指令,编 程计算2的4次方。 mov ax,2 AX=2 add ax,ax AX=4 add ax,ax AX=8 add ax,ax AX=16 检测点2.2 (2) 有一数据存放在内存20000H单元中,现给定段地 址为SA,若想用偏移地址寻到此单元。则SA应满足的 条件是:最小为 1001H ,最大为 2000H 。 当段地址给

6、定为 1001H 以下和 2000H 以上,CPU无论 怎么变化偏移地址都无法寻到20000H单元。 解题过程: 物理地址SA*16+EA 20000hSA*16+EA SA=(20000h-EA)/16=2000h-EA/16 EA取最大值时,SA=2000h-ffffh/16=1001h,SA为最小值 EA取最小值时,SA=2000h-0h/16=2000h,SA为最大值 检测点2.2 (1) 给定段地址为0001H,仅通过变化偏移地址寻 址,CPU的寻址范围为 0010H 到 1000FH 。 解题过程: 物理地址SA*16+EA EA的变化范围为0hffffh 物理地址范围为(SA*1

7、6+0h)(SA*16+ffffh) 现在SA=0001h,那么寻址范围为 (0001h*16+0h)(0001h*16+ffffh) =0010h1000fh 第3 章寄存器(内存访问) 3.1 内存中字的存储 3.2 DS和address 3.3 字的传送 3.4 mov、add、sub指令 3.5 数据段 3.6 栈 3.7 CPU提供的栈机制 3.8 栈顶超界的问题 3.9 push、pop指令 3.10 栈段 检测点3.1 (1) 在DEBUG中,用 “D 0:0 lf“ 查看内存,结果如下: 0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12

8、 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 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= 0 mov a

9、l,0002 ax= 00e6H mov bx,0 bx= 0 mov bl,000c bx= 0026H add al,bl ax= 000CH 检测点3.1 (2) 内存中的情况如图3.6所示 各寄存器的初始值:cs=2000h,ip=0,ds=1000h,ax=0,bx=0; 写出CPU执行的指令序列(用汇编指令写出)。 写出CPU执行每条指令后,CS、IP和相关寄存器的数 值。 再次体会:数据和程序有区别吗?如何确定内存中的 信息哪些是数据,哪些是程序? 检测点3.2 (1)补全下面的程序,使其可以将10000H-1000FH中的8个字 ,逆序拷贝到20000H-2000FH中。 mo

10、v ax,1000H mov ds,ax mov ax,2000H mov ss,ax mov sp,10h push 0 push 2 push 4 push 6 push 8 push A push C push E 检测点3.2 (2)补全下面的程序,使其可以将10000H-1000FH中的8个字 ,逆序拷贝到20000H-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 第4章 第一个程序 4.1 一个源程序从写出

11、到执行的过程 4.2 源程序 4.3 编辑源程序 4.4 编译 4.5 连接 4.6 以简化的方式进行编译和连接 4.7 1.exe的执行 4.8 可执行文件中的程序装入内存并运行的原 理 4.9 程序执行过程的跟踪 第五章 BX和loop指令 5.1 bx 5.2 Loop指令 5.3 在debug中跟踪用loop指令实现的循环程序 5.4 debug和汇编编译器masm对指令的不同处理 5.5 loop和bx的联合应用 5.6 段前缀 5.7 一段安全的空间 5.8 段前缀的使用 第六章 包含多个段的程序 6.1 在代码段中使用数据 6.2 在代码段中使用栈 6.3 将数据、代码、栈放入不

12、同的段 检测点6.1 (1)下面的程序实现依次用内存0:00:15单元中的内容改写程 序中的数据,完成程序: assume cs:codesg codesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h start: mov ax,0 mov ds,ax mov bx,0 mov cx,8 s: mov ax,bx mov cs:bx,ax add bx,2 loop s mov ax,4c00h int 21h codesg ends end start 检测点6.1 (2)下面的程序实现依次用内存0:00:15单元中的

13、内容改写程序中的数 据,数据的传送用栈来进行。栈空间设置在程序内。完成程序: assume cs:codesg codesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h dw 0,0,0,0,0,0,0,0,0,0 start: mov ax, codesg ;或mov ax, cs mov ss,ax mov sp, 24h ;或mov sp, 36 mov ax,0 mov ds,ax mov bx,0 mov cx,8 s: push bx pop cs:bx ;或 pop ss:bx add bx,2 loop

14、s mov ax,4c00h int 21h codesg ends end start 第七章 更灵活的定位内存地 址的方法 7.1 and和or指令 7.4 大小写转换的问题 7.5 8086的寻址方式 第八章 数据处理的两个基本 问题 8.1 bx、si、di、bp 8.2 机器指令处理的数据所在位置 8.3 汇编语言中数据位置的表达 8.4 寻址方式 8.5 指令要处理的数据有多长? 8.7 div 指令 8.8 伪指令 dd 8.9 dup 第九章 转移指令的原理 9.1 操作符offset 9.2 jmp指令 9.3 依据位移进行转移的jmp指令 9.4 转移的目的地址在指令中的jmp指令 9.5 转移地址在寄存器中的jmp指令 9.6 转移地址在内存中的jmp指令 9.7 jcxz指令 9.8 loop指令 9.9 根据位移进行转移的意义 9.10 编译器对转移位移超界的检测 检测点9.1 (1)程序如下。 assume cs:c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号