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

AHU 汇编 实验二

一、实验名称:实验二 不同寻址方式的灵活运用

二、实验内容:定义数组a[6],用多种寻址方式访问对应元素,实现(a[0]+a[1])*(a[2]-a[3])/a[4],将结果保存在内存a[5]中,用debug查询结果。

  • 实验过程:

源代码:

data segmenta db 10,14,5,4,6,9data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov al,a    ;NO.1   //直接寻址mov bl,a+1mov cl,bl   ;NO.2   //寄存器寻址add al,clmov si,offset a+2mov bl,[si] ;NO.3   //寄存器间接寻址mov cl,[si+1];NO.4   //寄存器相对寻址sub bl,clmul blmov bl,2mov cl,[si+bx];NO.5  //基址变址寻址DIV clmov [si+bx+1],al;NO.6  //相对基址变址寻址mov ah,4chint 21hcode endsend start

运行截图:

  • 实验小结:

本次实验我们继续熟悉,掌握不同方式的寻址方法,分别运用,直接寻址,寄存器寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址共6种方法进行4则运算,按照题目要求完成实验。首先我们利用直接寻址的方式将数值名a(即内存地址)解码,获得数组的第一个元素值,将其放进al寄存器中,然后将第2个元素的值放进bl中,再用寄存器寻址的方法把元素值放进cl中,然后取出第三个元素的地址放进si寄存器中,然后运用寄存器间接寻址的方式解码元素值放进bl寄存器中,然后再运用寄存器相对寻址的方式得到第4个元素,放入cl寄存器中,再进行减法运算和乘法运算,然后用基址变址寻址方式得到第5个元素,再进行相除运算。最后用相对基址变址的寻址方式将结果放进al寄存器中。

http://www.lryc.cn/news/316663.html

相关文章:

  • Spring Boot单元测试与热部署简析
  • 3.12练习题解
  • Java中实现双向链表
  • 【DevOps实战之k8s】使用Prometheus和Grafana监控K8S集群
  • 【读论文】【精读】3D Gaussian Splatting for Real-Time Radiance Field Rendering
  • JVM理解学习
  • 使用 Ruby 或 Python 在文件中查找
  • python实现冒泡排序
  • 大数据开发(HBase面试真题-卷二)
  • 基于springboot+vue的线上教育系统(源码+论文)
  • 01-shell的自学课-基础变量学习
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Span)
  • 前端框架的演进之路:从静态网页到现代交互体验的探索
  • 在Linux/Ubuntu/Debian中设置字体
  • Python 常用内置函数,及实例演示
  • C++标准输入输出和名字空间
  • hive逗号分割行列转换
  • Jenkins插件Parameterized Scheduler用法
  • 西门子S7.NET通信库【读】操作详解
  • Qt/C++音视频开发69-保存监控pcm音频数据到mp4文件/监控录像/录像存储和回放/264/265/aac/pcm等
  • 闲聊Swift的枚举关联值
  • 抓取Instagram数据:Fizzler库带您进入C#爬虫程序的世界
  • Codeforces Round 933 (Div. 3) A~D
  • 《vtk9 book》 官方web版 第3章 - 计算机图形基础 (3 / 5)
  • pytorch 函数整理
  • docker实战之制作filebeat镜像
  • 【DAY11 软考中级备考笔记】数据结构 查找和排序
  • 华为机考:HJ102 字符统计
  • 安装配置HBase
  • 【更新】数字金融与企业ESG表现:效应、机制与“漂绿”检验数据集(2011-2022年)