计算机汇编语言实验报告

合集下载

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

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

汇编语言程序设计实验报告汇编语言程序设计实验报告引言:汇编语言是计算机中最基本的语言,通常用于处理硬件相关问题。

在这个实验中,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。

以下是我们的实验报告。

正文:1. 实验环境我们使用的实验环境是Intel 8086微处理器与高级汇编语言。

微处理器使用的是PCB-512主板,而高级汇编语言是MASM。

2. 实验目的我们的实验目的主要是学习汇编语言的基础知识和编程技巧,包括了汇编语言的寄存器、指令、内存管理等方面的知识。

我们的另一个目的是掌握汇编语言的常用编程技巧,能够独立完成一些简单的汇编程序。

3. 实验内容我们的实验内容主要包括以下几点:(1)学习汇编语言的基础知识,包括寄存器、指令、内存管理等方面的知识。

(2)掌握汇编语言的常用编程技巧,包括数据输入输出、运算、跳转等基本操作。

(3)实践用汇编语言编写程序,如计算器、菜单等实用程序。

(4)了解8086微处理器的结构和原理。

4. 实验过程在这个实验过程中,我们完成了以下几个程序:(1)计算器计算器是一个简单的程序,主要用于实现两个数之间的加、减、乘、除等基本运算。

我们通过输入输出指令、存储指令等指令实现了这个程序的功能。

(2)菜单菜单是一个实用程序,主要用于展示一个简单的菜单并实现用户选择相关功能的功能。

我们使用了汇编语言中的跳转指令、输入输出指令等实现了这个程序。

5. 实验结果在我们的实验中,我们成功完成了上述两个程序。

我们通过输入输出指令、存储指令等指令实现了这个程序的功能。

6. 实验总结在这个实验过程中,我们学习汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。

我们通过编写计算器和菜单等简单实用程序,加深了对汇编语言的理解和认识。

我们认为这个实验对我们今后的学习和工作都有很大的帮助。

结论:通过这个实验,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。

(最新版)汇编语言实验报告

(最新版)汇编语言实验报告

汇编语言课程设计学院:专业:姓名:学号:汇编语言是计算机专业的一门重要的专业基础课,主要介绍汇编语言程序设计的基本原理和方法。

汇编语言是一门理论性和实践性较强的课程,辅助课堂教学的实验有助于帮助学生理解汇编语言的基本原理,锻炼学生的动手能力,提高学生的综合应用知识的能力。

目录1 利用DEBUG调试汇编语言程序段………………………………………2 初级程序的编写与调试实验(一).................................................................................3 初级程序的编写与调试实验(二)………………………………………...4 汇编语言程序上机过程 .......................................................................................................... 5分支程序实验……………………………………………………………6 循环程序实验……………………………………………………………..1 利用DEBUG调试汇编语言程序段一.课程目的1.熟悉DEBUG有关命令的使用方法;2.利用DEBUG掌握有关指令的功能;3.利用DEBUG运行简单的程序段。

二.课程内容1.进入和退出DEBUG程序;2.学会DEBUG中的1)D命令(显示内存数据D 段地址:偏移地址)例1:-D1002)E命令(修改指定内存)例1:-E100 41 42 43 44 48 47 46 45-D 100,L08结果:08F1:0100 41 42 43 44 48 47 46 45例2:-E 100:08F1:0100 76 42 :42是操作员键入此命令是将原100号内存内容76修改为42,用D命令可察看。

