当前位置: 首页 > news >正文

汇编实现逆序复制数据

一.实验目的

使其可以将10000H ~ 1000FH中的8个字,逆序复制到20000H ~ 2000FH中。

二.实验过程表示

三.部分汇编实现代码

mov ax,1000H  ;将1000H放入AX寄存器中
mov ds,ax     ;将AX寄存器中的内容放入DS寄存器中,这时候DS中存放的即为1000H,通过此指令我们知道数据段寄存器DS中存放的正是要被复制数据的内存单元的段地址mov ax,2000H  ;将2000H放入AX寄存器中
mov ss,ax     ;将AX寄存器中的内容放入SS寄存器中,即栈的段地址
mov sp,0010H  ;将0010H让入寄存器中,此时栈顶地址为20010Hpush [0]      ;通过前面的指令我们知道DS中存放的是1000H,这时候加上此处的偏移地址,可以算出入栈的数据正是内存单元地址为10000H中的数据即为0123H,而前面我们已经将栈顶设置为20010H,根据入栈指令push的执行顺序,先将sp-2变成2000EH,然后将0123H送入2000EH处,实现了逆序存放
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]mov ax,2000H
mov ds,axmov ax,1000H
mov ss,ax
mov sp,0000Hpop [E]
pop [C]
pop [A]
pop [8]
pop [6]
pop [4]
pop [2]
pop [0]

以上表示数据从源地址10000H~1000FH逆序复制到目标地址20000H~2000FH。

使用循环和寄存器操作,实现了数据的逆序存放。

 


http://www.mrgr.cn/news/53232.html

相关文章:

  • B2081 与 7 无关的数
  • 【开源项目】数字孪生智慧桥梁~虎门大桥——开放数据及源码
  • 【代码随想录Day45】动态规划Part13
  • 复习:如何理解 React 中的 fiber
  • 一键获取每日股票数据,自动更新,尽在掌握
  • 安全见闻笔记
  • [Gtk] 工程
  • OPENSSL-2023/11/10学习记录-C/C++对称分组加密DES
  • EPS导出DWG存在地物缺失或者没有编码属性的情况
  • float数据分别以int和float类型打印的反汇编分析
  • 【网络协议】之 HTTP 协议详解
  • 简单三步完成 Telegram 生态的 Web3 冷启动
  • 网络通信与并发编程(二)基于tcp的套接字、基于udp的套接字、粘包现象
  • Postman 接口测试
  • 去除视频水印的三种方法,有手就会
  • Vscode+Pycharm+Vue.js+WEUI+django火锅(7) 傍着Copliot战WEUI Picker
  • 1.1 C++语言基础面试问题
  • 试用cursor的简单的记录
  • 力扣困难题汇总
  • OQE-OPTICAL AND QUANTUM ELECTRONICS