汇编语言实验4-利用跳转指令构造循环
来源:互联网 发布:桔子酒店 知乎 编辑:程序博客网 时间:2024/05/29 14:09
1. 实验目的
- 能分析各种跳转指令构成的程序的运行原理
- 会用跳转指令构造循环解决应用问题
- 体验显示缓冲区的要求
2. 实验内容
任务1-奇怪的程序?
人工分析下面的程序,然后再在Debug程序中单步执行,观察每一步完成后的结果,并解释出现的现象。
程序如下:
assume cs:codesgcodesg segment mov ax,4c00h int 21hstart: mov ax, 0 s: nop nop mov di, offset s mov si, offset s2 mov ax, cs:[si] mov cs:[di], ax s0:jmp short s s1:mov ax, 0 int 21h mov ax, 0 s2:jmp short s1 nopcodesg endsend start
实验报告中,每运行一步,截图并描述清楚执行过程。涉及修改内存单元的,通过U命令或D命令,观察修改后的内容作为指令或数据该如何解释。
任务2-植入程序的程序
编程序,将beg_copy到end_copy的代码复制到0:200H处
assume cs:codesegcodeseg segmentstart: ...beg_copy: mov ax, 0 add ax, ax waitend_copy: nopcodeseg endsend start
提示:编好程序后,可以直接运行可执行文件,然后用debug程序用U命令查0:200H处的代码。
参考解答
任务3 - 循环程序的实现
在下面的数据段中,给出了全班3名同学OS、AL、SE、DB课程的成绩,请编程计算出平均成绩,写在 ? 处。
要求写两个版本的程序:(1)用jcxz指令构造循环;(2)用cmp指令、jxxx系列指令配合构造循环。
datasg segment db '201558501111','MMTJAB ',90,100,76,89,? db '201558501112','ZhangAP ',97,82,79,88,? db '201558501113','ShaoXL ',77,98,89,91,? db 4 ;这是课程门数,将要用于作除数,偏移量为75datasg ends
在实验报告中,提供程序,以及运行结果的截图。
任务4 - 向显存中传入字符(即实验9)
编程序,在屏幕的中间分别显示绿色、绿底红色、白底蓝色的字符串 ‘YantaiUniversity’
提示:要计算出“屏幕的中间”对应的内存单元,然后将字符以及对应的属性字节写入到内存中。
按照P187实验9中的指导完成,实验报告中截屏说明。
参考解答
0 0
- 汇编语言实验4-利用跳转指令构造循环
- 汇编语言-条件跳转指令
- 【汇编语言笔记】内存地址操作,跳转指令
- C++实验4—利用循环求和
- C++实验4--1利用循环求和
- c++实验4-利用循环求和
- c++实验4—利用循环求和
- C++实验4-利用循环求和
- c++实验4-利用循环求和
- 跳转指令和循环指令详解
- 汇编语言-王爽-实验4
- 32位汇编语言学习笔记(7)--跳转指令
- 8086汇编语言 cx=0则跳转。指令jcxz实例
- c++上机实验4项目1-利用循环求和
- C++上机实验4项目1-利用循环求和
- C++第4次上机实验-利用循环求和
- 汇编语言-指令
- 汇编语言指令
- HTML5新标签在IE6/IE7/IE8中的几种兼容方式
- CUDA优化策略之-achieved occupancy
- 线性结构—栈
- 报错javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
- 设计模式学习笔记——装饰模式
- 汇编语言实验4-利用跳转指令构造循环
- C语言笔记之技巧
- 构建高效可申缩的结果缓存
- 文章标题Linux下进度条的简单实现
- 开篇
- 【java】【java collection】Vector
- RESTful服务最佳实践——(十三)
- hdu 5723 Abandoned country
- JavaScript 创建对象