3)R命令(显示当前寄存器的内容)4)T命令(设置陷井,单步执行)5)A命令(将指令直接汇编成机器码输入到内存中。

汇编语言报告

汇编语言报告

汇编语言程序设计实验报告学院:计算机科学与技术专业:计算机科学与技术指导教师:**班级: **学号: **姓名: **实验一集成环境及调试工具一、实验题目认识Tddebug集成操作软件二、分析设计思想,绘制实验原理图、流程图(一)、汇编语言程序的开发过程如图1.1所示,这个过程主要有编辑、编译、链接几个步骤构成。

图1.1 汇编语言程序开发过程1、源程序的编辑E: >EDIT TEST.ASM编辑过程就是将源程序输入内存,生成一个扩展名为ASM的文本文件并存入硬盘。

2、源程序的编译E:>TASM TEST.ASM编译也称为汇编,就是利用汇编器(如TASM或MASM)对源程序进行编译,生成扩展名为OBJ的目标文件。

在编译过程中,检查语法错误,若有错,则不生成目标代码文件,并给出错误信息。

根据错误信息应返回到编辑状态,修改源程序。

3、目标程序的链接E:>TLINK TEST.OBJ链接过程是利用链接程序(如TLINK或LINK)将用户目标程序和库文件链接、定位,生成扩展名为EXE的可执行文件。

链接时,如果链接文件找不到所需要的链接信息,则发出错误信息,不生成可执行文件。

4、调试可执行程序E:>TD TEST.EXE如果生成的EXE文件运行后,并没有按照设计意图运行,就需要对程序进行调试,找出错误。

再对源程序进行修改,即重复进行编辑、编译、链接、调试,直到生成完全正确的可执行文件为止。

(二)、Tddebug集成操作软件使用说明1.该软件是集编辑(Edit.exe)、编译(Tasm.exe)、连接(Link.exe)和调试(TD.exe)等多个功能于一体,可在DOS环境下运行,为用户提供了一个学习微机原理的实验平台。

2.启动Tddebug D:\wjyl>Tddebug若启动成功,进入主界面。

3.Tddebug的菜单结构主菜单子菜单菜单说明4.菜单选择(1)快捷键选择主菜单:ALT+热键(E,C,P,R,H,Q)(2)按左右键或直接使用快捷键在主菜单之间切换。

《汇编语言》实验报告

《汇编语言》实验报告

《汇编语言》实验报告实验名称:汇编语言实验报告实验目的:通过实验了解汇编语言的基本概念、语法结构和程序设计方法,掌握汇编语言的编写方法。

实验时间:2024年1月1日实验地点:实验室一、实验背景汇编语言是计算机硬件和软件之间的桥梁,通过汇编语言可以直接操作计算机的底层硬件。

汇编语言是一种低级语言,使用汇编语言可以实现对计算机内存、寄存器等硬件资源的直接操作,从而实现程序的功能。

本实验通过编写汇编语言程序,加深对汇编语言的理解。

二、实验过程1. 确定实验环境:使用DOSBox模拟DOS环境进行汇编程序编写和调试。

2. 编写第一个汇编程序:编写一个简单的汇编程序,将字符串“Hello, World!”输出到屏幕上。

3.程序分析:a.定义要输出的字符串,将字符串存储在数据段中。

b.设置段寄存器,将数据段地址加载到DS寄存器中。

c.设置显示模式和光标位置。

d.将字符串逐个字符输出到屏幕上。

e.关闭显示模式。

4. 编译运行:使用汇编语言的编译器将汇编程序转换成机器码,并在DOSBox中运行程序。

5.调试程序:根据程序运行结果和分析,调试程序中存在的错误,并进行改正。

三、实验结果与分析经过多次编写和调试,我们成功实现了将字符串“Hello, World!”输出到屏幕上的功能。

通过程序分析和调试过程,加深了对汇编语言的理解和掌握。

四、实验总结通过本次实验,我们深入了解了汇编语言的基本概念、语法结构和程序设计方法。

通过实际编写汇编语言程序,对汇编语言的编写方法有了更加深入的认识。

同时,通过调试程序的过程,我们也提高了自身的问题解决能力和分析能力。

在今后的学习和工作中,我们将继续学习和深入研究汇编语言,提高自己的编程能力和创新思维能力。

总体而言,本次实验给我们带来了很大的收获,我们以后将更加努力地学习汇编语言,提高自己的编程水平,为以后的学习和工作做好充分的准备。

汇编语言课程设计1实验报告

汇编语言课程设计1实验报告

汇编语言课程设计1实验报告一、引言本实验报告旨在探讨汇编语言课程设计1的实验内容和相关实验结果。

通过对实验的详细介绍和分析,可以更好地理解和应用汇编语言的基本知识和技术。

本实验报告分为以下几个部分进行讨论。

二、实验目的本实验旨在通过设计汇编语言程序,掌握汇编语言的基本语法和编程技巧,提高对计算机底层的理解和应用能力。

具体实验目的如下:1.熟悉汇编语言的基本知识和编程环境;2.学习如何使用汇编语言进行简单的数据处理和运算;3.掌握汇编语言中的跳转、循环和分支等控制结构;4.加深对计算机组成原理的理解和应用。

三、实验设计3.1 实验环境本实验使用的汇编语言编程环境为MASM(Microsoft Macro Assembler),具体配置如下:•操作系统:Windows 10•开发工具:MASM32•编辑器:Notepad++3.2 实验内容本实验的实验内容为实现一个简单的加法计算器程序。

具体要求如下:1.输入两个整数,并将其保存到内存;2.将两个整数相加,并将结果保存到内存;3.从内存读取结果,并输出到屏幕。

3.3 实验步骤下面是实验的具体步骤:1.打开MASM32开发工具,创建一个新的汇编语言项目;2.在编辑器中编写汇编语言程序,包括数据定义、输入输出处理和计算过程;3.使用MASM进行编译和链接,生成可执行程序;4.运行程序,输入两个整数,并查看输出结果。

四、实验结果经过以上步骤,我们成功实现了一个简单的加法计算器程序。

以下是实验结果的截图:Enter the first number: 10Enter the second number: 20The sum is: 30五、实验分析通过以上实验结果可以看出,我们的加法计算器程序能够正确地将输入的两个整数相加,并输出计算结果。

这证明我们所编写的汇编语言程序是正确的。

同时,通过这个实验,我们还可以总结出一些经验和教训:•在程序设计过程中,要仔细考虑数据定义和处理逻辑的正确性和合理性;•在编写汇编语言程序时,要注意语法和命令的正确使用,避免出现语法错误;•在调试程序时,要仔细检查每一步执行的结果,找出可能的错误原因。

汇编语言实验报告

汇编语言实验报告

合肥工业大学计算机与信息学院实验报告课程:汇编语言程序设计专业班级:学号:姓名:实验一Debug程序的使用一.实验目的1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。

2、掌握8086/8088的寻址方式及多字节数据的处理方法。

二.实验内容1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。

2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。

要求:本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。

三.实验过程和程序1.e ds:0200 78 56 34 12e ds:0204 98 BA DC FE2.直接寻址:mov ax,[0200]mov bx,[0202]add ax,[0204]adc bx,[0206]mov [0208 ],axmov [020a],bx间接寻址:mov si,[0200]mov di,[0204]mov bx,[0208]mov ax,[si]mov dx,[si+2]add ax,[di]adc dx,[di+2]mov [bx],axmov [bx+2],dx附加题1e ds:0000 1c 02e ds:0002 01 00e ds:0004 FF FFe ds:0006 38 04e ds:0008 00 00Microsoft Windows [???? 6.1.7600]???????? (c) 2009 Microsoft Corporation????????????????C:\Users\Administrator>debug-e ds:0000 1c 02-e ds:0002 01 00-e ds:0004 FF FF-e ds:0006 38 04-e ds:0008 00 00-a13B3:0100 mov ax,[0000]13B3:0103 mov bx,[0002]13B3:0107 imul bx13B3:0109 mov cx,ax13B3:010B mov bx,dx13B3:010D mov ax,[0004]13B3:0110 cwd13B3:0111 add cx,ax13B3:0113 adc bx,dx13B3:0115 sub cx,21c13B3:0119 sbb bx,013B3:011C mov ax,[0006]13B3:011F cwd13B3:0120 sub ax,cx13B3:0122 sbb dx,bx13B3:0124 mov bx,[0000]13B3:0128 idiv bx13B3:012A mov [0008],ax13B3:012D-g =0100 012dAX=0002 BX=021C CX=FFFF DX=0001 SP=FFEE BP=0000 SI=0000 DI=0000DS=13B3 ES=13B3 SS=13B3 CS=13B3 IP=012D NV UP EI PL ZR AC PE CY13B3:012D 0000ADD [BX+SI],AL DS:021C=00-四.实验结果1.利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。

计算机汇编语言实验报告

计算机汇编语言实验报告

计算机汇编语言实验报告一、实验目的本实验旨在通过编写计算机汇编语言程序,加强对计算机组成原理和汇编语言的理解,同时熟悉实际编写和调试过程。

二、实验内容1.用汇编语言编写一个简单的计算器程序,实现加法和减法操作。

2.编译并运行程序,测试其功能的正确性。

3.运用调试工具进行程序的调试,检查代码的运行流程。

三、实验步骤1.确定程序功能和设计思路:本次实验的目标是编写一个计算器程序,能够对两个数进行加法和减法操作。

我们可以通过定义一些操作码来表示不同的操作,再通过输入不同的操作码来执行相应的操作。

2.编写汇编语言程序:首先,需要定义一些变量和常量来存储输入的数和操作码。

然后,使用汇编语言的运算指令和控制指令来实现加法和减法操作,并将结果存储到指定的变量中。

最后,使用输出指令来显示结果。

3.编译并运行程序:将汇编语言程序编译为机器码,并通过计算机的指令集执行程序。

4.调试程序:利用调试工具,逐步执行程序,检查代码的运行流程和结果的正确性。

如有错误,进行适当的修改和调试。

5.测试功能和性能:使用不同的数和操作码进行测试,验证程序的功能和正确性。

四、实验结果经过编写、编译和调试,我们成功实现了一个简单的计算器程序。

程序能够根据输入的操作码,对两个数进行加法和减法操作,并将结果显示出来。

经过多次测试,程序的功能、正确性和性能都符合预期要求。

五、实验感想通过本次实验,我们对计算机组成原理和汇编语言有了更深入的理解。

在编写程序的过程中,我们发现汇编语言相比高级语言更加底层,需要考虑更多的细节和机器指令的使用。

同时,我们也意识到了调试的重要性,调试工具能够帮助我们分析和修正代码的错误,提高程序的质量。

六、实验总结通过本次实验,我们对计算机汇编语言的应用有了更深入的了解。

我们掌握了汇编语言程序的基本结构和语法规则,学会了使用汇编语言指令进行计算和控制。

同时,我们也提升了调试和测试的能力,加深了对计算机组成原理和汇编语言的理解。

汇编语言实验报告

汇编语言实验报告

H a r b i n I n s t i t u t e o f T e c h n o l o g y a t W e i h a i汇编语言实验报告实验一第一部分:dubug用法一、问题描述上机前预习debug常用命令的用法,复习汇编语言基本指令,上机时进行debug命令练习。

二、问题分析使用dubug调试汇编程序,MS-DOS环境,使用WINNT文件夹下system32子文件夹的DEBUG.EXE文件。

三、设计思想1.在DOS的提示符下,可如下键入Debug启动调试程序:DEBUG [路径\文件名] [参数1] [参数2]2.Debug后可以不带文件名,仅运行Debug程序;需要时,再用N 和L命令调入被调试程序。

命令中可以带有被调试程序的文件名,则运行Debug的同时,还将指定的程序调入主存;参数1/2是被调试程序所需要的参数。

3.在Debug程序调入后,根据有无被调试程序及其类型相应设置寄存器组的内容,发出Debug的提示符“-”,此时就可用Debug命令来调试程序。

4.运行Debug程序时,如果不带被调试程序,则所有段寄存器值相等,都指向当前可用的主存段;除SP之外的通用寄存器都设置为0,而SP指示当前堆栈顶在这个段的尾部;IP=0100h;状态标志都是清0状态。

5.运行Debug程序时,如果带入的被调试程序扩展名不是.EXE,则BX.CX包含被调试文件大小的字节数(BX为高16位),其他同不带被调试程序的情况。

6.运行Debug程序时,如果带入的被调试程序扩展名是.EXE,则需要重新定位。

此时,CS : IP和SS : SP根据被调试程序确定,分别指向代码段和堆栈段。

DS=ES指向当前可用的主存段,BX.CX包含被调试文件大小的字节数(BX为高16位),其他通用寄存器为0,状态标志都是清0状态。

7.运行Debug程序时,如果带入的被调试程序扩展名不是.EXE,则BX.CX包含被调试文件大小的字节数(BX为高16位),其他同不带被调试程序的情况。

汇编实验报告

汇编实验报告

汇编实验报告一、实验目的本次汇编实验的主要目的是深入了解汇编语言的基本语法和编程结构,掌握汇编程序的编写、调试和运行过程,提高对计算机底层硬件的理解和操作能力。

二、实验环境1、操作系统:Windows 102、编程工具:MASM(Microsoft Macro Assembler)三、实验内容1、数据传送与运算编写程序实现不同寄存器之间的数据传送。

进行简单的算术运算,如加法、减法、乘法和除法,并将结果存储在指定的寄存器或内存单元中。

2、逻辑运算与移位操作进行逻辑运算,包括与、或、非和异或操作。

实现移位操作,如左移和右移,并观察数据的变化。

3、分支与循环结构使用条件跳转指令实现分支结构,根据不同的条件执行不同的代码段。

运用循环指令实现循环操作,如计数循环和条件循环。

4、子程序调用编写子程序来完成特定的功能,如计算阶乘、查找最大值等。

在主程序中调用子程序,并传递参数和获取返回值。

四、实验步骤1、数据传送与运算打开 MASM 编程工具,新建一个汇编源文件。

使用 MOV 指令将数据从一个寄存器传送到另一个寄存器,例如:MOV AX, BX 。

进行加法运算,使用 ADD 指令,如:ADD AX, CX 。

进行减法运算,使用 SUB 指令,如:SUB DX, BX 。

乘法运算使用 MUL 指令,除法运算使用 DIV 指令,并将结果存储在合适的位置。

2、逻辑运算与移位操作在源文件中使用 AND 、OR 、NOT 和 XOR 指令进行逻辑运算,例如:AND AX, BX 。

对于移位操作,使用 SHL (左移)和 SHR (右移)指令,如:SHL AX, 2 表示将 AX 的值左移 2 位。

3、分支与循环结构使用 CMP 指令比较两个值,然后根据比较结果使用 JZ (等于零跳转)、JL (小于跳转)、JG (大于跳转)等条件跳转指令实现分支结构。

对于循环结构,使用 LOOP 指令实现计数循环,例如:MOV CX, 10 ;LABEL: ;LOOP LABEL 。

汇编语言实验报告

汇编语言实验报告

实验1 查看CPU和内存,用机器指令和汇编指令编程1.预备知识:Debug的使用2.实验任务(第45页)(1)已跟踪执行(2)(3)通过DEBUG中的D命令查看到主板的生产日期[以月、日、年,分隔符为'/'的格式]存储在内存ffff:0005~ffff:000C(共8个字节单元中)处。

此生产日期不能被改变,因为其具有‘只读’属性。

(5)实验2 用机器指令和汇编指令编程1.预备知识:Debug的使用2.实验任务(第71页)(1)使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。

从第一空开始依次如下:ax=5BEAax=5CCAbx=30F0bx=6022sp=FE 220FE 5CCAsp=FC 220FC 6022sp=FE 6022sp=100H 5CCAsp=FE 220FE 30F0sp=FC 220FC 2F32说明:此题可能因机子软、硬件环境不同而导致答案不一致!(2)仔细观察图3.19的实验过程,然后分析:为什么2000:0~2000:f中的内容会发生改变?答:因为用T指令进行调试时,会产生中断。

而为了保护现场,CPU则先将标志寄存器进栈、再把当前CS的值进栈,最后将IP的值进栈。

实验三汇编语言程序的调试与运行1.将下面的程序保存为t1.asm文件,生成可执行文件t1.exe; assume cs:codesgcodesg segmentmov ax,2000hmov ss,axmov sp,0add sp,4pop axpop bxpush axpush bxpop axpop bxmov ax,4c00hint 21hcodesg endsend2.用Debug跟踪t1.exe的执行过程,写出每一步执行后相关寄存器中的内容3.PSP的前两个字节是CD 20,用Debug加载t1.exe,查看PSP的内容程序段前缀PSP格式:偏移字节数说明000002中断20H000202以节计算的内存大小(利用这个可看出是否感染引导型病毒)000401保留000505至DOS的长调用000A02INT 22H 入口 IP000C02INT 22H 入口 CS000E02INT 23H 入口 IP001002INT 23H 入口 CS001202INT 24H 入口 IP001402INT 24H 入口 CS001602父进程的PSP段值(可测知是否被跟踪)001814存放20个SOFT号002C02环境块段地址(从中可获知执行的程序名)002E04存放用户栈地址指针00321E保留005003DOS调用 ( INT 21H / RETF )005302保留005507扩展的FCB头005C10格式化的FCB1006C10格式化的FCB2007C04保留008080命令行参数长度(不包含总为最后的0D)及参数也是程序运行期间缺省的DTA实验四 [bx]和loop指令的联合使用1.编程:向内存0:200~0:23F依次传送数据0~63assume cs:codecode segmentmov ax,0020hmov ds,axmov bx,0mov dl,0mov cx,40hs: mov [bx],dlinc bxinc dlloop smov ax,4c00hint 21hcode endsend2.编程:向内存0:200~0:23F依次传送数据0~63,程序中只能使用9条指令(包括程序的2条返回语句)assume cs:codecode segmentmov ax,0020hmov ds,axmov bl,0mov cx,64s: mov [bx],blinc blloop smov ax,4c00hint 21hcode endsend3.下面程序的功能是将“mov ax,4c00h”之前的指令复制到内存0:200处,补全程序。

汇编实验报告一实验总结

汇编实验报告一实验总结

汇编实验报告一实验总结
实验报告一:汇编实验总结
实验目的:通过汇编实验,掌握汇编语言的基本语法和编程技巧,加深对计算
机底层工作原理的理解。

实验过程:在实验中,我们首先学习了汇编语言的基本语法和指令格式,包括
寄存器的使用、内存地址的访问、算术运算和逻辑运算等。

随后,我们进行了
一系列的编程练习,包括编写简单的程序来实现加法、乘法、比较大小等功能。

在实验的最后阶段,我们还学习了如何调用系统中断来实现输入输出操作。

实验结果:通过本次实验,我们深入了解了汇编语言的编程技巧和应用场景。

我们不仅掌握了汇编语言的基本语法,还学会了如何编写简单的汇编程序来实
现一些基本的功能。

同时,通过实验,我们对计算机底层的工作原理有了更深
入的理解,对计算机系统的运行机制有了更清晰的认识。

实验总结:本次汇编实验让我们深入了解了汇编语言的基本知识和编程技巧,
为我们今后的学习和工作打下了坚实的基础。

通过实验,我们不仅学会了如何
使用汇编语言编写程序,还对计算机系统的底层工作原理有了更深入的理解。

希望在今后的学习和工作中,我们能够继续深入研究汇编语言,不断提高自己
的编程水平,为计算机科学技术的发展贡献自己的力量。

汇编语言实验报告

汇编语言实验报告

汇编语言实验报告实验二:汇编语言一、实验代码及结果:3.2 若1KB的数据存放在TABLE以下,试编程序将该数据块搬到NEXT为首地址的内存区域中。

代码:DATA SEGMENT:TABLE DB 10 DUP (32H)NEXT DB 10 DUP (89H)COUNT DB 10HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX, DATAMOV DS,AXMOV SI,OFFSET TABLEMOV DI,OFFSET NEXTAGAIN:MOV AX,[SI]MOV [DI],AXINC SIINC DIDEC COUNTLOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND START结果:3.3试编写10个字(16位2进制数)之和的程序。

代码:DATA SEGMENTADD1 DB 1HADD2 DB 2H,3H,4H,5H,6H,7H,8H,9H,0AH SUM DB (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX, DATAMOV DS,AXMOV SI,OFFSET ADD1MOV DI,OFFSET ADD2MOV BX,OFFSET SUMMOV CX,9HMOV AL,[SI]MOV AH,0HPLUS1:ADC AL,[DI]INC DILOOP PLUS1MOV BX,AXMOV AH,4CHINT 21HCODE ENDS END START 结果:3.7试编写程序将MOLT中的一个8位2进制数乘以20,乘积放在ANS单元及其下一单元中。

代码:DATA SEGMENTMOLT DB 0AAHMOLT1 DB 0AAHANS DB (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX, DATAMOV DS,AXMOV SI,OFFSET MOLTMOV DI,OFFSET MOLT1MOV BX,OFFSET ANSMOV CX,14HMOV AX,SIPLUS1:ADC AX,[DI]LOOP PLUS1MOV BX,AXMOV AH,4CHINT 21HCODE ENDS END START 结果:二、实验感想:虽说对汇编语言的学习时间比较少、掌握和理解程度比较浅,但是通过一周多的学习和对汇编语言的上机操作能够很好的明白汇编语言程序的编写、运行和调试的方法,以及对汇编语言的实验代码和基本程序的组成有了大致的了解,为以后学习相关的知识打下了一个很好的基础。

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

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

汇编语言程序设计实验报告汇编语言程序设计实验报告引言:汇编语言是一种底层的计算机语言,通过直接操作计算机的硬件和寄存器来实现程序的功能。

在本次实验中,我们学习了汇编语言的基本语法和编程技巧,并通过实践编写了一些简单的程序。

本报告将对实验过程和结果进行总结和分析。

一、实验目的本次实验的主要目的是让我们掌握汇编语言的基本语法和操作方式,培养我们对计算机底层运行机制的理解能力。

通过编写汇编程序,我们可以更深入地了解计算机的运行原理,并且可以更加高效地编写一些底层程序。

二、实验环境本次实验使用的是Windows操作系统,并且我们使用了MASM汇编器来编译和运行我们的汇编程序。

MASM是一款经典的汇编语言开发工具,具有强大的功能和广泛的应用领域。

三、实验内容在本次实验中,我们完成了以下几个任务:1. 编写一个简单的汇编程序,实现两个数字的相加功能。

2. 编写一个汇编程序,实现对一个字符串进行反转。

3. 编写一个汇编程序,实现对一个数组进行排序。

四、实验步骤1. 首先,我们学习了汇编语言的基本语法和指令集。

了解了汇编语言中的寄存器、指令和内存等概念,并且学会了如何使用它们来编写程序。

2. 接着,我们开始编写第一个程序,实现两个数字的相加功能。

通过学习汇编语言中的加法指令,我们可以将两个数字加载到寄存器中,并且使用相应的指令进行相加操作。

3. 然后,我们编写了第二个程序,实现对一个字符串进行反转。

通过学习汇编语言中的循环和条件判断指令,我们可以逐个字符地读取字符串,并且将它们按照相反的顺序存储到新的内存空间中。

4. 最后,我们编写了第三个程序,实现对一个数组进行排序。

通过学习汇编语言中的比较和交换指令,我们可以对数组中的元素进行排序,并且将排序结果存储到新的内存空间中。

五、实验结果通过以上的实验步骤,我们成功地完成了编写汇编程序的任务,并且得到了正确的结果。

我们的程序可以实现两个数字的相加、字符串的反转和数组的排序功能,并且运行速度较快,效果较好。

汇编语言编程实验报告

汇编语言编程实验报告

汇编语言编程实验报告汇编语言程序设计实验报告(一)汇编语言程序设计实验报告(一)一、预备知识汇编语言程序设计是一门实践性很强的课程。

编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。

二、实验目的1、掌握实验运行汇编语言所用的计算机机型2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑的应用程序。

)3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。

4、LINK连接程序5、DEBUG调试程序三、汇编语言源程序上机操作过程2、编辑源文件根据给定的任务,可编写程序。

如果经过检查认为所编程序无错时,就可在计算机上通过编辑程序建立源程序文件了。

一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的源程序无误为止,然后以一个源程序文件(ASM文件)存盘。

将包含QE文件的工作磁盘插入驱动器A:。

进入QEA\QE进入全屏幕后可以开始编程。

文件名取为Myprog。

asm;Ddisplystring (09H)CODESEGMENTPUBLICASSUME CS:CODE,DS:CODEORG 100HSTART:JMP BEGINMSG DB‘Hi ! This ia a dollar sign terminated string.’,’$’BEGIN:MOV AX,CS ;set up to display messageMOV DS,AXMOV DX,OFFSET,SG ;set up to display messageMOV AH,09H;display string function requestINT 21H ;call DOSMOV AH ,4CH ;terminate propram funct requestINT 21H ;Call DOSCODE ENDS;end of code segmentEND START;strat is the entry point输入完毕后,按ALT---X,存盘返回DOS3、汇编源程序文件(ASM,MASM)由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。

计组实验报告基础汇编语言程序设计实验

计组实验报告基础汇编语言程序设计实验

基础汇编语言程序设计实验【实验目的】1.了解教学计算机的指令格式、指令编码、选择的寻址方式和每一条指令的具体功能,为进一步学习运算器组成和控制器设计打好基础。

2.了解汇编语言的语句与机器语言的指令之间的对应关系,了解伪指令在汇编过程中的作用。

3.学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。

【实验内容】1.学习联机使用TH-UNION+教学实验系统和仿真终端软件PCEC.2.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容。

3.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况;【实验内容】1.用R命令查看寄存器内容或修改寄存器的内容1)在命令行提示符状态下输入:R↙;显示寄存器的内容注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入:R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格2.用D命令显示存储器内容在命令行提示符状态下输入:D 2000↙3. 用E命令修改存储器内容在命令行提示符状态下输入:E 2000↙4.用D命令显示这几个单元的内容D 2000↙可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555。

5. 用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察运行结果。

1)在命令行提示符状态下输入:A 2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始2)用U命令反汇编刚输入的程序在命令行提示符状态下输入:U 2000↙在相应的地址会得到输入的指令及其操作码3)用G命令运行前面键入的源程序G 2000↙4)用P或T命令,单步执行这段程序,观察指令执行结果在命令行提示符状态下输入:T 2000↙<12020:MVRD R2,00OA2022:MVRD R0,00302024:OUT 802025:DEC R22026:JRZ 202E2027:PUSH R02028:IN 812029:SHR R0202A:JRNC 2028202B:POP R0202C:INC R0202D:JR 2024202E:RET202F:↙<2(2100) MVRD R2,001AMVRD R0,0041(2104) OUT 80DEC R2JRZ 210EPUSH R0(2108)IN 81SHR R0JRNC 2108POP R0INC R0JR 2104(210E)RET【实验结果】<1屏幕上输出'0'到'9'十个数字符<2屏幕上显示“A”~“Z”26个英文字母【实验过程中遇到的问题以及解决办法】在验证例3的实验时,输入语句“JC 2053”,执行时系统一直提示有错误,无法进行运算查表得知语句中没有JC ,只有JRC,所以修改语句即可解决。

