中南民族大学《汇编语言》实验报告实验6宏指令.doc

中南民族大学《汇编语言》实验报告实验6宏指令.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

专业

?姓名

实验名称

8086汇编实验六宏指令

实验

类型

设计型

综合型

创新型

实验目的:

掌握宏的编写与调用,以及其展开的过程,注意区分宏和过程的不同之处。

实验要求:

(1)编写宏指令

(2)在主程序中调用宏指令

(3)实现主程序与宏指令的参数传递

(4)练习编写宏并通过.LST文件查看宏的展开情况。

.实验1题目:用宏实现摄氏温度到华氏温度的转换

实验要求:定义一个宏,实现输入摄氏温度转换为华氏温度转换公式为F=(9/5)*C+32,并存在EAX中。

提示:在进行公式计算时,先用摄氏温度C*9,再加上取整因子2,再进行除5的运算,即整个公式演变为F=(C*9+2)/5+32

.386

.MODELFLAT

fahrenheitMACRO

Outputprompt1

Inputstring,40

atodstring

imuleax,9

addeax,2

movebx,5

cdq

idivebx

addeax,32

dtoaresult,eax

Outputprompt2

ENDM

ExitProcessPROTONEAR32stdcall,dwExitCode:DWORD

includeio.h;包含有input/output宏的文件

crequ0dh;回车符

Lfequ0ah;换行符

maxNumequ100h;数组最大个数

.STACK4096;reserve4096-bytestack

.DATA

stringbyte40dup(?)

prompt1bytecr,Lf,PleaseentertheCelsiustemperature:,0

prompt2bytecr,Lf,ThetemperatureinFahrenheitis

resultbyte40dup(?),0

.CODE

_start:

fahrenheit

INVOKEExitProcess,0;返回0

PUBLIC_start

END

实验2题目:写一个Max1宏定义,该宏有两个参数,第一个参数为存储器中一个串的地址,该串元素为字长度,第二个参数为串的元素个数。该宏代码将求解这个串中元素最大值,最大值放在AX。

.386

.MODELFLAT

Max1MACROparam1,param2

localloopIfMax,endif

movecx,param2

dececx

movax,[param1]

addparam1,2

loopIfMax:

cmpax,[param1]

jgendif

movax,[param1]

endif:

addparam1,2

looploopIfMax

ENDM

ExitProcessPROTONEAR32stdcall,dwExitCode:DWORD

includeio.h;包含有input/output宏的文件

crequ0dh;回车符

Lfequ0ah;换行符

maxNumequ100h;数组最大个数

.STACK4096;reserve4096-bytestack

.DATA

ArrayWORDmaxNumdup(?)

countdword?

stringbyte40dup(?)

prompt1bytecr,Lf,Howmanynumbersdoyouneedtoenter:,0

prompt2bytenumber1=,0

prompt3bytecr,Lf,Themaximumvalueinthearrayis

valuebyte40dup(?),0

.CODE

_start:

Outputprompt1

Inputstring,40

atodstring

movcount,eax

movecx,co

文档评论(0)

173****2170 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档