汇编【王爽】实验3、4

news2024/12/26 22:01:40

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

assignment 1

编译链接生成可执行文件
在这里插入图片描述

assignment 2

  1. debug将程序载入内存,设置CS:IP:程序所在内存段的段地址为 D S = 075 C DS=075C DS=075C,则PSP的地址为 075 C : 0 075C:0 075C:0,程序的地址为 076 C : 0    ( 075 C + 10 : 0 ) 076C:0\;(075C+10:0) 076C:0(075C+10:0), C S : I P = 076 C : 0000 CS:IP = 076C:0000 CS:IP=076C:0000
    在这里插入图片描述
  2. 跟踪程序执行过程
    在这里插入图片描述
    用P命令执行INT 21
    在这里插入图片描述

assignment 3

  1. 查看PSP的内容
    在这里插入图片描述

实验4 [bx]和loop的使用

assignment 1

  1. 编写源程序
assume cs:codesg

codesg segment

mov ax, 0020H
mov ds, ax
mov bx, 0
mov dx, 0
mov cx, 64

s: 
mov [bx],dx
inc bx
inc dx
loop s

mov ax, 4c00h 
int 21h

codesg ends
end
  1. 编译,链接生成可执行文件
    在这里插入图片描述
  2. 查看载入内存的程序,可以看见标签s已被替换为地址 076 C : 000 E 076C:000E 076C:000E在这里插入图片描述
  3. 执行程序,验证结果,正确
    在这里插入图片描述

assignment 2

  1. 编写源程序:将bx寄存器两用,即作偏移地址,又作操作数,可将程序缩短为9条指令
assume cs:codesg

codesg segment

mov ax, 0020H
mov ds, ax
mov bx, 0
mov cx, 64

s: 
mov [bx],bx
inc bx
loop s

mov ax, 4c00h 
int 21h

codesg ends
end
  1. 其它步骤与assigment 1一致,验证结果,正确
    在这里插入图片描述

assignment 3

  1. 复制的是什么:复制程序的第一条指令mov ax,cs到 loop s 指令至内存地址 0020 : 0000 0020:0000 0020:0000
  2. 如何知道程序的字节数:首先可以确定第一个空应该填入CS,这是程序的段地址,其次在mov cx,_____ 上先随意填一个1,用debug跟踪程序,用U命令查看程序所占地址范围: 076 C : 0000 → 076 C : 0015 076C:0000 \to 076C:0015 076C:0000076C:0015,共 16 H   ( 23 D ) 16H\,(23D) 16H(23D)个字节,因此第二个空应该填入 16 H 16H 16H
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/164711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 初了解模板

