汇编语言程序设计,能单独指导一下吗?我下的DOS和MASM用不来。

时间:2020.06.02 发布人:

汇编语言程序设计,能单独指导一下吗?我下的DOS和MASM用不来。

已解决问题

谷歌用户在2020.06.02提交了关于“凌渡汇编语言程序设计,能单独指导一下吗?我下的DOS和MASM用不来。”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-11-13T10:30:44。

利用DOS系统功能调用编写汇编程序,在屏幕上显示自己姓的拼音和学号的后4个数字符号。例如,你姓“李”,你的学号是“20201234”,则在屏幕上显示出“LI:1234”。具体要求如下:

(1)编写出完整的汇编语言程序;

(2)利用宏汇编程序MASM和连接程序LINK对所编写的程序进行汇编和连接,生成可执行文件,并在DOS下运行程序。

(3)打印出相应的列表文件(后缀lst的文件)清单,并对调试运行结果进行截图,以明程序调试成功。


希望大家能够帮助她。

详细问题描述及疑问:

利用DOS系统功能调用编写汇编程序,在屏幕上显示自己姓的拼音和学号的后4个数字符号。例如,你姓“李”,你的学号是“20201234”,则在屏幕上显示出“LI:1234”。具体要求如下:

(1)编写出完整的汇编语言程序;

(2)利用宏汇编程序MASM和连接程序LINK对所编写的程序进行汇编和连接,生成可执行文件,并在DOS下运行程序。

(3)打印出相应的列表文件(后缀lst的文件)清单,并对调试运行结果进行截图,以明程序调试成功。


期待您的答案,滴水之恩,来日我当涌泉相报 !
希望以下的回答,能够帮助你。

第1个回答

用户名:问答whoami1978  

首先,目前的系统(wi优脚煤若n7X64以上)不再支持DOS下的应用,所以你必须安装DOS的虚拟机或模拟器

目前一般用的最多的是dosbox(建议到它官网下载),然后将你本机的一个目录mount到它的C盘

你要做的程序很简单的,程序如下:

datasegment

messdb"LI:1234$";器饭女再载境维则职你要显示的信息(尾部加$)

dataends

stackssegmentstack'stack'

dw128dup(0)

stacksend充福曲方妒论s

codesegment

a低责屋ssumecs:code,ds:data,ss:stacks

start:

;初始化**段寄存器

movax,data

movds,ax

;皮补打刚围先临室容显示信息

leadx,mess

movah,9

int21h

movax,4c00h;退出程序,返回系统

int21h

codeen肉矛件击ds

endstart;程序入口

编译过程及运行结果:(我的文件名为mess,程序放入TEMP目录,MASM已安装且在PATh**中设置了)

列表文件

想乱层Microsoft(R)Mac问超玉七其断roAssemblerVersion5.006/3/2008:57:53

P许弦其age1-1

0皇火降先例良000datasegment

00004C493A31323334messdb"LI:1234$";你要显示的台掉影应美友束假继目煤信息(尾部加$)

24

0008dataends

0000stackssegmentstack'stack'

0科不航烟首0000080[d候货投缩呀题w128**p(烟代府任晶鲜大降益环0)

0000

]

0100stacksends

0000codesegment

assum构ecs:code,ds:data,ss:stacks

0000start:

;初始化**段寄存器

0000B8----Rmovax,data

00038ED8movds,ax

;显示信息

00058D160000Rleadx,mess

0009B409movah,9

000BCD21int21h

000DB84C00movax,4c00h;退出程序,返回系统

0010CD21int21h

0012codeends

endstart;程序入口

Microsoft(R)MacroAssemblerVersion5.006/3/2008:57:53

Symbols-1

SegmentsandGroups:

NameLengthAlignCombineClass

CODE..............0012PARANONE

DATA..............0008PARANONE

STACKS.............0100PARASTACK'STACK'

Symbols:

NameTypeValueAttr

MESS..............LBYTE0000DATA

START.............LNEAR0000CODE

@FILENAME...........TEXTmess

28SourceLines

28TotalLines

8Symbols

51192+465336Bytessymbolspacefree

0WarningErrors

0SevereErrors