首页 > 其他分享 >检测点 6.1

检测点 6.1

时间:2023-07-09 10:33:49浏览次数:35  
标签:mov codesg 6.1 dw cs ax 检测点 bx

检测点 6.1

1. 在代码中使用栈

(1)我们首先要有一段可当作栈的内存空间。如前所述,这段空间应该由系统来分配。我们可以在程序中通过定义数据来取得一段空间,然后将这段空间当作栈空间来用。
(2)栈:记住以下三点应该差不多了

  1. 任意时刻 ss:sp 指向栈顶
  2. 当栈为空时,ss:sp 指向栈底还要加一,例如 若将 cs:10 ~ cs:2f 的内存空间当作栈来使用,当栈为空时, ss:sp 指向 2f+1 ,即 cs:30
  3. 栈的特性:FILO

(3)dw 和 db:dw 为定义字型数据(十六位),db为定义字节型数据(八位)。

  • dw 的作用:既可以定义数据也可以开辟内存空间

2. 检测点

(1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:
解:

assume cs:codesg
codesg segment
     dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
     mov ds,ax # 设置段地址为0,因为题目要求用用内存0:0~0:15单元中的内容
     mov bx,0 # 偏移地址从0到15
     mov cx,8 # 虽然16个单元,但每次复制一个字,只需循环8次
  s: mov ax,[bx] # 复制内存单元的值
     mov cs:[bx],ax # 改写程序中数据,从cs:0开始
     add bx,2
     loop s
     
     mov ax,4c00h
     int 21h
codesg ends
end start

(2)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,数据的传送用栈来进行。栈空间设置在程序内。完成程序:

解:

assume cs:codesg
codesg segment
        dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
        dw 0,0,0,0,0,0,0,0,0,0
start:  mov ax,cs # 因为程序中数据的段地址与程序的段地址是一致的
        mov ss,ax
        mov sp,36 # 程序中数据共18个字,一共36个字节
        mov ax,0
        mov ds,ax
        mov bx,0
        mov cx,8
s:      push [bx]
        pop cs:[bx]
        add bx,2  
        loop s
        
        mov ax,4c00h
        int 21h
codesg ends
end start

标签:mov,codesg,6.1,dw,cs,ax,检测点,bx
From: https://www.cnblogs.com/alphadoiy/p/17538395.html

相关文章

  • vue项目报错:Node.js v18.16.1 error Command failed with exit code 1.
    原因:把node升级到了最新的长期支持版18.16.1,结果运行vue项目启动失败,报错如下:试了各种办法都解决不了,后面只能把node降级到16.20.1运行项目又可以启动了......
  • day06 6.1 Java基础
    day066.1Java基础【一】Python和Java中的字节与字符串的关系【1】Java中字节数组与字符串之间的转换关系字节数组的创建方式一importjava.lang.reflect.Array;importjava.util.Arrays;publicclassDemo01{publicstaticvoidmain(String[]args){//......
  • 9、Elasticsearch7.6.1 ES与HDFS相互转存数据-ES-Hadoop
    Elasticsearch系列文章1、介绍lucene的功能以及建立索引、搜索单词、搜索词语和搜索句子四个示例实现2、Elasticsearch7.6.1基本介绍、2种部署方式及验证、head插件安装、分词器安装及验证3、Elasticsearch7.6.1信息搜索示例(索引操作、数据操作-添加、删除、导入等、数据搜索及分......
  • 第一次 6.19-6.25
    前两天一直在搞数据结构的验收,所以忘了写了,今天补一下上一周的每周报告。上一周主要是在进行数据结构的小学期,其中各种算法让我感到可能这个暑假我也得找一些数据结构与算法的视频进行学习一下,最近看的几个算法都很难看懂,广度优先算法,深度优先算法,对于队列,栈的使用也很生疏,还有对......
  • 文心一言 VS 讯飞星火 VS chatgpt (48)-- 算法导论6.1 6题
    值为<23,17,14,6,13,10,1,5,7,12>的数组是一个最大堆吗?文心一言:是的,这个数组是一个最大堆。最大堆是一种特殊的二叉树,它满足以下性质:对于任意节点x,其子节点y的值都小于等于x的值。我们可以使用数组来表示最大堆的节点,其中根节点存储在数组的第一个位置,而其他节点存储在数组的后续位置......
  • 上周热点回顾(6.19-6.25)
    热点随笔:· 【网站公告】园子被处罚,请大家不要发布/转载任何网络小说 (博客园团队)· 程序员有没有必要成为业务领域专家? (勇哥编程游记)· 在这个大环境下我是如何找工作的 (crossoverJie)· 适合Windows桌面、MaterialDesign设计风格、WPF美观控件库【强烈推荐】 (chi......
  • 假期周进度报告1(6.18-6.24)
    6.18我已经分配了算法与数据结构的一阶段小组,和德民,垚基,旭彤我们分工明确,1. 7-2关键路径 2.7-5哈夫曼编码译码3.7-10寻找大富翁4. 7-11二路归并排序我分到了这四个题目在今天完成了关键路径的问题6.19今天尽力完成最终关键路径的问题,开始了哈夫曼编码译码的题目。创......
  • 文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题
    五、一个已排好序的数组是一个最小堆吗?文心一言:一个已排好序的数组不一定是一个最小堆。最小堆是一种特殊的二叉树,它满足以下性质:对于任意节点x,其父节点y的值都小于等于x的值。而一个已排好序的数组只是一个有序数组,它满足任意的元素都是按从小到大的顺序排列的,但并不一定满......
  • 文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题
    五、一个已排好序的数组是一个最小堆吗?文心一言:一个已排好序的数组不一定是一个最小堆。最小堆是一种特殊的二叉树,它满足以下性质:对于任意节点x,其父节点y的值都小于等于x的值。而一个已排好序的数组只是一个有序数组,它满足任意的元素都是按从小到大的顺序排列的,但并不一定......
  • 假期周进度报告1(6.18-6.24)
    本周(6.18-6.24)主要完成小学期的相关任务。下周准备继续进行小学期的任务。周日,进行算法与数据结构综合训练,基础算法设计,普里姆最小生成树算法,完成了普里姆最小生成树算法,遇到了节点未更新,导致输出结果都是第一个,解决方法是通过网络查询相关资料。周一,进行算法与数据结构综......