汇编实验一实验报告

汇编实验一实验报告

汇编实验一实验报告一、实验目的1.了解汇编语言的基本概念和基本语法。

2.掌握常见汇编指令的使用方法。

二、实验器材1.计算机一台。

2.汇编语言开发环境。

三、实验原理和方法1.汇编语言是低级程序语言,是计算机可以直接识别并执行的语言。

2.汇编语言采用助记符表示计算机指令,并且每一条汇编指令都对应一条机器指令。

四、实验过程及结果1.编写一个汇编程序,实现将两个数相加并输出结果的功能。

2.打开汇编语言开发环境,创建一个新的源文件。

3.在源文件中编写汇编程序,并保存。

4.汇编程序的伪指令section .data用于定义数据段,section .text用于定义代码段。

5.使用汇编指令mov将要相加的两个数赋值给寄存器,使用汇编指令add将两个数相加,并将结果保存到一个寄存器中。

6.使用汇编指令mov将结果从寄存器中取出,并输出到屏幕。

7.编译和运行汇编程序,查看结果是否正确。

五、实验结果分析经过编译和运行,实验程序顺利执行,结果正确输出。

通过这个实验,加深了对汇编语言的理解和掌握。

六、实验总结通过本次实验,我了解了汇编语言的基本概念和基本语法,并掌握了常见汇编指令的使用方法。

