(1) 代码段中使用数据

编程计算8个数据的和,结果保存在ax中。代码如下:

code segment
assume cs:code
    dw 0123H,0456H,0789H,00bcH,00efh,0667h,072fh,0990H
    mov bx,0
    mov ax,0
    mov cx,8
s:  add ax,cs:[bx]
    add bx,2
    loop s
    mov ax,4c00h
    int 21h
code ends
end

用debug调试跟踪如下:

Debug跟踪,修改ip指向代码,让程序合法运行:

修改源代码,指明程序入口,使程序合法化:

code segment
assume cs:code
    dw 0123H,0456H,0789H,00bcH,00efh,0667h,072fh,0990H
start:   mov bx,0
        mov ax,0
         mov cx,8
s:       add ax,cs:[bx]
         add bx,2
         loop s
         mov ax,4c00h
         int 21h
code ends
end start

(2) 代码段中使用栈

利用栈将程序中定义的数据逆序存放:

code segment
assume cs:code
    dw 0123H,0456H,0789H,00bcH,00efh,0667h,072fh,0990H
    dw 0,0,0,0,0,0,0,0
start:    mov ax,cs
          mov ss,ax
          mov sp,32; 设置栈顶ss:sp指向cs:32
          mov bx,0
          mov cx,8
s:        push cs:[bx]
          add bx,2
          loop s
          mov bx,0
          mov cx,8
s0:       pop cs:[bx]
          add bx,2
          loop s0
          mov ax,4c00h
          int 21h
code ends
end start; 指明程序的入口在start处

【汇编语言-3】 代码、数据、堆栈在同一个段相关推荐

  1. 堆栈、BSS段、代码段、数据段/RO、RW、ZI

    嵌入式_堆栈.BSS段.代码段.数据段/RO.RW.ZI 提示:这里只针对ARM嵌入式系统所说,PC端和其他系统不议 文章目录 嵌入式_堆栈.BSS段.代码段.数据段/RO.RW.ZI 前言 一.代码 ...

  2. 嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误

    嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误 2015-05-27 14:19 184人阅读 评论(0) 收藏 举报  分类: 嵌入式(928)  一般察看函数运行时堆栈的 ...

  3. 一种通过篡改特定代码数据修复嵌入式产品BUG的方法

    一.前言 在嵌入式产品开发中,难以避免地会因为各种原因导致最后出货的产品存在各种各样的BUG,通常会给产品进行固件升级来解决问题.记得之前在公司维护一款BLE产品的时候,由于前期平台预研不足,OTA参 ...

  4. 2023美国大学生数学建模竞赛C题思路解析(含代码+数据可视化)

    以下为2023美国大学生数学建模竞赛C题思路解析(含代码+数据可视化) 规则: 猜词,字母猜对,位置不对为黄色,位置对为绿色,两者皆不对为灰色. 困难模式下的要求:对于猜对的字母(绿色和灰色),下一步 ...

  5. python代码画皮卡丘_Python气象绘图实例我们一起画台风(代码+数据)

    前段时间袭击中国的超强台风"利奇马",以及这两天袭击美国的五级飓风"多利安",让我们感受到了大自然的力量.所以,今天分享一个简单的Python实例,也算是延续前 ...

  6. R语言ggplot2可视化:使用长表数据(窄表数据)( Long Data Format)可视化多个时间序列数据、在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series)

    R语言ggplot2可视化:使用长表数据(窄表数据)( Long Data Format)可视化多个时间序列数据.在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series) ...

  7. Python使用matplotlib可视化多个时间序列数据、在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series)

    Python使用matplotlib可视化多个时间序列数据.在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series) 目录

  8. STM32如何从串口接收数据,取出数据中的密码段再保存到flash中。

    STM32如何从串口接收数据,取出数据中的密码段再保存到flash中 STM32如何从串口接收数据,取出数据中的密码段再保存到flash中u8 Usart2_buf[256]; unsigned in ...

  9. 【杂谈】开学重磅!有三AI最强资料固态硬盘开启预订,3本书视频代码PPT,两套教学视频,所有付费专栏代码+数据...

    各位,秋招临近,开学也临近了,有三AI给大家准备了一个带学习资料的固态硬盘,月底发货,喜欢的同学就好好阅读本文了解一下吧. 硬盘产品细节 本次我们的产品为固态移动硬盘,注意是固态硬盘,不是普通U盘,虽 ...

最新文章

  1. java mod %区别_Java中 % 与Math.floorMod() 区别详解
  2. matlab拟合未定义函数或变量,关于matlab的未定义函数或变量的问题
  3. linux mysql忘记root_linux下mysql-5.6忘记root密码,重置root密码详细过程
  4. lt;二gt;读lt;lt;大话设计模式gt;gt;之策略模式
  5. lintcode 滑动窗口的最大值(双端队列)
  6. c++ string后面会添加‘\0‘
  7. jhipster项目迁移websocket
  8. JSP的7个动作指令-forward指令
  9. IndexError:boolean index did not match indexed array along dimension 0
  10. Python适合自己的IDE才是最好的IDE
  11. HDFS读流程,写流程,放置策略
  12. Java带有效期的Map
  13. 7种网络摄像机的设计方案,包含软硬件设计
  14. 程序员期望月薪那些事儿
  15. Python 机器学习 | 超参数优化 黑盒(Black-Box)非凸优化技术实践
  16. 唯品会服务器信息,唯品会商品详情信息接口
  17. java解析 电力协议_DLT645解析JAVA JAVA解析DLT645电表通信协议 - 下载 - 搜珍网
  18. php字符串6,6.PHP字符串
  19. golang pbkdf2加密存储用户密码
  20. CentOS8 DNF的使用

热门文章

  1. Effective C++学习第三天
  2. C++ 继承关系图 01
  3. html表格中绑定显示xml文档内容的简单实例,JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)...
  4. Linux系统【一】CPU+MMU+fork函数创建进程
  5. 用c++模拟实现一个学生成绩管理系统
  6. select、poll、epoll优缺点
  7. 系统盘点Android开发者必须掌握的知识点,全网疯传
  8. 基于ARM Cortex-M0+ 的Bootloader 参考
  9. java--xml文件读取(SAX)
  10. Java第二次实验报告——Java面向对象程序设计