汇编语言 实验三

练习1:

编写代码:

使用masm实验:

得到输出结果为36

(2)将line4的dl变为2,line9的dl变为5,观察结果:

得到结果为25.

(3)在用debug对生成的可执行文件 t1.exe 进行调试。

用r命令

得到cs=076A,ds=075A,满足公式(cs)=(ds)+10H。

PSP(程序段前缀)的头两个字节是CD 20, 用debug查看PSP的内容,验证是否如此。

的确如此。

使用 u 命令对 t1.exe 进行反汇编,观察反汇编得到的源代码。

使用 t 命令和 p 命令(遇到 int 命令时,用 p 命令)单步调试,观察结果:

得到25。

练习2:

编写代码:

对源程序 t2.asm 进行汇编、连接、运行、调试 :

对t2.asm进行汇编、连接后,得到可执行文件t2.exe。运行t2.exe,观察程序运行 结果,验证是否在屏幕左上方出现红色的数值36。 注*)经测试,有些平台在 dosbox 下运行这个程序时有些问题,如果屏幕左上方没有 输出结果,请运行程序t2.exe前,先输入cls命令清空一下屏幕,然后再执行t2.exe。

重新打开t2.asm,尝试将源代码中line7的0433h→0432h, line10 的 0436h→0439h, 然后重新汇编、连接,得到可执行文件 t2.exe。使用 cls 命令清 屏后,再次观察程序运行结果。

结果为29

将源代码中line7的0433h→0333h, line10 的 0436h→0336h, 然后重新汇编、连接,得到可执行文件 t2.exe。使用 cls 命令清屏后,再次观察程序运行结果。

结果为36,数字颜色发生了变化。

3. 延伸思考和分析

(1)把练习2和实验 1「实验任务(4)」,放到一起看,观察并思考这两个实验任务之间 的关联,结合实验 1「实验任务(4)」以及练习 2 中每行汇编指令的功能,理解练习 2 中程 序t2.asm实现的功能。

(2)把练习 2 和练习 1 放到一起看,结合两个程序各自的源代码以及运行结果,观察 并思考这两个程序在实现数值显示时不同的做法。

实验总结:实验1中可以通过改变dl的值 ,改变输出结果。实验2中,我们可以通过改变bx的数值来改变结果的颜色和数值。

原文地址:https://www.cnblogs.com/mingyuliunian/p/9893167.html

时间: 2024-08-04 16:11:36

汇编语言 实验三的相关文章

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

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

汇编语言实验三

对t1进行编译,连接,执行得出结果. 修改第四第九行的值后再次编译,连接,执行得到图示结果. exe文件在debug中执行,满足关系(cs)=(ds)+10H, PSP(程序段前缀)的头两个字节是CD 20. u命令反汇编得到源程序 t命令和p命令逐句执行. 编写t2 编译,连接,执行出现红色36 修改t2 重新编译,连接 36变为29 再次修改t2 重新编译,连接 36变为蓝色 原文地址:https://www.cnblogs.com/Blogrmcx/p/9886643.html

实验三 、进程调度模拟程序

实验三.进程调度模拟程序 专业 网络工程   姓名 方俊晖 学号 201406114309 一.        实验目的 通过本实验可以加深对有关进程控制块.进程队列的概念的进一步理解. 二.        实验内容和要求 1.进程PCB的结构体定义 2.定义结构体 3.输入进程序列 4.排序(按到位时间) 5.输出进程运行的结果 三.        实验方法.步骤及结果测试 #include<stdio.h> #include<stdlib.h> #include<stri

实验三 进程调度模拟程序

一.实验目的 用高级语言完成一个进程调度程序,以加深对进程的概念及进程调度算法的理解.     二.实验内容和要求 设计一个有 N个进程并发执行的进程调度模拟程序. 进程调度算法:采用最高优先级优先的调度算法(即把处理机分配给优先级最高的进程)和先来先服务(若优先级相同)算法.动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定规则修改优先数.例如:在进程获得一次CPU后就将其优先数减少1,并且进程等待的时间超过某一时限(2个时间片时间)时增加其优先数等. (1).  每个进

实验三&#160;进程调度模拟程序

实验三 进程调度模拟程序 专业:物联网工程   姓名:黄淼  学号:201306104145 一. 实验目的和要求 目的: 用高级语言完成一个进程调度程序,以加深对进程的概念及进程调度算法的理解. 实验要求 设计一个有 N(N不小于5)个进程并发执行的进程调度模拟程序. 进程调度算法:“时间片轮转法”调度算法对N个进程进行调度. 二.实验内容 完成两个算法(简单时间片轮转法.多级反馈队列调度算法)的设计.编码和调试工作,完成实验报告. 1) 每个进程有一个进程控制块(PCB)表示.进程控制块包含

实验三+158+余超勇

实验三 功能性测试用例设计(4学时) 一.实验目的 掌握黑盒测试用例设计方法 二.实验要求 (1)对被测程序进行黑盒测试用例设计. (2)运用等价类.边界值.决策表.状态图法等进行测试用例设计. (3)对手机上任意一款音乐软件进行黑盒测试实践. 三.实验内容 1.对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结. 要求写出测试用例表.执行情况和测试小结. 测试连接:http://www.cnblogs.com/5257yu/p/6838362.html 2.对手机上任意一款

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

20145301&amp;20145321&amp;20145335实验三

20145301&20145321&20145335实验三 这次实验我的组员为:20145301赵嘉鑫.20145321曾子誉.20145335郝昊 实验内容详见:实验三

20145216 20145330《信息安全系统设计基础》实验三 实时系统的移植

20145216 20145330<信息安全系统设计基础>实验三 实时系统的移植 实验报告封面 实验内容 连接实验箱电源,用串口线.并口线.网线.连接实验箱和主机 安装ADS 安装GIVEIO驱动 安装JTAG驱动 配置超级终端 测试基本安装是否正确 实验步骤 连接实验箱电源,用串口线.并口线.网线.连接实验箱和主机 安装ADS 在00-ads1.2目录下找到安装文件,一路默认安装即可 在00-ads1.2\Crack目录下找到破解文件,进行破解,破解方法如下: 点击开始>所有程序>