在实验过程中,我遇到了一些问题,如如何正确使用汇编指令以及如何调试程序等,但在同学和老师的帮助下,我顺利完成了实验,并且收获了很多。

通过这次实验,我深刻认识到汇编语言是一种非常底层的语言,需要对计算机底层原理有一定的了解,才能编写出正确的汇编程序。

同时,我也意识到汇编语言虽然复杂,但它的执行效率非常高,可以在一些特定场景下发挥出很大的作用。

总而言之,本次实验让我对汇编语言有了更深入的了解,也提高了我的编程能力。

希望在以后的学习中能够深入学习汇编语言,并能够熟练地使用它。

汇编语言上机实验报告

汇编语言上机实验报告

汇编语言上机实验报告汇编语言上机实验报告引言:汇编语言是一种底层的计算机语言,通过使用汇编语言,我们可以更加深入地了解计算机的运行原理和底层机制。

本次实验旨在通过上机实践,掌握汇编语言的基本语法和编程技巧,同时加深对计算机底层的理解。

实验目的:1. 学习汇编语言的基本语法和指令集;2. 掌握汇编语言的程序设计和调试方法;3. 加深对计算机底层原理的理解。

实验环境:本次实验使用的是Windows操作系统,并安装了MASM汇编语言开发工具。

实验过程:1. 实验一:Hello World程序我们首先编写一个简单的Hello World程序,用于验证汇编语言的环境是否正常。

