一、实验目的

掌握汇编编程规范,熟悉编程环境。

二、实验内容

1.编程:向内存0:200-0:23F依次传送数据0-63(3FH)。
2.编程:编写code段代码,用push指令将a段中的word数据逆序存储到b段中。

三、实验步骤算法及关键代码

第一题:
1.实验思路与算法

①思路:
实验要求是将0:200-0:23F中的内容依次传送0-63,分析一下题目就可以发现,本题不需要进行数据的逆置或者其他操作,因此可以直接采用循环赋值的方法实现。
②相关设置与算法:
设置DS为段地址0,BX存储偏移地址,起址为200,因此初始化BX为200;
设置CX为循环计数器,每循环一次BX与DX加一,由存储单元数可知需要赋值64次,因此设置CX=64;
设置DX存储每次循环需要赋到存储单元的具体数字。
初始化代码:

MOV AX,0
MOV DS,AX
MOV BX,200H
MOV CX,64
MOV DX,0
循环代码:
S:MOV [BX],DX
INC DX
INC BX
LOOP S

2.实验代码

ASSUME CS:CODES
CODES SEGMENT
START:MOV AX,0MOV DS,AXMOV BX,200HMOV CX,64 MOV DX,0S:MOV [BX],DXINC DXINC BXLOOP SMOV AH,4CHINT 21H
CODES ENDS
END START

3.实验结果
起始寄存器内容与指令地址:

循环前

循环后

第二题:
1.实验思路与算法

①思路:
本题中需要使用栈,通过先入后出完成逆置,同时需要对已经设置的两个数据区域进行访问,最开始的思路其实是设置一个新栈,将a段内容入栈,然后再将所有内容出栈存到b段;但之后想到其实可以最开始就将b段设置为栈,这样减少了出栈与存值的操作。
②相关设置与算法:
设置B地址为栈的段地址,由SS寄存器存储;由于数据为字型数据,将栈底的下一个存储单元地址,即偏移地址为0010H,并由SP寄存器存储;
设置DS为A段地址,BX记录偏移地址,初始化为0;
设置CX为循环计数器,由于有八个数据需要传送,因此CX初始化为8;
设置DX用来暂存数据区取出的数据;
在循环时,将取出数据直接压栈,并将BX加一两次(由于数据为字型)。

2.实验代码

ASSUME CS:CODE
CODE SEGMENT
A SEGMENTDW 1,2,3,4,5,6,7,8
A ENDS
B SEGMENTDW 0,0,0,0,0,0,0,0
B ENDS
START:MOV AX,BMOV BX,0010HMOV SS,AXMOV SP,BXMOV AX,AMOV DS,AXMOV BX,0MOV CX,8MOV DX,0S:MOV DX,[BX]PUSH DXINC BXINC BXLOOP SMOV AH,4CHINT 21H
CODE ENDSEND START

3.实验结果
起始寄存器内容与指令地址:

循环前:
a段:

b段:

寄存器:

循环后:

四、实验小结(简单说明实验过程中出现的问题和解决方法)
本次实验重点练习了这段时间学习过程中比较重要的循环与栈的相关知识,整体题目相对还是比较容易实现了,通过这次实验其实收获更多的是对实验环境IDE的熟悉与Debug语法的学习,这在之后的学习与实验中是一个不可或缺的技能点。
实验中暂未因为编程与思路的问题被难住,虽然题目难度其实不大,但从一方面讲自己近期的学习得到了一定的肯定;但Debug中指令的操作确实花了些时间,尤其是在一些需要给出确定内存地址的指令用的还不是很娴熟,希望之后能够再接再厉。

