汇编小习题

news2024/10/4 19:50:00

汇编你还想及格?

未完待续

1. 注释下面代码

Title Hello Word
.386 ;使用80386指令集
.model flat, stdcall;内存模型为平坦模型,子程序采用stdcall约定
.stack 4096;为运行时堆栈分配4096空间
ExitProcess proto , dwExitCode:DWORD;为过程创建过程原型
;过程原型声明了过程的名称和参数列表。
DumpRegs proto
.data
gga label word ;不占空间
ggb dd 12345678h,87654321h;占4*2字节
;低78 56 34 12 21 43 65 87高 
ggc dword "abcd" ; 占4*1字节
ggd=1234h;不占空间,或者说所占空间不连着ggc
ggf equ 12h;不占空间,或者说所占空间不连着ggc
ggg byte 10 dup("abc");占用1*10*3字节
ggh dd 10h,3 dup(50),20;占用4*5字节
ggi db 2 dup(?);占用1*2字节
listsize = $-gga ;64=0x40

.code
Main proc
	mov ax,gga;ax=5678h
	mov ebx,[ggb+2];ebx=43211234h,内存中的高位放在ebx高位
	xor edx,edx;清零
	mov edx,listsize;40h
	call dumpregs;打印寄存器
	invoke ExitProcess,0;push 0  ;call   ExitProcess
Main endp
end main

 

 

2.

var1 word -16

原码1000 0000 0001 0000

补码1111 1111 1111 0000

十六进制:FFF0

对应的二进制数是1111 1111 1111 0000。

3.根据以下伪代码画出执行完push ebp后的堆栈图。

Push 10h
Push 20h
Push 30h
Call func1

func1 proc
    push ebp
    mov ebp,esp
    sub esp,8;为局部变量保留空间
    mov DWORD PTR [ebp-4],10 ;存放局部变量x 
    mov dword ptr [ebp-8],20 ;y
    movzx eax,[ebp+8];30h
    mov esp,ebp
    pop ebp
    ret
func1 endp

4. 要求编写汇编代码实现以下要求。

(1)接受用户输入四位字符串,如"4513"

(2)对字符串进行冒泡排序

(3)以二进制形式输出到控制台。比如1345输出0001 0011 0100 0101。

提示:可以使用Writechar,ReadChar。

解:排序完后eax循环左移,再把eax寄存器进栈保护,按位与保留最后一位,再与0比较,根据情况给al赋值,再调用writechar输出,pop eax。

5. 名词解析

数据传送,寻址

inc,dec不影响进位标志。

mov指令:两操作数尺寸一致,不能同时为内存操作数,目的操作数不能是CS,EIP,IP,立即数不能直接送给段寄存器。

xchg

neg

movsx

movzx

align

label

ptr

lengthof

typeof

sizeof

条件处理

not指令不影响标志。

test

loopz

ja

jb

jg

jl

高级过程

addr

offset

lea

stdcall

cdecl

proto

proc

uses

local

enter

leave

invoke

call

push

pop

pushfd

pushad

pusha


整数算术运算

imul

idiv

CBW

CWD

CDQ

ADC

SBB

stc

clc

shl

sal

rol

rcl

shld

串处理

rep

movsb

cmpsb

scasb

stosb

lodsb

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

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

相关文章

超好用的加密工具

超好用的加密工具 背景 介于行业原因经常要对相关文件进行加密传输,尽可能避免文件的泄漏,保护群众的隐私。于是我就开发了一个非常好用的加密工具。 环境 本工具目前只适用 Windows 操作系统,最好是Windows8以上,否则需要下载额外的依赖…

门限签名技术

私钥永远不存在 (t, n) 门限签名方案 (TSS) 是一种密码协议,允许一组 n 个参与者共同签署文档或交易,其中 t 1 个或更多参与者的任何子集都可以产生有效签名,但 t 的子集 或更少的人不能。 该方案旨在通过确保没有任何一方可以单方面生成签名…

Paddle使用问题No module named ‘paddle.fluid’

这是Paddle版本的问题,从飞桨框架 2.5 版本开始,已经废弃了 paddle.fluid 。 ​解决方案:修改paddle版本 pip install paddlepaddle2.4.0

Prompt工程与实践

Prompt工程与实践 一、Prompt与大模型 1.1 大模型的定义 大模型本质上就是一个概率生成模型,该模型的模型参数足够大,并且在训练过程中阅读了非常多的各个领域的语料。这个时候,如果通过一个正确的、有效的指令去引导这个模型,…

算法-从归并排序到归并分治

文章目录 前言介绍1 . 简单的归并排序2 . 数组的最小和问题3 . 逆序数对问题4 . 翻转对数量的计算 前言介绍 归并排序是Merge sort)是一种有效、稳定的排序算法,它采用了分治法(Divide and Conquer)的典型应用,何为分治 ? 即把多…

【Linux】Linux基本指令2

我们接着上一篇:http://t.csdnimg.cn/bSJx8 我们接着完善ls指令 我们可以直接匹配对应格式的文件匹配出来 1.man指令(重要): Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助…