通过使用MASM工具,我们可以将源代码汇编成可执行文件,并在命令行中运行。

该程序的功能是在屏幕上输出"Hello World"。

```assembly.model small.stack 100h.datamsg db 'Hello World$'.codemain procmov ah, 09hlea dx, msgint 21hmov ah, 4chint 21hmain endpend main```通过编译、链接和运行,我们可以在屏幕上看到"Hello World"的输出。

2. 实验二:计算两个数的和在这个实验中,我们将学习如何编写一个简单的加法程序。

我们定义两个变量a和b,并将其值相加,然后将结果输出到屏幕上。

```assembly.model small.stack 100h.dataa db 10b db 20sum db ?.codemain procmov al, aadd al, bmov sum, almov ah, 09hmov dl, sumadd dl, 30hint 21hmov ah, 4chint 21hmain endpend main```在屏幕上,我们可以看到输出结果为"30",即10加20的和。

汇编语言实验报告

汇编语言实验报告

汇编语言实验报告实验一、汇编运行环境及方法、简单程序设计一、程序说明本程序用来比较两个字符串string1和string2所含的字符是否相同。

若相同’,否则显示‘No match’。

则显示‘Match在程序的数据段先定义两个字符串string1和string2,再定义两个字符串mess1’和‘Nomatch’。

