检测点答案ppt课件_第1页
检测点答案ppt课件_第2页
检测点答案ppt课件_第3页
检测点答案ppt课件_第4页
检测点答案ppt课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.1,教学内容,第一章基本知识第二章寄存器第三章寄存器(内存访问)第四章第一程序第五章BX和loop指令第六章多段组成的程序第七章更灵活的内存寻址方法第八章关于数据处理的两个基本问题第九章传输指令原理第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每个内存芯片1.7 CPU内存读写1.15内存地址空间1.8地址总线。检查点1.1 (1)如果一个CPU的寻址能力为

2、8KB,则地址总线的宽度为13位。(2)1KB存储包含1024个存储单元,存储单元的编号为0到1023。(3)1KB存储可以存储8192 (2 13)位,1024个字节。(4)1GB为107741824 (2 30)个Byte,1MB为1048576 (2 20)个Byte,1KB为1024 (2 10)个Byte。(5)8080、8088、80296、80386的地址总线宽度分别为16、20、24、32,寻址功能分别为: 64 (KB)、1 (MB)、16 (MB)(6)8080、8088、8086、80286和80386的数据总线宽度分别为8、8、16、16、32。一次可以传输的数据包括:

3、 1 (B)、1 (B)、2 (B)、2 (B)、4 (B)。(7)要从内存读取1024字节的数据,需要读取8086次以上,80386次以上,读取256次以上。(8)存储中的数据和程序以二进制形式存档。第二章寄存器(CPU工作原理)、存储在2.1公共寄存器2.2字寄存器中的2.3几个汇编命令2.4物理地址2.5 16位结构中的CPU 2.6 8086CPU提供物理地址的方法、2.7“段地址16偏移地址=物理地址”的本质含义2.8段的概念2.9段寄存器2.10 CS和ii,检测点2.1 (1)在执行每个程序集指令后,为关联寄存器创建值。Mov ax,62627ax=f4a3h mov ah,31

4、h ax=31a3h mov al,23h ax=3123 h add ax,ax=6246 h mov bx,826ch bx=826ch,检测点2.1 (2)只能使用当前学习的装配命令,通过编程计算2的4次幂的命令最多为4次。Mov ax,2 ax=2 add ax,ax=4 add ax,ax=8 add ax,ax=16,检查点2.2 (2)包含存储在内存20000H单元中的数据,给定的段地址为SA。按偏移地址查找此单元。SA必须满足的条件为最低1001H和最高2000H。如果段地址指定为低于1001H和大于2000H,则无论偏移地址如何更改,CPU都无法检索2000h单元。故障排除过

5、程:物理地址=s a* 16EA 2000h=s a* 16EA SA=(2000h-ea)/16=2000h-ea/16EA获取最大值时,SA=2000h-ea,检查点2.2 (1)给定段地址为0001H,CPU的寻址范围为0010H到1000FH。故障排除流程:物理地址=s a * 16ea更改范围为0h至ffffh物理地址范围为(s a * 160h)至(s a * 16ffh)现在为SA=0001h,那么寻址范围为(0001h * 160h)、第三章寄存器(内存访问)、存储3.1内存中单词的3.2 DS以及address 3.3单词的传输3.4 mov、add、sub命令3.5数据段3

6、.6堆栈3.7 CPU提供的堆栈机制3.8堆栈顶部边界问题3.9 push、pop命令3.10,检查点3.1 (1)在调试中,使用“D 0:0 lf”查看内存。结果如下: 00003:0070 80 F0 30 ef 60 30 E2-00 80 12 66 20 22 60 0000:010 62 26 E6 D6 cc 2e 3c 3 B- ABBA 00 26 06 66 88在运行以下过程之前AX=0,BX=0002 bx=d6h add ax,bx ax=fd48h add ax,0004 ax=2c14h mov ax,0 ax=0 mov al,0002 ax=,对于检测点3.1

