一.实验目的及实验环境

实验环境:

1、熟悉宏指令、宏定义、宏调用以及宏展开的概念;掌握宏指令的定义与调用

的方法。

2、掌握子程序的定义、调用以及调用程序与子程序之间参数的传递方法。

3、了解宏指令与子程序的异同以及各自的适用场合。

实验环境:80x86系列微型计算机一台以及进行汇编语言程序设计所必需的编程工具(文本编辑器、ASM.EXE、LINK.EXE、DEBUG.EXE)

二.实验内容

从键盘输入10个无符号十进制数(小于256),将其转换为二进制数并存放在NUM字节型变量中,找出其中的

最大数,并将找出的最大数在屏幕上

显示出来。

要求:

①在屏幕上显示字符串提示信

息的功能由宏指令DSTRING实现;

②将键盘输入的十进制数转换

成二进制数由子程序DTOB实现;

③在N个无符号字节型二进制

数中找出最大数的功能由子程序

FMAX实现;

④将一个无符号字节型二进制

数转换为十进制数并在屏幕上显示

的功能由子程序BTOAD实现。

程序运行结果如右图所示。

三.方案设计

1、编程指导

(1)显示提示信息的宏指令DSTRING的编写

宏指令通常用于在程序中需要反复使用但所需指令条数又不是很多的情形;而对于需要经常使用且需要较多指令才能完成的功能通常通过子程序调用来实现。这是因为,从执行速度上看,由于子程序调用涉及到保护断点的操作,因此,子程序调用比宏调用执行时间相对要稍长一些;但从生成的可执行文件的大小方面考虑,子程序调用生成的文件要小一些。读者在进行汇编语言程序设计时,应综合考虑两者的利弊,以便进行合理选择。

下面给出实现提示信息显示的宏指令的定义:

DSTRING MACRO STRING

PUSH DX

PUSH AX

MOV DX,OFFSET STRING

MOV AH,09H

INT 21H

POP AX

子程序调用与宏定义的异同_宏指令及子程序设计实验相关推荐

  1. 子程序调用与宏定义的异同_微机原理 宏指令及子程序设计实验:宏指令和子程序的区别...

    西安邮电学院 微机原理实验报告 题 目: 宏指令及子程序设计实验 院系名称: 班 级: 学生姓名: 学号(8位): 指导教师: 2.5 宏令及子程序设计实验 2.5.1 实验目的 1.熟悉宏指令.宏定 ...

  2. 子程序调用与宏定义的异同_冒泡排序_汇编语言的子程序调用与宏定义实现

    1 子程序 ;环境为ADS 子程序调用 AREA MAIN,CODE,READONLY ENTRY CODE32 start BL MAOPAO stop MOV R0,#0x18 LDR R1,=0 ...

  3. 子程序调用与宏定义的异同_如何用数控系统进行简单的宏程序调用?老师傅告诉你,用G65就行...

    什么是简单调用?很多人都不知道吧,如果想要深入操作宏, 就先要学会变量,学会变量之担,再去操作宏,就会变得非常的简单,今天给大家分享如何用G65进行简单的宏程序调用. 用户宏的简单宏调用是指在主程序中 ...

  4. 宏定义编程软件_什么是计算机编程? 定义软件开发。

    宏定义编程软件 My five year old son, Ramy, approached me one day while I was working from home and asked, & ...

  5. 超前进位加法器实验报告_超前进位加法器设计实验分析

    课程 名称 计算机组成原理 实验课时 实验 项目 超前进位加法器设计实验 实验时间 实验 目的 1. 掌握超前进位加法器的原理及其设计方法 . 2. 熟悉 CPLD 应用设计及 EDA 软件的使用 实 ...

  6. 宏定义中的 ## ... __VA_ARGS__

    宏定义中的##操作符和... and _ _VA_ARGS_ _ 1.Preprocessor Glue: The ## Operator 预处理连接符:##操作符 Like the # operat ...

  7. 函数宏定义 与函数自定义

    为什么在C语言中要有函数宏定义这种形式呢?宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等. 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏 ...

  8. c语言里宏定义算变量嘛,C语言宏定义的一些总结

    较大的C语言项目都会用大量的宏定义来组织代码,比较经典的代码就是Linux Kernel的头文件中用的宏定义.看起来宏展开就是做个替换而已,其实里面有比较复杂的规则,有关宏展开的语法规则此小结力图整理 ...

  9. 函数式宏定义与普通函数的区别?C语言宏定义和宏定义函数 ?

    http://www.jb51.net/article/41869.htm 尽管函数式宏定义和普通函数相比有很多缺点,但只要小心使用还是会显著提高代码的执行效率,毕竟省去了分配和释放栈帧.传参.传返回 ...

最新文章

  1. HDU 3065病毒侵袭持续中 AC自动机
  2. Python异步通信模块asyncore
  3. 汇总|3D人脸重建算法
  4. Measurements 和 Units,第三部分
  5. C Primer Plus 第6章 C控制语句 6.16 编程练习及答案
  6. python kafka offset自动提交_Spring-Kafka —— 实现批量消费和手动提交offset
  7. mysql 全表连接_MySQL学习—多表查询(内连接,外链接,全连接)
  8. application.properties amp;amp;amp; application.yml 配置文件详解(转)
  9. Ranking the Cows(POJ-3275 )
  10. wine运行软件检测不到u盘_PE吧“U盘助理”——启动U盘制作图文教程-
  11. Java设计模式——代理模式实现及原理
  12. 创建一个HashMap 集合,存储省份下的城市,key是为省份 value 是为该省份下的城市
  13. vscode之 wget下载zip文件并unzip解压zip文件
  14. Unity贴图ASTC压缩格式
  15. 室内定位导航-室内地图导航-高精度地图应用场景
  16. VPS云主机的定义和基本优势有哪些
  17. 英语词根词缀记忆法(全集)_语言学习 | 英语词根词缀学习参考
  18. 突破硬件瓶颈(一):Intel体系架构的发展与瓶颈挖掘
  19. 精美卡通儿童教育班会课件PPT模板
  20. python3 全局变量_Python3基础 当函数中的局部变量与全局变量同名了,各管各的...

热门文章

  1. 汉语是世界上最优秀的语言
  2. ZCC51403替代LM27403
  3. 中文编程,最精致的python访客登记系统实例项目,微信机器人不再只当人工智障------05
  4. 计算机图形学 ———— 扫描线多边形填充算法 (讲解)
  5. 易度项目管理系统试用
  6. 2022年十一届认证杯(小美赛)C题思路新鲜出炉
  7. 使用halcon实现绘制圆环
  8. MSBDN(Multi-Scale Boosted Dehazing Network with Dense Feature Fusion)具有密集特征融合的多尺度增强去雾网络阅读分析
  9. 【IOS账号分享】《隐形守护者》
  10. ibmMQ-第十三章