再代码段比较字符串string1和string2,和mess2,分别代表‘Match通过比较判断是否相同。

若相同则显示‘Match’,否则显示‘No match’。

二、调试说明再EDIT中建立ASM文件,再用汇编程序对源程序汇编产生目标文件Obj,再用连接程序产生执行文件EXE。

再用Debug进行调试。

其中常用到的指令有:用-g命令来用运行程序,用-u命令来显示程序,用-d 命令来查看数据段的情况,-e或-f命令来修改需要改正的部分,用-t指令来逐步执行程序,用-r指令来查看寄存用器和修改寄存器的值,-q命令用来退出debug程序。

在这些命令的后面加上地址,可以将命令执行到相应的地方。

如用-g指令运行程序后,再用-u指令显示程序的执行借给如下:若将string2改为'Move the cursor backwards.',程序的其他部分不做改动,执行结果:若将mov cx,25语句改成mov cx,24,结果为:此时少做了一次循环,得到的结果就不正确了。

实验二、用DEBUG编程:使用堆栈段将AX和BX的内容进行交换等一、程序说明本实验包括两个部分,第一个部分是将AX和BX的内容进行交换,并用堆栈作为两寄存器交换内容的中间存储单元;第二部分是用DEBUG的命令将存储器偏移地AH, 0BH,0CH,0DH,0EH。

在DEBUG状态址300H,304H连续单元顺序装入0 下送入给出的程序中。