一. 泛型编程 我们若是想实现一个需要对各类数据通用的功能,在C语言中是不太现实的,而在C中,我们可以运用函数重载,但我们依然需要写出多个内容极其类似的函数,例如想要实现交换 void Swap(int& a, int& b…

2022这特殊的一年,再见!

望着窗外的夕阳以及还未完全融化的积雪,我想是时候给这特殊的一年写篇总结了。于是我翻看了2021年的,发现文末所定的2022年目标。终于明白为什么老人不玩手机可以坐一下午了,因为往事回想起来就和电视连续剧一样。年初参加了开运跑&#xff0…

【UE】pak的mount(带源码解析)

本文使用的引擎版本为UE4.27 为了方便理解,文中选取的代码均为部分截取,只截取与小节相关的部分 文章目录概述几个涉及到的结构Mount时机pak读取优先级目录优先级根据文件名定优先级综上所述概述 正常的散文件加载是使用FFileHelper::LoadFileToArray等…

【阶段四】Python深度学习06篇:深度学习项目实战:卷积神经网络进行狗狗图像分类项目

本篇的思维导图: 项目背景 应用Keras框架构建卷积神经网络进行狗狗图像分类的预测,以及模型的优化。主要用来熟悉Keras卷积层、池化层网络的使用以及模型的优化方法。 数据获取 本次建模数据来源于网络,数据项统计如下: 数据集为狗狗数据集,来自全国各地的狗狗图…

算法进阶指南:第一章练习题

1.The Pilots Brothers refrigerator 牛客竞赛-The Pilots Brothers refrigerator 116. 飞行员兄弟 - AcWing题库 开关问题的特点是每个开关只会作用某个特定范围,所以每个开关最多操作一次,且操作先后次序对最后结果无影响。用16位二进制存储状态&am…

Unity 过场工具(Cutscene)设计(一)

Unity 过场工具(Cutscene)设计(一) 游戏中通常会涉及到过场内容的制作,从而来进行一些强表现,从而来进行剧情相关的串联,使游戏表现类容更丰富。比较典型的游戏 像原神,天刀等等游戏。 过场工具制作选择 过…

Java程序设计实验2 | Java语言基础(1)

*本文是博主对Java各种实验的再整理与详解,除了代码部分和解析部分,一些题目还增加了拓展部分(⭐)。拓展部分不是实验报告中原有的内容,而是博主本人自己的补充,以方便大家额外学习、参考。 目录 一、实验…

写在壬寅年末,2023年春节

先回顾过去几年写过的年末总结写在戊戌年末,2019年春节写在己亥年末,2020年春节写在庚子年末,2021年春节写在辛丑年末,2022年春节又一个农历年即将过去,写下这样的年末总结,已经是第5年,于是便有…

Nginx面试题(史上最全 + 持续更新)

尼恩面试宝典专题39:Nginx面试题(史上最全、持续更新) 本文版本说明:V27 《尼恩面试宝典》升级规划为: 后续基本上,每一个月,都会发布一次,最新版本,可以联系构师尼恩…

本周大新闻|传苹果MR开发样机已送出,比尔盖茨:不太看好Web3和元宇宙

本周大新闻,AR方面,苹果软件曝光“Reality OS”和“xrOS”;IVAS项目仅获批4000万美元;比尔盖茨:不太看好Web3和元宇宙;DigiLens工业AR眼镜ARGO;Kopin拆分部分OLED部门;LetinAR展示塑…

【Linux】gcc/g++的使用

这里写目录标题🚖gcc如何使用🚖函数库🌈动态库和静态库🚖gcc如何使用 ✒️预处理 预处理功能主要包括宏定义、文件包含、条件编译、去掉注释 实例: gcc -E myfile.c -o myfile.i “-E(大写)”&…

JVM(二)——参数调优

JVM参数调优 前言 你说你做过JVM调优和参数配置,请问如何盘点查看JVM系统默认值 使用jps和jinfo进行查看 -Xms:初始堆空间 1/64 -Xmx:堆最大值 1/4 -Xss:栈空间-Xms 和 -Xmx最好调整一致,防止JVM频繁进行收集和…

微信小程序项目实例——摇色子

微信小程序项目实例——摇色子 文章目录微信小程序项目实例——摇色子一、项目展示二、核心代码三、效果图文末项目代码见文字底部&#xff0c;点赞关注有惊喜 一、项目展示 摇色子是一款简易的游戏类小程序 用户可以投出1-9个色子 二、核心代码 dice.wxml <!--pages/dic…

编解码标准-H.264

H.264是MPEG-4家族中的一员&#xff0c;即MPEG-4系列文档ISO-14496的第10部分&#xff0c;因此被称作MPEG-4 AVC&#xff0c;MPEG-4重点考虑灵活性和交互性&#xff0c;而H.264着重强调更高的编码压缩率和传输的可靠性。 1、H.264 编码流程 1.1、slice&block 第一步&…

字节面试官: 让你设计一个MQ每秒要抗几十万并发,怎么做?

目录 1、页缓存技术 磁盘顺序写2、零拷贝技术3、最后的总结 这篇文章来聊一下Kafka的一些架构设计原理&#xff0c;这也是互联网公司面试时非常高频的技术考点。 Kafka是高吞吐低延迟的高并发、高性能的消息中间件&#xff0c;在大数据领域有极为广泛的运用。配置良好的Kaf…

电商项目之如何迁移千万级别的数据表

1 背景 电商系统一般都会有一张表记录买家的浏览器信息&#xff0c;包含但不限于浏览器ip、浏览器cookie信息、浏览器user-agent、当前页面的url、当前页面的refer。买家在电商网站上每一次操作&#xff0c;都会记录到该表。该表的数量量至少达到千万级级别。该表有什么用处&a…

07.优雅地断开套接字连接

优雅地断开套接字连接 本章将讨论如何优雅地断开相互连接的套接字。之前用的方法不够优雅是因为&#xff0c;我们是调用close或closesocket函数单方面断开连接的。 基于TCP的半关闭 TCP中的断开连接过程比建立连接过程更重要&#xff0c;因为连接过程中一般不会出现大的变数…

八、MySQL 常用函数汇总(1)

文章目录一、函数1.1 函数简介1.2 不同DBMS函数的差异二、数学函数2.1 绝对值函数ABS(x)和返回圆周率的函数PI()2.2 平方根函数SQRT(x)和求余函数MOD(x,y)2.3 获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x)2.4 获取随机数的函数RAND()和RAND(x)2.5 函数ROUND(x)、ROUND(x,y)和T…

keytool 工具介绍

使用JDK自带的 keytool 工具&#xff1a; 简介 keytool 命令是一个密钥和证书管理的工具。它允许用户使用数字签名管理自己的公钥/私钥对和相关证书&#xff0c;用于自我身份验证(向其他用户和服务验证自己)或数据完整性和身份验证服务。keytool 命令还允许用户缓存通信对等体…

【七牛云 后端】笔试面

一、选择、填空知识点整理 1. fork() 函数 fork() 函数通过系统调用创建一个与原来进程相同的进程&#xff08;如果初始参数或者传入的变量不同&#xff0c;两个进程也可以做不同的事&#xff09; 示例 —— #include <stdio.h> int main() {for(int i0; i<2; i){…