汇编语言第三章检测题
检测点3.1
1)在Debug中,用d “0:01f”查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 60 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 al,[0002] AX = 00E6H
mov bx,0 BX = 0
mov bl,[000C] BX = 0006H
add al,bl AX = 000CH
2)内存中的情况如图3.6所示。
各寄存器的初始值:CS=2000H,IP=0,DS=1000H,AX=0,BX=0;
1.写出CPU执行的指令序列(用汇编指令写出)。
2.写出CPU执行每条指令后,CS,IP和相关寄存器中的数值。
3.再次体会:数据和程序有区别吗?如何确定内存中的信息哪些是数据,那些是程序?
指令 | CS | IP | DS | AX |
mov ax,6622H | 2000H | 0 | 1000H | 6622H |
jmp 0ff0:0100 | 0ff0H | 0100H | 1000H | 6622H |
mov ax,2000H | 0ff0H | 0103H | 1000H | 2000H |
mov ds,ax | 0ff0H | 0105H | 2000H | 2000H |
mov ax,[0008] | 0ff0H | 0108H | 2000H | C389H |
mov ax,[0002] | 0ff0H | 010BH | 2000H | EA66H |
程序和数据在内存中看不出来区别,但是 如果是CS:IP所执行到的内存那就是程序,由其它寄存器比如DS指向的则是数据。
注:DS寄存器存放要访问数据的段地址。
检测点3.2
1)补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中。逆序复制的含义如图3.17所示(图中内存里的数据均为假设)。
注:8个字也就是16个内存单元
段寄存器SS 存放栈顶的段地址
寄存器SP 存放偏移地址
mov ax,1000H
mov ds,ax
(mov ax,2000H)
(mov ss,ax) (ss需要ax寄存器给值)
(mov sp,0010H) (sp不需要ax寄存器给值) 等待解决
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
2)补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中。
mov ax,2000H
mov ds,ax
(mov ax,1000H)
(mov cs,ax)
(mov sp,0) 因为要pop,sp要加,所以sp初始值应该是0
pop [E]
pop [C]
pop [A]
pop [8]
pop [6]
pop [4]
pop [2]
pop [0]
PS
1)把0000:0开始处的16字节按字逆序复制到1000:0,至少按两种方法。
第一种方法:
第二种方法,我想应该是自己手动写入
转载于:https://www.cnblogs.com/KogetsuChida/p/10404058.html
汇编语言第三章检测题相关推荐
- 第三章第九题(商业:检验ISBN-10)((Business: check ISBN-10))
第三章第九题(商业:检验ISBN-10)((Business: check ISBN-10)) **3.9(商业:检验ISBN-10)ISBN-10(国际标准书号)由10个个位整数d1d2d3d4d5 ...
- 《机器学习》周志华课后习题答案——第三章 (1-7题)
<机器学习>周志华课后习题答案--第三章 (1-7题) 文章目录 <机器学习>周志华课后习题答案--第三章 (1-7题) 一.试析在什么情形下式(3.2)中不必考虑偏置项b. ...
- 计算机网络 第三章 课后题答案
英文版教材第三章 1.2.3.4.6.7.9.11.14.15.16, 补充题1 一个上层分组(数据包)被分为 10 帧,每帧有 80%可能无损到达.如果在数据链路层没有差错控制,该报文要平均传送多少 ...
- 数据库系统概论 第三章 第五大题 实验报告
实验目标: 根据课本p71提供的表格,实现p130第五大题的问题,理解和掌握关系数据库标准SQL语言,能够熟练使用SQL语言完成各种数据库操作和管理任务.包括使用SQL DDL语句创建.更改和删除数据 ...
- 王爽 汇编语言 第三章 实验二
(1)先用a命令写入程序 然后一直输T,就可以看到 mov ax,[0] ;ax=C0EAH add ax,[2] ;ax=C0FCH mov bx,[4] ;bx=30F0H add bx,[6] ...
- 编译原理陈火旺版第三章课后题答案
下面答案仅供参考! 1.编写一个对于 Pascal 源程序的预处理程序.该程序的作用是,每次被调用时都将 下一个完整的语句送进扫描缓冲区,去掉注解行,同时要对源程序列表打印. 答:以下是一个简单的预处 ...
- 李航老师《统计学习方法》第二版第三章课后题答案
其他章节答案请参考我的汇总统计学习方法答案汇总,都是自己写的. 1.参照图3.1,在二维空间中给出实例点,画出 kkk 为1和2时的 kkk 近邻法构成的空间划分,并对其进行比较,体会 kkk 值的选 ...
- 基于案例的软件构造教程第三章课后题答案
2.用C.Java等编程语言,(1)定义ADT Stack.ADT Queue.ADT List:(2)编程实现上面定义的ADT:(3)设计测试用例,并用JUnit测试. class Stack {p ...
- 汇编语言:第三章 寄存器(内存访问)
3.1内存中字的存储 CPU中寄存器是16位的,可以用高低字节存储一个字,但是每个内存单元是8位的,只能存储一个字节, 所以内存中用相邻2个内存单元存储一个字的高低字节 如:20000数值(4E20H ...
最新文章
- 用户身份验证配置需考虑的因素
- 字符设备驱动程序之异步通知
- python socketserver实现服务器端执行命令 上传文件 断点续传
- 解决cocoapods在64位iOS7系统以下的警告问题
- 【转】删除已经存在的 TFS Workspace
- 黄聪:Discuz X2.0 SEO:论坛面包屑导航伪静态 去掉面包屑导航forum.php(转)
- oracle安装后再建库,oracle-数据库的安装与建库
- VSCode搭建vue前端开发工程的配置文件-launch.json
- UBUNTU上安装numpy
- eclipse tomcat 热部署
- mysql关系代数表达式,【数据库复习】关系代数
- win7专业版设置通电自启动
- 【C语言】输出杨辉三角形 - 杨辉直角三角形(杨辉三角最佳算法) 输出杨辉三角前十行
- 开关稳压器详解(四)-Buck降压型开关稳压器自举电路
- 4.5 Frank 口语习语前7
- ghost还原固态硬盘_不要Ghost和重装 两招把Win7克隆到SSD
- Mac pro M2芯片如何进入恢复模式
- Windows UI 测试
- 考研公式大全-提问版-数学二
- 网易七鱼“大闹”客服行业,真能一举定乾坤?
热门文章
- c语言中递增递减运算符,递增++和递减-C ++中的运算符
- java 8进制 前是 零,从零学java笔录-第6篇 进制之间转换
- c++ 输出string_来讲讲Java中String 类的知识点
- php fpm子进程数配置,php-fpm进程管理方式以及子进程数量配置原则详解
- 超级计算机手机芯片,美国开建arm超级计算机,单节点性能是手机芯片100倍
- oracle用游标drop多个表,Oracle Procedure中使用游标cursor更新多表?
- matlab电机建模,Matlab系列之无刷电机matlab建模.ppt
- python os.system
- CUDA TOOlkit Programming Guide 1.Introduction
- 图解TCPIP-传输层 TCP