汇编语言程序设计实验一相关推荐

  1. 计算机组成原理汇编程序实验,计算机组成原理汇编语言程序设计实验.ppt

    汇编语言程序设计实验主讲:马冰汇编语言上机操作步骤汇编语言上机所必备的软件汇编语言上机操作过程汇编语言上机所必备的软件操作系统:DOS或CCDOS编辑程序:行编辑程序EDLIN.COMWPS全屏编辑程 ...

  2. 汇编语言程序设计实验——字符统计

    [实验题目]字符统计 [实验内容]从键盘上输入一个字符串,然后统计英文字母.数字字符和其他字符的个数并输出 [实验目的] 1. 掌握输入字符串的DOS功能调用 2. 掌握分支程序设计方法 3. 掌握二 ...

  3. 汇编语言程序设计 实验九

    实验内容 实验一: 补全程序t1.asm,完成在屏幕上输出内存单元中的十进制两位数 ; 在屏幕上输出内存单元中的十进制两位数 assume cs:code, ds:data data segmentd ...

  4. 电子科大计算机调试,电子科大计算机学院 汇编语言程序设计 实验报告 99分精品版.doc...

    电子科技大学 计算机科学与工程 学院 标 准 实 验 报 告 (实验)课程名称 汇编语言与微机接口技术综合实验 电子科技大学教务处制表 电 子 科 技 大 学 实 验 报 告 (一) 学生姓名:郫县英 ...

  5. 南邮汇编语言程序设计实验二————用户登录验证程序的设计

    目录 实验环境(实验设备) 实验要求 实验代码 相关函数 实验结果 实验环境(实验设备) 硬件:微型计算机 软件:Windows 操作系统.汇编语言开发工具MASM或TASM 实验要求 1. 程序执行 ...

  6. 汇编语言程序设计实验报告三

    南京信息工程大学实验报告 实验名称 实验 3 编程.编译.连接.跟踪 实验日期2018.11.18 得分 学院 计软院 专业 计算机科学与技术 年级 2017级 班次  5班   姓名 陈奕明  学号 ...

  7. 南京邮电大学汇编语言程序设计实验一:汇编语言语法练习与代码转换

    一.实验目的和要求 1. 掌握汇编语言源程序的格式: 2. 进一步学习汇编语言源程序的编辑.汇编.目标文件的链接和可执行文件的执行全过程: 3. 掌握编辑软件.TASM/MASM.TLINK和TD的使 ...

  8. 南京邮电大学汇编语言程序设计实验一(汇编语言语法练习与代码转换)

    文章目录 一.程序改错(显示25+9=34) 二.统计字符串(42H~45H) 一.程序改错(显示25+9=34) 排除语法错误:给出的是一个通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇 ...

  9. 汇编语言程序设计实验报告一

    南京信息工程大学实验报告 实验名称 用机器指令和汇编指令编程(1) 实验日期   2018.10.22 学院:计软院 专业:计算机科学与技术 年级:2017级 班次:5班 姓名:陈奕明 学号 2017 ...

最新文章

  1. 华胜天成1.18亿美元收购美国GD公司
  2. QT 使用全局变量的方法
  3. python操作xlsx文档
  4. windows无法完成安装 若要在此计算机上安装_全新安装Windows10 2004的技巧,官方工具,安全高效...
  5. KVM中断虚拟化(一)
  6. day10-Python学习笔记(二十三)线程池,unittest参数化,协程
  7. odoo 14 手册 客户 报价单 销售订单
  8. Linux学习笔记之秋水BBR一键部署
  9. smartPrinter安装报错
  10. VMware SDS之九: VMware软件定义存储鲜为人知的另一部分
  11. C# 中2,10,16进制及其ASCII码之间转化
  12. Python线图点图--matplotlib.pyplot.plot
  13. excel饼图 将图例放在图中对应位置并显示百分比
  14. 复旦大学计算机系专业就业方向,2021年复旦大学专业排行榜,哪个专业就业比较好...
  15. [51nod13831048]整数分解为2的幂
  16. leafnotification_Notification Service
  17. 用 python 实现 简单AI 双人日麻(文字版)之一 建立胡牌逻辑
  18. win10局域网中设置共享文件夹
  19. 怎么通过微信接收阿里云主机监控告警
  20. js字母大小写转换方法

热门文章

  1. Cornell datasets转coco .json格式
  2. SCI检索报告证明下载
  3. 1024 | 第一波程序员日福利
  4. 手把手教你撸一个小程序带太阳码的海报分享
  5. java 素数的判断
  6. 调用mstsc命令_远程桌面命令是什么 如何使用命令连接远程桌面
  7. 2022年CCF发布计算领域高质量科技期刊分级目录
  8. 科技查新报告需要注意什么?不通过的原因有哪些?
  9. 毕业设计指导教师评语 计算机,毕业设计指导老师评语
  10. asp.net web应用程式的网站搭建及发布