实验三 编程,编译,连接,跟踪

任务一

编写汇编源程序,源程序代码如图

这次实验的延伸思考和分析很丰富,有关每行汇编指令的功能以及程序实现的功能。

各自源代码运行结果不同,实现不同的数值显示。

(1)如上图所示,运行结果是36

接着按照要求,修改数字,重新汇编,观察结果。

(2)得到结果为11,可见数值产生变化

(3)验证其满足(cs)=(ds)+10H

(4)上图是利用u命令反汇编,观察得到的结果

(5)最后用t.p命令进行单步调试,观察所得结果。

任务二

用同样的方法,编写汇编源程序,如下图:

按照要求进行编译操作,发现产生了红色的不同数值。

dosbox运行时出现问题,左上方输出结果没有显示出来。需要cls命令清屏操作,再继续执行下一个。

个人总结与延伸思考:

联系做过的实验一,发现可以通过一些操作来更改图片及颜色。

汇编语言这门课程需要一些语言基础以及数制知识,同时在实验中又可以不断发现很多疑问。

需要加强对于DOSBox的熟悉,才能便于实验的学习探索。

原文地址:https://www.cnblogs.com/luyingzhu/p/9893472.html

时间: 2024-08-30 12:07:50

实验三 编程,编译,连接,跟踪的相关文章

实验三 编程、编译、连接、跟踪

学号:20171308150 姓名:江漪雯 班级:17计科4班 实验结论 一.练习1 第一步,编写汇编源程序 t1.asm,源程序代码如图 1-1 所示. 第二步,对源程序 t1.asm 进行汇编.连接.运行.调试 首先打开DOSBOX界面,输入如下指令,进入edit界面. 然后会出现以下界面,点击Enter进入. 输入指定代码,并保存为t1.asm. 然后进行编译 连接 运行 1)运行程序,观察程序输出结果是什么? 36 2)将 line4 和 line9 种寄存器 dl 的值分别修改为 0~

汇编语言:实验三 编程、编译、连接、跟踪

1)将下列程序保存为t1.asm,生成t1.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 endsend 2)用Debug跟踪t1.exe执行过程,写出每一步执行后相关寄存器内容和栈顶内容 3)PSP头2个字节是CD20,用Debug加载t1.e

汇编语言_实验三_编程、编译、连接、跟踪

四.实验结论 1.       练习1 第一步,在记事本中输入实验要求中提供的代码,结果如下: 将其以文件名t1.asm另存为到E:/masm. 第2步,为方便后续操作,此处先准备一个批处理文件: 同样将其放入E盘masm路径下,重命名为process.bat. (1)进入并配置好DSBox环境,使用process t1对t1.asm进行编译.连接并运行: 屏幕上出现36. (2)将修改line 4和line 6中寄存器dl增加的值,发现line 4中写入的数值是屏幕上显示的第一位数字1,lin

实验3 编程、编译、连接、跟踪

预备知识: 一个汇编语言程序从写出到执行的简要过程: 一:编写汇编源程序: 二:对源程序进行编译连接:可执行文件包含两部分内容:1.程序(指令机械码)和数据(程序定义的数据).2.相关信息描述 三:执行可执行文件中的程序 课本P94: (1) 将下面的程序保存为t1.asm文件,将其生成可执行文件t1.exe. assume cs:codesg   codesg segment           mov ax,2000H           mov ss,ax           mov sp

实验三:跟踪分析Linux内核的启动过程 ----- 20135108 李泽源

实验要求: 使用gdb跟踪调试内核从start_kernel到init进程启动 详细分析从start_kernel到init进程启动的过程并结合实验截图撰写一篇署名博客,并在博客文章中注明“真实姓名(与最后申请证书的姓名务必一致) + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”,博客内容的具体要求如下: 题目自拟,内容围绕Linux内核的启动过程,即从start_kernel

MySQL数据库实验三:连接查询

实验三    连接查询 实验名称:连接查询(2课时) 一.实验目的 理解JOIN语句的操作和基本使用方法,掌握内连接.外连接.自身连接的概念和使用. 二.实验环境 是MS SQL SERVER 2005的中文客户端. 三.实验示例 1. 查询每个学生及其选修课程的情况 SELECT  Student.*,SC.* FROM     Student,SC WHERE  Student.Sno = SC.Sno: 2.检索至少选修课程号为C2和C4的学生学号 SELECT X.S# FROM SC

实验报告(实验三)

北京电子科技学院(BESTI) 实     验    报     告 课程: 密码系统设计基础                     班级: 1352班.1353班 姓名:刘浩晨.王玥                学号:20135318. 20135232 成绩:             指导教师:娄嘉鹏       实验日期:2015.11.24 实验密级:        预习程度:        实验时间:15:30—18:00 仪器组次:          必修/选修:        

实验作业:使gdb跟踪分析一个系统调用内核函数

实验作业:使gdb跟踪分析一个系统调用内核函数(我使用的是getuid) 20135313吴子怡.北京电子科技学院 [第一部分] 根据视频演示的步骤,先做第一部分,步骤如下 ①更新menu代码到最新版 ②在代码中加入C函数.汇编函数 ③在main函数中加入makeconfig ④make rootfs ⑤可以看到qemu中增加了我们先前添加的命令: ⑥分别执行新增的命令 [第二部分]gdb跟踪分析一个系统调用内核函数 ①进入gdb调试 ②设置断点,继续执行: ③相对应的得到这样的结果: ④查看我

实验三:实时系统的移植

北京电子科技学院(BESTI) 实     验    报     告 课程: 密码系统设计基础                     班级: 1453 姓名:彭垚            学号:20145317 成绩:             指导教师:娄嘉鹏       实验日期:2016.11.23 实验密级:        预习程度:        实验时间:10:00-12:00 仪器组次:          必修/选修:                  实验序号:3 实验名称:  实