实验在P172

代码如下

assume cs:codesg,ds:datadata segmentdb'1975','1976','1977','1978','1979','1980','1981','1982','1983'db'1984','1985','1986','1987','1988','1989','1990','1991','1992'db'1993','1994','1995';以上是表示21年的21个字符串,都是连续存放的每一个字符占一个字节,共占据84个字节dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000;以上是表示21年公司总收入的21个dword型数据,每个数据占据4个字节,共占据84个字节dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226dw 11543,14430,15257,17800;以上是表示21年公司雇员人数的21个word型数据,每个数据占据2个字节,共占据42个字节data ends;编程,将data段中数据按如下格式写入到table段中,并计算21年中的人均收入(取整),结果也按照一定格式保存在table中。table segmentdb 21 dup ('year summ ne ??')table ends    codesg segmentstart:mov ax,datamov ds,ax;ds为data段的段地址mov ax,tablemov es,ax;es为table段的段地址mov bx,0mov di,0mov cx,21s0:mov dx,cxmov cx,4s:mov al,ds:[bx]mov es:[di],almov ah,ds:84[bx]mov es:5[di],ah;di+5的位置写入收入,数据在bx+84中inc diinc bxloop smov cx,dxsub di,4add di,10h;这两行相当于换行loop s0;以上代码写入了4字节数据的所有录入,接下来写两个2字节的mov bx,168mov di,0ahmov cx,21mov si,4;si用于写入空格s1:mov al,ds:[bx]mov es:[di],almov ah,ds:1[bx]mov es:1[di],ahmov byte ptr es:3[di],3fhmov byte ptr es:4[di],0;写入问号,问号的ascii码为3f。高位补0mov byte ptr es:[si],20hmov byte ptr es:5[si],20hmov byte ptr es:8[si],20hmov byte ptr es:11[si],20h;空格写入完成add si,10hadd di,10hadd bx,2loop s1mov ax,4c00hint 21hcodesg endsend start

这个调试中有很多问题。现在还存在一些冗余,但可以运行,可读性也很好,画个图一目了然

一定要注意不能用mov 寄存器简介寻址,寄存器间接寻址 的方式传递数据

在数据传输时一定要人为规定它的数据长度,要么通过寄存器名指定长度,要么用操作符 X ptr 指明

这是执行后的table 段中的数据格式,20为空格的ASCII码,?的码是3f

王爽版汇编语言实验7 寻址方式在结构化数据访问中的应用相关推荐

  1. 重做实验七 寻址方式在结构化数据访问中的应用

    先处理第一行所有数据: ;实验七 寻址方式在结构化数据访问中的应用;编程 将data段中的数据 按照如下格式写到table段中,并计算21年中的人均收入(取整) ;结果也按照下面的格式保存在table ...

  2. 实验七 寻址方式在结构化数据访问中的应用

    下面的程序中,已经定义好了这些数据 ;实验七 寻址方式在结构化数据访问中的应用;编程 将data段中的数据 按照如下格式写到table段中,并计算21年中的人均收入(取整) ;结果也按照下面的格式保存 ...

  3. 汇编语言:实验7寻址方式在结构化数据访问中的应用

    实验介绍 下面程序中,已经定义好了这些数据: assume cs:codesg,ds:tabledata segment db '1975','1976','1977','1978','1979',' ...

  4. 解决 王爽写的汇编语言的第七个验七- 寻址方式在结构化数据访问中的应用

    原文: 汇编语言-(第三版) 王爽-著 (实验七) 寻址方式在结构化数据访问中的应用 https://www.52pojie.cn/thread-1241289-1-1.html (出处: 吾爱破解论 ...

  5. 实验7 寻址方式在结构化数据访问总的应用

    做本实验时明显感觉寄存器不够用,所以要对bx,si,di,bp的使用仔细阅读,本题比较琐碎,做本题更需要的是耐心,耐心,耐心. assume cs:codedata segment db '1975' ...

  6. 王爽老师汇编语言实验7

    目录 1.首先观察数据 定义了三个类型的数据分别是: 2.验证数据 3.将数据和寄存器绑定 前边几行代码是用来将寄存器和段地址关联起来的 4.下面我们来一个一个解决问题 (1)先把年份放到对应位置 法 ...

  7. 汇编语言(王爽版)实验一

    Debug是什么? Debug是DOS.Windows都提供的实模式(8086方式)程序的调试工具.使用它,可以查看CPU各种寄存器中的内容.内存的情况和在机器码级跟踪程序的运行 我们用到的Debug ...

  8. 汇编语言(第三版)王爽著(实验十一)编写子程序

    三.实验内容.程序清单及运行结果 1.编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母,描述如下. 名称:letterc 功能:将以0结尾的字符串中的小写字母转变成大写字母 ...

  9. 汇编语言(第三版)王爽著(实验十)编写子程序

    实验内容.程序清单及运行结果 显示字符串: 问题: 显示字符串是现实工作中经常要用到的功能,应该编写一个通用的子程序来实现这个功能.我们应该提供灵活的调用接口,使调用者可以决定显示的位置(行.列).内 ...

最新文章

  1. 真菌其实是长歪了的动物
  2. 数据库新秀 postgresql vs mongo 性能PK
  3. Node环境的配置与安装(windows系统)(超详细)
  4. platform_set_drvdata和platform_get_drvdata用法【转】
  5. VMware10上新建虚拟机步骤图解
  6. IO流的应用_Copy文件
  7. ArrayList 一个面试题
  8. 001 python接口 get请求
  9. 2019牛客多校第六场H Pair(数位DP 多个数相关)题解
  10. mysql工作原理(网络搜索整理的)
  11. ftp一句話download
  12. Ubuntu命令技巧
  13. 火绒阻止腾讯过度侵权行为,马化腾自查承认是团队违规,腾讯电脑管家道歉
  14. 菜学C++ Day55 OJ题目1151桐桐数
  15. 【网络Ping不通如何解决?】
  16. pands 画图 调整大小_图片处理小技巧(调整大小、批量命名),超级实用
  17. 通过RabbitMQ 进行消息通知
  18. win7打开任务管理器的快捷键
  19. crawler(七):Scrapy的Request和Response、Files Pipeline、Images Pipeline
  20. 使用设计模式出任CEO迎娶白富美(5)--原型模式解决车间管理规范问题

热门文章

  1. 企业IT管理基础知识巩固系列之(一)路由器
  2. krpano使用示例
  3. P1199(NOIP2010 普及组)三国游戏 题解
  4. 火狐浏览器弹性布局没有开启的问题
  5. QT下载和安装 指南教程
  6. 对啊英语音标---一、什么是字母的名称音和发音
  7. 服务器最多带多少硬盘,一般服务器的硬盘空间有多大?怎么能给那么多 – 手机爱问...
  8. 计算机子网掩码作用,什么是子网掩码 子网掩码的作用是什么?
  9. 找最大ASCII字符
  10. Matlab机器人的仿真(八):绘制机器人运动轨迹(复现)