7、 (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。Mov ax,1000 h mov ds,ax mov ax,2000 h mov ss,ax mov sp,10h push2push4push6push8,检测点3.2 (2)完成以下过程,以允

8、许从10000H-1000FH反向将8个单词复制到20000H-2000FH。Mov ax,2000 h mov ds,ax mov ax,1000 h mov ss,ax mov sp,0 pop e pop c pop a pop 8 pop,从第4章的第一个程序、4.1源程序的编写到执行,4.2源程序4.3源程序的编辑4.4编译4.5连接4.6以简化方式编译和链接4.7 1.exe可执行文件的程序加载内存和执行原理4.9程序执行进程跟踪。在第5章bx和loop指令、5.1 bx 5.2 Loop指令5.3 debug中使用Loop指令实现的循环程序5.4 debug和汇编程序masm对指

9、令的不同处理5.5 loop和BX的联合应用5.6段落前缀5.7,第6章包含多个段的程序,在6.1代码段中使用数据在6.2代码段中使用堆栈6.3将数据、代码和堆栈放置在其他段中,测试点6.1 (1)下的程序实现用内存0:0至03336915单元的内容复盖程序的数据。完成流程:assume cs : codeg SG codeg segment dw 0123h、0456 h、0789 h、0a BCH、0defh、0f edh、0cbah、0987 h start :检测点6.1 (2)下的程序用存储器0:0 033369015单元的内容重写程序的数据,并通过堆栈执行数据传输。堆栈空间在程序中

10、设置。完成流程:assume cs : codeg SG codeg segment dw 0123h,0456 h,0789 h,0a BCH,0defh,0f edh,0 cbah,0987 h dw0,0或mov ax、cs mov ss、ax mov sp、24h或mov sp、36 mov ax、0 movds、ax mov bx、0 mov CX、8s : pushbxpop cs :bx;或pop ss: bx addbx、2loop s mov ax、4c00h int21h codegsg ends end start。第7章更灵活的内存寻址方法,7.1 and和or命令7.

11、4大小写转换问题7.5 8086寻址方法,第8章数据处理的两个基本问题,8.1 bx、si、di、BP 8.2机器指令处理的数据所在位置8.3汇编语言的数据位置表示8.4寻址方法8.5指令处理的数据需要多长时间?8.7 div命令8.8伪命令DD 8.9 dup,第9章传输命令原理,用于根据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)程序如

12、下:assume cs 3360 code data segment dw2 dup(0)data ends code segment start 3360 mov ax,data movds,ax mov bx,0 jmp word ptr响应db 3 dup (0)响应dw 2 dup (0)响应dd 0,检测点9.1 (1)程序如下。assume cs 3360 code data segment DD 12345678h data ends code segment start : mov ax,data movds,ax mov bx,0 mov bx,bx或mov bx,word

13、ptr 0;或mov bx、offset start mov bx 2、cs;或mov bx2,代码jmp dword ptr ds : 0代码ends end start完成程序,使用jmp命令运行后,CS:IP指向程序中的第一个命令。测试点9.1 (3)通过调试查看内存20003336900 be 00 06 00 00.此时,CPU执行命令:mov ax,2000 h movses,axjmp dword ptr es : 1000h之后,(cs)=0006H,(ip)=00BEH,检测点9.2修补程序编程,使用jcxz命令在内存2000H段中查找第一个值为零的字节,找到该偏移地址,并将该偏移地址存储在dx中。assume cs : code segment start : mov ax,2000 h movds,ax mov bx,0 s : mov ch,0 mov cl,bxjcxz ok;Cx=0时,CS:IP将ok Inc bx jmp short s ok : mov dx、bx mov ax、4c 00h int 21h code end start,检测点9.3完全编程,使用loop指令在内存2000H段中查找第一个值0字节,找到该偏移地址,并将该偏移地址存储在dx中。assume cs : code segment start : mov ax,2000h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论