第一个程序先将AX的内容进栈,然后将BX的内容赋给AX,再将出栈的内容赋给BX即可。

第二个程序是在进入debug后,用-a指令输入给出的程序,然用-r指令安要求修改内存的内容,再用-t指令逐步执行每条指令,看修改的内存内容对指令执行结果的影响。

汇编实验报告一实验总结

汇编实验报告一实验总结

汇编实验报告一实验总结汇编实验报告一实验总结实验背景汇编语言是一种低级语言,用于编写计算机程序。

在汇编实验一中,我们学习了基本的汇编指令和程序结构,并通过实践掌握了如何编写简单的汇编程序。

本文将对实验过程和结果进行总结和分析。

实验过程在实验一中,我们首先了解了汇编语言的基本概念和特点。

然后,我们使用汇编语言编写了一个简单的程序,目的是将两个数相加并输出结果。

在编写程序的过程中,我们学习了如何使用汇编指令进行算术运算、内存操作和输出。

我们还学习了如何使用调试器来调试和测试我们的程序。

实验结果经过编写和调试,我们成功地完成了实验一的目标。

我们的程序可以正确地将两个数相加并输出结果。

这个结果验证了我们对汇编语言和指令的理解和掌握。

通过这个实验,我们不仅学会了如何编写简单的汇编程序,还加深了对计算机底层运行原理的理解。

实验收获通过实验一,我们深刻认识到汇编语言的重要性和应用价值。

汇编语言虽然比高级语言更加底层和繁琐,但它可以直接操作计算机的硬件,提高程序的执行效率。

同时,学习汇编语言也有助于我们更好地理解计算机的工作原理和内部结构。

此外,实验一还培养了我们的逻辑思维和问题解决能力。

在编写程序的过程中,我们需要仔细思考每一条指令的含义和作用,并保证程序的正确性和效率。

通过调试和测试,我们学会了如何发现和解决程序中的错误和问题。

总结通过实验一,我们不仅掌握了汇编语言的基本知识和技巧,还提高了我们的编程能力和计算机思维。

汇编语言作为一种底层语言,虽然在现代编程中使用较少,但它对于理解计算机底层原理和优化程序仍然具有重要意义。

在今后的学习和工作中,我们将继续深入学习汇编语言,并将其应用于更复杂和实际的问题中。

我们相信,通过不断学习和实践,我们的汇编编程能力将不断提高,为我们的学术和职业发展打下坚实的基础。

总之,实验一是我们学习汇编语言的第一步,通过这个实验,我们对汇编语言有了更深入的了解和认识。

我们相信,在今后的学习和实践中,我们将能够更好地应用汇编语言,并取得更大的成果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言实验报告姓名:组长:张亚昊(11072107)组员:安然(11072109)完成日期:2013年4月题目1:分支程序设计【题目要求】编写程序,键入学生成绩(百分制),按A 、B 、C 、D 显示在屏幕上。

【编程思路】输入并存储一个INT 的赋值,比较一个数值在其中的哪个分支,并现实成绩的显示(ABCDE)【程序流程图】【源代码】一、dseg segment MsgInput db 0ah,0dh,'Input a score:','$'MsgError db 'Invalid Input!','$'BufInputdb 5,?,5dup(?)Grade db 'EDCBA','$'dseg ends cseg segmentassume ds:dseg,cs:cseg BEGIN:开始一个INT 的赋值比较成绩属于哪一个档数值在1-60数值在60-70数值在70-80数值在80-90数值在90-100输出结果mov ax,dsegmov ds,axInit:lea dx,MsgInput mov ah,9int21hlea dx,BufInput mov ah,0ahint21hmov dl,0ahmov ah,2int21hmov ax,0lea bx,BufInput+2 LoopCalc:cmp byte ptr[bx],0dh je Comparecmp byte ptr[bx],'0' jb Errorcmp byte ptr[bx],'9' ja Errorsub byte ptr[bx],'0' mov cx,10mul cxmov cx,0mov cl,[bx]add ax,cxinc bxjmp LoopCalc Compare:cmp ax,100ja Errormov cl,10div clcmp al,9jbe Next1mov al,9Next1:cmp al,5jae Next2mov al,5Next2:sub al,5lea bx,Gradexlatmov dl,almov ah,2int21hjmp InitError:lea dx,MsgErrormov ah,9int21hjmp Initmov ah,04chint21hcseg endsend BEGIN【程序测试与实现】题目2:循环程序设计【题目要求】设有一段文字,编写一段程序查找字母a 出现的次数,并显示在屏幕上。

【编程思路】输入并存储一个字符串,将字符串长度存入CL。

设置计数器AX 并清零,顺序遍历字符串,如果字符与A 相同,计数器+1,循环遍历CL 次。

显示AX 中内容,就可以显示A 出现的次数。