【贪心算法】C++解决回文串、增减字符串匹配、分发饼干、跳跃游戏、加油站问题

1. 前言 贪心算法(Greedy Algorithm)是一种在每一步选择中都采取当前状态下最优决策的算法。贪心算法通常用来解决最优化问题,其核心思想是通过局部最优解逐步推导出全局最优解。 在贪心算法中,我们并不总是考虑到未来可能发生的…

【PingPong_注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …

如何下载b站(哔哩哔哩bilibili)的学习视频教程

方法1: 打开粘贴视频链接下载即可哔哩哔哩(bilibili)视频解析下载 - 保存B站视频到手机、电脑哔哩哔哩高清视频解析下载工具是一个免费的B站视频在线解析提取工具,支持提取B站APP和bilibili网站上的任何视频,提取出来的视频无水印.我们可以借助此下载器方便地将视频…

使用jdk自带jhat工具排查OOM问题

使用jdk自带jhat工具排查OOM问题 OOM java.lang.OutOfMemoryError: Java heap space排查步骤 编写一个测试类 public class TestJVM {Testpublic void test1() throws InstantiationException, IllegalAccessException {List<A> list new ArrayList<>();for (i…

ArcGIS不同图斑设置不同的透明度

对于设置一个图层的整体的透明度&#xff0c;我们在 ArcGIS制作带蒙版的遥感影像地图http://mp.weixin.qq.com/s?__bizMzIzNjM2NTYxMg&mid2247509080&idx1&sn38dccf0a52bb3bb3758f57114ee38b72&chksme8da161bdfad9f0d363da90959a8524dcf2b60d0e8d999f8ebeef0…

OrangePi Alpro开箱体验 ubuntu 与 openEuler 实时性对比

OrangePi Alpro开箱体验 & ubuntu 与 openEuler 实时性对比 1 介绍1.1 概述1.2 OrangePi Kunpeng Pro vs OrangePi AIpro 2 开箱3 芯片介绍OrangePi AIpro(8T)Atlas 200I DK A2 4 开机连接鼠标、键盘、显示器桌面查看系统信息配置网络查看IP远程SSHWinSCP 5 GPIO Toolgpio_…

MATLAB分类与判别模型算法:基于LVQ神经网络的乳腺肿瘤诊断分类程序【含Matlab源码 MX_003期】

说明 实现基于LVQ&#xff08;Learning Vector Quantization&#xff0c;学习向量量化&#xff09;神经网络的乳腺肿瘤诊断分类任务。LVQ是一种监督学习算法&#xff0c;通常用于模式识别和分类任务。 算法思路介绍&#xff1a; 导入数据&#xff1a; 加载名为"data.mat&…

C++学习~~对于二进制文件的读写命名空间再认识异常处理

目录 1.将数据以二进制形式放到磁盘 2.将上述的数据读入内存并且显示在显示器上面 3.异常处理机制 4.抛出异常的应用实例 1.将数据以二进制形式放到磁盘 &#xff08;1&#xff09;使用student定义结构体数组stud,并对其进行初始化&#xff0c;创建输出文件流对象outfile,这…

朋友圈定时发送设置

人日常中不可缺少的一件事&#xff0c;同时也是企业用来触达客户的重要渠道&#xff0c;下面一起来了解下微信朋友圈怎么定时发送呢&#xff1f;

音乐传奇告别之作:《杰作》未解之谜❗❗

坂本龙一的《杰作》不仅是一部音乐会纪录电影&#xff0c;更是他赠予世界的一封深情告别信。 这部影片精心收录了这位音乐巨匠生前最后一场钢琴独奏音乐会的珍贵瞬间&#xff0c; 其中涵盖了《圣诞快乐&#xff0c;劳伦斯先生》、《末代皇帝》、《水》等二十首令人陶醉的经典…

设计模式20——职责链模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 职责链模式&#xff08;Chain …

手推车式电缆故障定位系统

武汉凯迪正大一体化电缆故障高压发生器用于测试各种型号的380V,600V,10kV,35kV,110kV,220kV,380kV电压等级的铜铝芯电力电缆、同轴通信电缆和市话电缆的各类故障&#xff0c;如电缆全长、开路、短路、断线、低阻故障、高阻故障、高阻泄露、高低阻抗接地、接地故障、铠装接地故障…

数据集——高分辨率图像分割成大小均匀图像(附Python代码)

将高分辨率图像分割成大小均匀的图像用于训练&#xff0c;可以提高训练效率&#xff0c;提高模型性能&#xff0c;并提供更大的灵活性。 目录 一、大小均匀图像用于训练优势二、代码2.1 代码参数修改2.2 代码2.3 输出2.4 分割结果 三、总结 一、大小均匀图像用于训练优势 内存…

3步操作助您轻松实现苹果手机照片一键传输至电脑

对于很多使用苹果手机的用户来说&#xff0c;随着手机中照片和视频数量的不断积累&#xff0c;如何将这些珍贵的回忆从手机转移到电脑&#xff0c;以便更好地保存、整理和分享&#xff0c;成为了一个值得关注的问题。那么&#xff0c;苹果手机怎么把照片导入电脑呢&#xff1f;…