【程序流程图】N不是'A'是'A'YY计数器AX=0长度存入CL 指针初始化首址比较指针指向字符AX=AX+1指针SI+1CL=CL-1指针SI+1CL=CL-1CL=0CL=0?计数器AX/10,AL=AL+30H AH=AH+30H输出个数输入字符串存储字符串开始结束【源代码】STACKS SEGMENT STACK;堆栈段DW128DUP(?);注意这里只有128个字节STACKS ENDSDATA SEGMENTBUF DB30HDB?DB20H DUP(0)COUNT EQU BUF+1STRING1DB'Count the num of A$'STRING2DB'Please input a string:$'DATA ENDSENT MACRO;宏汇编定义换行MOV DL,0DHMOV AH,2INT21HMOV DL,0AHINT21HENDMCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET STRING1;显示标题MOV AH,09HINT21HENTMOV AH,09H;显示‘*’MOV AL,'*'MOV BL,0C1HMOV CX,20INT10HENTSTART2:MOV DX,OFFSET STRING2;显示“PLEASE INPUT A STRING”MOV AH,09HINT21HENTMOV DX,OFFSET BUF;存储输入字符串MOV AH,0AHINT21HCMP BUF+2,'0'JE EXITCMP BUF+1,20JG ERRORENTXOR AX,AX;AX作为A的计数器,清零MOV CH,0MOV CL,COUNT;循环次数存入CL,表示字符串长度MOV SI,2AGAIN:MOV BL,BUF[SI]CMP BL,'a'JE SAMEJNE NOTSAMEMOV AH,4CHINT21HNOTSAME:INC SILOOP AGAINJMP PRINTSAME:INC AX;A计数器+1,表示A出现次数INC SI;指针+1LOOP AGAINJMP PRINTPRINT:MOV DL,10;10给除数DIV DL;AX内容除10ADD AL,30H;将存储在主存单元中的商数值转换为ASCIIADD AH,30H;将存储在主存单元中的余数数值转换为ASCIIMOV BH,AHMOV DL,AL;屏幕输出商MOV AH,02HINT21HMOV DL,BH;屏幕输出余数MOV AH,02HINT21HENTENTJMP START2;跳转重新运行程序MOV AH,4CHINT21HEXIT:ENTMOV AH,4CHINT21HERROR:ENTENTMOV DL,'E';字符串过长越界,显示EMOV AH,02HINT21HENTJMP START2MOV AH,4CHINT21HCODE ENDS;代码段结束END START;汇编完成,跳START运行程序【程序测试与实现】题目3:子程序设计【题目要求】给定一个数组存放5个小写字母,用地址表传递方法编写子程序,将其转换成大写字母,并显示在屏幕上。

【编程思路】分别将每个字符的ascii码值减32,然后显示在屏幕上。

【程序流程图】输入子程序调用读取数据并储存将每个字母的ascii码值减32输出【源代码】STACKS SEGMENT STACK;堆栈段DW128DUP(?);注意这里只有128个字节STACKS ENDSDATA SEGMENT;数据段ARRAY DW5DUP(0)COUNT DW5RESULT DW5DUP(0)ADDRESS DW3DUP(0);定义地址表STRING1DB'Transport letters$'STRING2DB'Please input5small letters,(0)to exit:$'STRING3DB'Result is:$'ATTENTION1DB'Can not input this letter$'DATA ENDSENT MACRO;宏定义定义换行MOV DL,0DHMOV AH,2INT21HMOV DL,0AHINT21HENDMSTACK1SEGMENT PARA STACK;堆栈段DW40H DUP(0)STACK1ENDSCODE SEGMENT;代码段ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET STRING1MOV AH,09HINT21HENTMOV AH,09H;显示‘*’MOV AL,'*'MOV BL,0C1HMOV CX,20INT10HENTSTART2:MOV DX,OFFSET STRING2;显示‘请输入5个字符’MOV AH,09HINT21HXOR DX,DXMOV SI,0LP:MOV AH,1;输入一个字符INT21HCMP AL,'0'JE EXITCMP AL,'a';判断输入字符的大小写,如果是大写,跳转到ATTENTIONJB ATTENTIONCMP AL,'z'JA ATTENTIONMOV BYTE PTR ARRAY[SI],ALINC SICMP SI,5;比较SI,5JNE LP;如果不相等,表明未输入满5个数,继续输入MOV ADDRESS,OFFSET ARRAY;ARRAY地址存入地址表MOV ADDRESS+2,OFFSET COUNT;COUNT地址存入地址表MOV ADDRESS+4,OFFSET RESULT;RESULT地址存入地址表MOV BX,OFFSET ADDRESS;地址表装入BXCALL TRANSPORT;调用子程序(大小写转换)ENTENTJMP START2MOV AH,4CHINT21HEXIT:ENTMOV AH,4CHINT21HATTENTION:ENT;异常输入,提示用户LEA DX,ATTENTION1MOV AH,9INT21HENTENTJMP START2TRANSPORT PROCMOV SI,[BX];ARRAY地址存入SIMOV DI,[BX+2];COUNT地址存入DIMOV CX,[DI];COUNT内容取出,存入cx作为计数器MOV DI,[BX+4];RESULT地址存入DIXOR AX,AX;初始化AXLOP:MOV AX,[SI];小写字母变大写SUB AX,20HMOV[DI],AX;结果存入RESULT中ADD SI,1ADD DI,1;指向数组下一单元LOOP LOPENT;MOV[DI],'$'ENTMOV DX,OFFSET STRING3;显示STRING3MOV AH,09HINT21HMOV DX,OFFSET RESULT;显示result的内容MOV AH,9INT21HRETTRANSPORT ENDPCODE ENDSEND START;汇编完成,跳START运行程序【程序测试与实现】题目4:DOS功能调用【题目要求】在图形方式下,在屏幕中央绘制一个用“*”表示的矩形。

【编程思路】使用指针的定位,考虑到指针初始化在最右的最上面,于是输出回车和换行可以将指针换行到中间左右,然后输出空格顶到正中间.先输入两条变长(上下)再输入左右两条变长【程序流程图】将矩形的位置定位到中间输出一排星号字符串输出星号的边长【源代码】;;这是自动生成的代码模板STACKS SEGMENT STACK;堆栈段DW128DUP(?);注意这里只有128个字节STACKS ENDSDATAS SEGMENT;数据段;请在这里定义您的数据DATAS ENDSCODES SEGMENT;代码段ASSUME CS:CODES,DS:DATASSTART:MOV AX,DATAS;初始化MOV DS,AXPUSH CSPOP DSMOV AX,12HINT10HMOV SI,OFFSET STRING0CALL SHOWMOV SI,OFFSET STRING1CALL SHOWMOV SI,OFFSET STRING2MOV CX,5NEXT:CALL SHOWLOOP NEXTMOV SI,OFFSET STRING1CALL SHOWMOV AH,7INT21HMOV AX,3INT10HMOV AH,4CHINT21HSHOW:MOV DX,SIMOV AH,9INT21HRETSTRING0DB10DUP(13,10),'$'STRING1DB13,10,4DUP(9,20H),'****************$'STRING2DB13,10,4DUP(9,20H),'*',14DUP(20H),'*$'CODES ENDSEND STARTMOV AX,4C00H;退出程序INT21HCODES ENDSEND START题目5【题目要求】编写一个生成ASCII码表的程序,并显示在屏幕上。

相关文档
最新文档