程序汇编实验举例及总结

合集下载

汇编语言实验报告1~7

汇编语言实验报告1~7

汇编语言实验报告1~7实验一:数据传输指令、算术指令、逻辑指令的使用实验内容:利用汇编语言,编写一个程序,实现两个整数相加,并将结果存入第三个变量中实验步骤:1. 声明三个变量a、b、c2. 将10存入a,将20存入b3. 将a的值传入al,将b的值传入bl4. 使用add指令将al和bl相加,将结果存入al5. 将al的值传入c6. 显示c的值实验结果:a db 10mov al,aadd al,blint 21hmov ax,4c00h实验二:分支指令的使用实验内容:利用汇编语言,编写一个程序,实现当输入的值为正数时,输出"I'm positive!";当输入的值为负数时,输出"I'm negative!";当输入的值为零时,输出"I'm zero!"1. 定义一个变量num2. 接收用户输入,并将其存储在num中3. 用test指令判断num的值4. 当num=0时,执行输出"I'm zero!"的指令7. 退出程序num db ?lea dx, promptsub al, '0'test num, numjz zerojs negjmp positiveneg:output:zero_msg db 'I am zero!$'prompt db 'Please enter a number:', 0dh, 0ah, '$'1. 定义变量i、sum,分别表示累加的数字和累加和2. 将i赋初值1,sum赋初值03. 进入循环5. 使用inc指令将i加16. 使用cmp指令将i与10比较,如果i小于等于10,继续循环,否则退出循环7. 输出结果mov bx, iloopStart:inc bx实验四:过程调用的使用2. 循环遍历1到100之间的每个数3. 用一个for语句嵌套一个for语句判断该数是否为质数4. 用两个自定义的子程序is_prime和output输出结果call is_primeskip:cmp i, 100prime_loop:div blretje newlinejmp done实验目的:掌握字符串操作指令的使用实验内容:利用汇编语言,编写一个程序,将字符串"SJTU"改为字符串"MIT"1. 定义字符串SJTU和MIT2. 定义两个变量i和len,分别表示字符串的下标和长度3. 使用movsb将SJTU的值传到MIT中4. 输出MITSJTU db 'SJTU'lea si, SJTUstringLoop:实验内容:利用汇编语言,编写一个程序,实现将输入的字符串写入一个文件中,然后再读取该文件中的字符串并输出2. 打开文件3. 将字符串写入文件中4. 关闭文件6. 读取文件内容8. 输出读取的字符串fileName db 'test.txt'content db 32 dup(?)mov cx, word ptr [content]实验内容:利用汇编语言,编写一个程序,在系统按下Ctrl+C时,输出一条信息并退出1. 声明函数handleCtrlC2. 获取中断21的地址,将其存储到文件头中org 100hmov [old_int_21h], es:bxmov dx, offset handleCtrlCend开始:。

【实验】汇编实验报告

【实验】汇编实验报告

【关键字】实验实验一汇编程序的汇编及运行1.实验目的和要求(1)熟悉汇编程序的汇编、连接、执行过程(2)生成LST文件,查看LST文件(3)生成OBJ文件,修改语法错误(4)生成EXE文件(5)执行2.实验环境IBM—PC机及其兼容机实验的软件环境是:操作系统:DOS 2.0以上;调试程序:;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。

3.实验内容及实验数据记录(1)将数据段输入,取名1.txt,保存在MASM文件夹下。

生成LST文件,(不必连接、运行)用EDIT查看1.LST文件。

试回答:DA1,DA2的偏移量分别是多少?COUNT的值为多少?DA TA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB ‘IBM PC’DA2 DB 0AH, 0DHCOUNT EQU $-DA1DATA ENDSEND(2)输入有错误的文件,修改错误语句。

(MASM没有出现错误即可。

不必连接、运行。

)DA TA SEGMENTV AR1 DB 0, 25, ODH, 300V AR2 DB 12H, A4H, 6BHV AR3 DB ’ABCDEF’V AR4 DW 1234H, 5678HV AR5 DW 10H DUP(?)DATA ENDSCODE SEGMENTASSUME CS: CODE, DE: DA TABEING MOV AX, DA TAMOV DS, AXLEA SI, V AR5MOV BX, OFFSET V AR2MOV [SI], 0ABHMOV AX, V AR1+2MOV [BX], [SI]MOV V AR5+4, V AR4MOV AH, 4CHINT 21HCODE ENDSEND START(3)输入正确的程序,汇编、连接、运行STACKS SEGMENT STACKDW 128 DUP(?)STACKS ENDSDATAS SEGMENTSTRING DB ‘WELCOME!’, 13, 10, ‘$’DATAS ENDSCODES SEGMENTASSUME CS: CODES, DS: DATAS START:MOV AX, DA TASMOV DS, AXLEA DX, STRINGMOV AH, 9INT 21HMOV AH, 4CHINT 21HCODES ENDSEND START 1.算法描述及实验步骤1.(1)生成1.st文件(2)用EDIT查看文件2.修改后正确算法:DATA SEGMENTV AR1 DB 0, 25, 0DH, 30V AR2 DB 12H, 0A4H, 6BHV AR3 DB 'ABCDEF'V AR4 DW 1234H, 5678HV AR5 DW 10H DUP(?)DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATA BEING: MOV AX, DATAMOV DS, AXLEA SI, V AR5MOV BX, OFFSET V AR2MOV byte ptr[SI], 0ABHMOV AL, V AR1+2MOV AX, [SI]MOV [BX], AXMOV AX, V AR4MOV V AR5+4, AXMOV AH, 4CHINT 21HCODE ENDSEND BEING5.调试过程1.程序没有错误,结果:2.程序运行出现错误:问题及改正:(1). 2.asm(2): error A2009: Symbol not defined: ODH 表示没有定义ODH;出错语句VAR1 DB 0, 25, ODH, 300,这里的 ODH应该为 16进制数的0DH。

汇编语言程序设计实验小结

汇编语言程序设计实验小结

汇编语言程序设计实验小结本次汇编语言程序设计实验旨在通过实践,加深对汇编语言编程的理解和掌握,并通过编写和调试汇编程序,提升实际应用能力。

在本次实验中,我学到了许多关于汇编语言程序设计的知识和技巧,也遇到了一些挑战和问题。

以下是我对这次实验的小结。

在实验开始之前,我进行了充分的学习和准备。

通过阅读教材和参考资料,我了解了汇编语言的基本概念、指令集和编程规范。

同时,我还学习了调试工具的使用方法,以便在编写程序时能够进行实时调试,提高效率和准确性。

在实验过程中,我遇到了一些困难和挑战。

其中之一是理解和运用汇编语言的指令集。

由于汇编语言是一种低级语言,指令的数量和种类相对较多,需要深入了解每个指令的功能和使用方法。

为了解决这个问题,我通过查阅资料和请教老师,逐步掌握了常用指令的用法,并能够根据实际需求选择合适的指令进行编程。

另一个困难是调试程序时出现的错误。

由于汇编语言是一种底层语言,对程序员的要求较高,一旦出现错误,往往需要仔细检查每一步的操作和数据处理过程。

在实验中,我遇到了一些错误,例如指令书写错误、寄存器使用错误等。

为了解决这些问题,我采取了逐步调试的方法,通过观察变量的值、输出结果的正确性等来定位错误的位置,并逐步修改代码,最终成功解决了问题。

在实验过程中,我也发现了汇编语言编程的一些优点和特点。

首先,汇编语言可以直接访问底层硬件资源,使得程序的执行效率较高。

其次,汇编语言的灵活性较高,可以实现一些高级语言难以实现的功能。

例如,通过汇编语言编写的程序可以直接操作内存,实现对特定位置的数据读取和存储。

再次,汇编语言的指令集相对简单,易于学习和理解。

因此,掌握汇编语言编程对于深入理解计算机体系结构和底层工作原理非常有帮助。

通过本次实验,我不仅学到了汇编语言程序设计的知识和技巧,还培养了分析和解决问题的能力。

在以后的学习和工作中,我将继续学习和掌握汇编语言编程,将其应用于实际项目中,提高程序的性能和效率。

汇编指令实验报告

汇编指令实验报告

汇编指令实验报告汇编指令实验报告汇编指令是计算机中非常重要的一部分,它们直接操作着计算机的硬件,实现各种功能。

在本次实验中,我们学习了汇编指令的基本知识,并通过实践掌握了它们的使用方法。

本文将对我们的实验过程进行详细的总结和分析。

实验一:汇编指令的基本概念和使用方法在实验的第一部分,我们首先了解了汇编指令的基本概念和使用方法。

汇编指令是一种低级语言,它直接操作计算机的寄存器和内存单元。

我们通过学习不同的指令集和指令格式,了解了如何使用汇编指令来实现各种功能。

在实验中,我们使用了一款常见的汇编语言工具,例如MASM(Microsoft Macro Assembler)和NASM(Netwide Assembler)。

通过这些工具,我们可以将汇编代码转换成可执行的机器码,并在计算机上运行。

实验二:汇编指令的应用实例在实验的第二部分,我们通过一些实际的应用实例,进一步加深了对汇编指令的理解和掌握。

我们学习了如何使用汇编指令来实现字符串处理、数学运算、条件判断等常见的功能。

例如,我们学习了如何使用汇编指令来实现字符串的反转功能。

通过对字符串的每个字符进行逆序排列,我们可以实现字符串的反转。

这个实例不仅帮助我们理解了汇编指令的基本操作,还锻炼了我们的逻辑思维能力。

实验三:汇编指令的性能优化在实验的第三部分,我们探讨了如何通过优化汇编指令来提升程序的性能。

通过对程序的瓶颈进行分析,我们可以找到一些可以改进的地方,并通过修改和优化汇编指令来提升程序的执行效率。

例如,我们学习了如何通过使用SIMD(Single Instruction Multiple Data)指令集来实现并行计算。

通过同时对多个数据进行操作,我们可以大大提高程序的运行速度。

这个实例不仅帮助我们理解了汇编指令的高级应用,还培养了我们的优化思维能力。

实验四:汇编指令的错误处理和调试技巧在实验的第四部分,我们学习了如何处理汇编指令中的错误,并掌握了一些常用的调试技巧。

汇编上机实验报告

汇编上机实验报告

汇编上机实验报告实验目的:通过进行汇编语言上机实验,掌握汇编语言的基本语法和编程技巧,培养汇编程序设计能力。

实验内容:实验一:汇编程序的简单输入输出1.编写一个汇编程序,要求从键盘输入两个整数,然后将其相加,并将结果输出到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验二:汇编程序的条件跳转1.编写一个汇编程序,要求从键盘输入一个整数,判断其是否大于10,若是,则将其打印到屏幕上;否则,将其乘以5并打印到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验三:汇编程序的循环1.编写一个汇编程序,要求计算1到10的累加和,并将结果打印到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验四:汇编程序的数组操作1.编写一个汇编程序,要求定义一个长度为10的数组,并将数组中的值初始化为0,然后利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验结果:实验一:汇编程序的简单输入输出编写的汇编程序通过键盘输入两个整数,实现了相加并将结果输出到屏幕上的功能。

程序运行正常,输出结果与预期一致。

实验二:汇编程序的条件跳转编写的汇编程序通过键盘输入一个整数,根据条件判断,实现了将输入数大于10时打印在屏幕上,否则将其乘以5并打印在屏幕上的功能。

程序运行正常,输出结果与预期一致。

实验三:汇编程序的循环编写的汇编程序通过循环计算1到10的累加和,并将结果打印在屏幕上。

程序运行正常,输出结果与预期一致。

实验四:汇编程序的数组操作编写的汇编程序通过定义一个长度为10的数组,并将数组中的值初始化为0,利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。

汇编语言程序设计实验小结

汇编语言程序设计实验小结

汇编语言程序设计实验小结在本次汇编语言程序设计实验中,我学到了很多关于汇编语言的知识和技能。

通过实验,我不仅加深了对汇编语言的理论理解,还掌握了如何利用汇编语言编写并调试程序的实际操作技巧。

以下是我在实验中得出的一些总结点:
1. 在编写汇编语言程序时,要注意代码的规范和紧凑性。

代码规范可以避免一些常见的错误,并且使得程序的可读性更强;代码紧凑性则可以减小程序的体积和复杂度,提高程序的执行效率。

2. 调试汇编语言程序时,要善于使用调试工具。

例如,我们可以使用单步执行、断点调试等功能,逐一排查代码中的错误点。

3. 在编写汇编语言程序时,要注意对内存的访问控制。

内存访问控制的不当会导致内存泄露、数据错乱等问题,因此需要谨慎处理。

4. 另外,在实践中我还发现,为了更好的学习汇编语言,可以多观察和分析汇编代码,深入理解其中的奥秘和原理。

同时,还可以参考一些优秀的汇编语言程序设计实例,帮助自己更好的掌握汇编编程技巧。

总的来说,本次汇编语言程序设计实验是我学习汇编语言的一次很好的实践机会。

通过这次实验的学习,我不仅可以掌握基本的汇编语言编程技能,而且还能够通过实际实践的经验教训,提升自己的汇编语言调试和解决问题的能力。

汇编语言实验报告

汇编语言实验报告

汇编语言实验报告
1. 实验简介
本次实验是针对汇编语言的学习和实践,在实验中,我们将学习如何使用汇编语言编写程序、调试程序,并通过一系列实例来练习和巩固所学知识。

2. 实验目的
(这一部分可以根据实际情况来写,列举实验的具体目的和要求)
3. 实验环境及工具
(介绍实验所使用的软件环境和工具,如:编译器、调试器)
4. 实验步骤
(根据实验内容具体描述实验步骤,可以分为多个小节)
4.1 准备工作
在开始实验之前,需要进行一些准备工作,包括安装编译器、创建工作环境等。

4.2 实验一:简单的汇编程序
本实验通过编写一个简单的汇编程序来熟悉汇编语言的基本语法和指令集,包括数据传送、算术运算、逻辑运算等。

4.3 实验二:汇编程序的调试
在实验二中,我们将学习如何使用调试器对汇编程序进行调试,包括设置断点、查看变量值、单步执行等操作。

4.4 实验三:汇编程序的优化
本实验将通过优化代码来提高程序的执行效率,包括减少指令的使用、优化循环结构等。

5. 实验结果与分析
(对实验的结果进行总结和分析,可以包括程序的输出结果、性能分析等)
6. 实验总结
(针对本次实验的收获和心得体会进行总结,可以包括对汇编语言的理解、解决问题的思路等)
7. 实验感想
(对本次实验的感想和建议,如实验过程中遇到的困难、改进的方向等)
8. 参考文献
(列出本报告中所引用的参考文献)
注:该文章只是按照题目提示给出了一个大致的框架和构思,实际根据具体的实验内容和要求来编写每个小节的详细内容。

希望对你有所帮助!。

汇编实验报告(适合初学者)

汇编实验报告(适合初学者)

汇编实验报告(适合初学者)汇编语言程序设计一、实验目的与要求1.熟悉汇编语言运行、调试环境及方法。

2.掌握简单汇编语言程序的设计方法。

3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。

二、实验内容根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。

1.若X、Y、R、W是存放8位带符号数字节单元的地址,Z是16位字单元的地址。

试编写汇编程序,完成Z<-((W-X)/5-Y)某(R+2)①.程序算法流程图。

开始初始化AL=(W-X)AL=(W-X)/5CL=(W-X)/5-YAL=(R+2)Z=((W-X)/5-Y)某(R+2)结束②.源程序清单。

DATASEGMENTXDB1H;数据定义YDB0HRDB3HWDB6HZDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;段寄存器定义MOVAL,WSUBAL,X;求(W-X)CBW;字节转换为字MOVCL,5IDIVCL;(W-X)/5MOVCL,ALMOVAL,Y;(W-X)/5-YSUBCL,ALMOVAL,RADDAL,2;(R+2)IMULCL;((W-X)/5-Y)某(R+2)MOV[Z],AXADDAL,30H;输出结果MOVDL,AL;MOVAH,2INT21HMOVAH,4CHINT21HCODEENDSENDSTART③.程序运行结果。

④.调试过程中遇到的问题和解决的方法。

还未能实现动态的输入数据,对指令的不熟悉,以至于在程序中经常性出错,得掌握固定的程序功能。

2.试编写一个程序,测试数是否是奇数。

如该数是奇数,则把DL的第0位置1,否则将该位置0。

①.程序算法流程图。

开始AL=XAL右移一位得CF否CF==1是DL与000000001B相或DL与11111110B相与结束②.源程序清单。

DATASEGMENTXDB9H;数据定义DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;段寄存器定义MOVAL,XSHR AL,1;利用右移一位得到cf值,JB判断 JB NEXT;为1则为奇数ANDDL,11111110B;偶数DL第一个数置为0JMPEXITNEXT:ORDL,000000001B;奇数DL第一个数置为1EXIT:MOVAH,4CHINT21HCODEENDSENDSTART③.程序运行结果。

汇编实验报告

汇编实验报告

汇编实验报告一、实验目的本次汇编实验的主要目的是深入理解计算机底层的工作原理,掌握汇编语言的基本语法和编程技巧,能够运用汇编语言编写简单的程序来实现特定的功能。

通过实践操作,提高对计算机体系结构的认识,培养解决实际问题的能力。

二、实验环境本次实验使用的操作系统为 Windows 10,汇编语言编译器为MASM 615。

三、实验内容(一)数据传送与算术运算1、编写程序实现将两个 16 位的整数相加,并将结果存储在指定的内存单元中。

2、实现数据在不同寄存器和内存单元之间的传送。

(二)逻辑运算与移位操作1、对给定的两个字节数据进行逻辑与、或、异或操作,并观察结果。

2、进行移位操作,包括左移和右移,理解移位对数据的影响。

(三)循环与分支结构1、利用循环结构计算 1 到 100 的整数之和。

2、根据给定的条件,使用分支结构实现不同的操作。

(四)子程序调用1、编写一个子程序,实现两个数的乘法运算。

2、在主程序中调用该子程序,并输出结果。

四、实验步骤(一)数据传送与算术运算1、打开 MASM 编译器,新建一个汇编源文件。

2、使用`MOV` 指令进行数据传送,将两个整数分别存储在寄存器`AX` 和`BX` 中。

3、使用`ADD` 指令将两个数相加,结果存储在`CX` 寄存器中。

4、最后,使用`MOV` 指令将结果存储到指定的内存单元。

(二)逻辑运算与移位操作1、在源文件中定义两个字节变量,并初始化其值。

2、使用逻辑运算指令(如`AND`、`OR`、`XOR`)对这两个变量进行操作。

3、使用移位指令(如`SHL`、`SHR`)对变量进行移位,并观察结果。

(三)循环与分支结构1、对于循环结构,使用`LOOP` 指令实现从 1 到 100 的累加。

2、在分支结构中,根据给定的条件(如比较两个数的大小),使用`JZ`、`JL` 等指令执行不同的分支操作。

(四)子程序调用1、定义一个子程序,使用参数传递的方式接收两个数,并进行乘法运算。

汇编语言程序设计实验小结

汇编语言程序设计实验小结

汇编语言程序设计实验小结汇编语言程序设计实验是计算机科学与技术专业中非常重要的一门课程。

通过这门课程的学习,我们可以更深入地理解计算机底层的工作原理,掌握汇编语言的编程技巧,提高我们的编程水平和代码优化能力。

在这篇小结中,我将分享我在汇编语言程序设计实验中的学习心得和经验,并总结出一些重要的要点。

一、实验背景汇编语言程序设计实验主要通过实践来加深我们对汇编语言的理解和应用。

通过编写和调试汇编语言程序,我们可以深入了解CPU的工作原理、寄存器的使用方法以及程序的执行过程等。

同时,通过实验,我们还可以学习如何对程序进行优化,提高程序的运行效率。

二、实验过程1. 实验环境搭建在进行汇编语言程序设计实验之前,我们首先需要搭建实验环境。

通常情况下,我们需要安装一个适合的汇编语言开发工具,比如MASM、TASM等。

同时,我们还需要一台支持汇编语言开发的计算机。

2. 实验内容汇编语言程序设计实验的内容通常包括基本的汇编语言语法、数据传送与运算指令、条件跳转与循环指令、子程序调用与返回、堆栈操作等。

我们需要根据实验指导书中给出的要求,编写相应的汇编程序,并进行调试。

3. 调试与优化在编写汇编程序的过程中,我们可能会遇到一些错误和问题。

这时候,我们需要进行调试,找出错误的原因,并进行修正。

在调试的过程中,我们可以使用调试器进行单步调试,查看寄存器的值以及内存的变化,帮助我们理解程序的执行过程。

同时,为了提高程序的运行效率,我们还需要进行优化。

可以通过改变算法、减少不必要的操作、优化循环结构等方式来提高程序的性能。

三、学习收获1. 深入了解计算机底层工作原理通过汇编语言程序设计实验,我更加深入地了解了计算机底层的工作原理。

我学会了如何使用汇编语言编写程序,了解了指令的执行过程,掌握了寄存器的使用方法,进一步提高了对计算机硬件的理解。

2. 提高了编程水平和代码优化能力汇编语言是一种较底层的编程语言,编写汇编语言程序需要我们对计算机底层有深入的理解。

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

汇编语言程序设计实验报告
2.掌握汇编语言源程序的执行过程。
二、实验内容
P131作业29。
实验三子程序设计实验
一、实验目的
1.掌握汇编语言源程序子程序设计方法;
2.会使用CV软件工具。
二、实验内容
把实验二作为子程序,编写主程序来对能否构成三角形进行10判断。
实验四宏汇编程序设计实验
一、实验目的
1.掌握宏汇编程序编程技术及宏调用的方法;
2.主模块程序完成子程序的调用,及判断结果的显示,程序名为:ZHU.asm。
实验五混合程序的开发实验
一、实验目的
1.了解混合调用中的参数设置;
2.掌握混合调用的方法;
二、实验内容
P156第5题。
实验一单指令功能测试实验
一、实验目的
1.会使用DEBUG软件;
2.利用DEBUG单步执行功能测试指令的执行。
二、实验内容
判断从键盘输入的ASCII码数字,若是小于等于5,显示“C”,若是大于5显示“D”。假设输入的只可能是0~9数字。
实验二完整的汇编语言程序设计实验
一、实验目的
1.掌握完整的汇编语言源程序的设计方法;
实验五多模块程序设计实验
一、实验目的
1.掌握汇编段的属性的含义;
2.掌握利用LINK将多模块连接起来的方法;
3.掌握利用库文件将多模块连接起来的方法。
二、实验内容
假设内存单元中有三个字a、b和c,编写一个程序,它可判断它们能否构成一个三角形,若能,显示“Y”,否则,显示“N”;
具体要求:
1.三角形的判断程序为一模块子程序,程序名为:ABC.asm。入口参数:字节变量a、b、c。出口参数:字节变量d=1是三角形,d=0不是三角形。
2.了解COM文件的编程方法及特点;

程序汇编实验举例及总结

程序汇编实验举例及总结

一、实验内容1.在屏幕上显示一个字符的源程序:DATAS SEGMENTSTRING DB'HELLO!','$'ORG100HDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXLEA DX,STRINGMOV AH,09HINT 21HMOV AH,4CHINT 21HCODES ENDSEND START2.编写一个程序,实现字符串的复制功能,并且将复制的字符串显示出来DATAS SEGMENTSTRING_A DB'ICH LIEBE DICH','$'COUNT EQU $-OFFSET STRING_ADATAS ENDSSTACKS SEGMENTSTRING_B DB COUNT DUP(?)STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS START:MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV ES,AXLEA SI,STRING_ALEA DI,STRING_BMOV CX,COUNTSTDREP MOVSBLEA DX,STRING_BMOV AH,9INT 21HMOV AH,4CHINT 21HMOV AH,4CHINT 21HCODES ENDSEND START3、利用中断调用,在屏幕上显示1—9 之间随机数。

中断号86HDATAS SEGMENTCLA DB 13,10,'WE ARE GOING TO PRODUCE A NUMBER AT RANDOM:$:' INFON DB 0DH,0AH,'THE PROGRAM RUNS GOOD$'DATAS ENDSSTACKS SEGMENT STACKDB 200 DUP(0)STACKS ENDSCODES SEGMENTASSUME DS:DATAS,SS:STACKS,CS:CODESSTART:MOV AX,DATASMOV DS,AXLEA DX,CLAMOV AH,9INT 21HMOV AX,0MOV ES,AX;MOV BX,86H*4CLIMOV WORD PTR ES:[BX],OFFSET RANMOV WORD PTR ES:[BX+2],SEG RANSTIINT 86HMOV AH,02HINT 21HLEA DX,INFONMOV AH,9INT 21HMOV AX,4C00HINT 21HRAN PROCPUSH CXPUSH DXMOV AH,0INT 1AHMOV AX,DXXOR DX,DXMOV BX,10DIV BXADD DL,30HMOV AH,02HINT 21HPOP DXPOP CXIRETRAN ENDPCODES ENDSEND START4. 复制字符串,并倒序输出DATAS SEGMENTSTRING_A DB 'still here',13,10,'$'STRING_L DB '$'DATAS ENDSSTACKS SEGMENTSTRING_B DB 100 DUP(?)STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV SS,AXLEA SI,STRING_LMOV AX,SILEA SI,STRING_ALEA DI,STRING_BSUB AX,SISUB AX,3MOV CX,AX MOV BX,AXSTDREP MOVSB LEA DX,STRING_B MOV AH,9INT 21H MOV DL,13 MOV AH,2INT 21HMOV DL,10 MOV AH,2INT 21HLEA SI,STRING_B MOV CX,BX ADD SI,BXDEC SIS:MOV DL,[SI] MOV AH,2INT 21HDEC SILOOP SMOV AH,004CHINT 21H CODES ENDS END START5、显示比较两个数的大小DATA SEGMENTA DB33HB DB87HDATA ENDSSTACK SEGMENTDW128 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AL,'A'CMP B,ALJA BGAMOV DL,'A'MOV BL,'B'JMP DISPBGA: MOV DL,'B'MOV BL,'A'DISP: MOV AH,2INT 21HMOV DL,'>'INT 21HMOV DL,BLINT 21HMOV AH,4CHINT 21HCODE ENDSEND START6、键盘输入10个学生的成绩,编写一个程序统计60-69分,70-79分,80-89分,90-99分及100分的人数,分别存放在Score6,Score7,Score8,Score9和Score10单元中。

汇编实验报告一实验总结

汇编实验报告一实验总结

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

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

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

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

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

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

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

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

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

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

汇编实验报告终

汇编实验报告终

实验一汇编语言源程序的输入一、实验目的1.通过实验了解和熟悉微机系统的配置。

2.学习在DEBUG状态下输入汇编源程序的方法。

3.初步掌握调试(在DEBUG状态下)的过程。

二、实验原理1. 本实验要求在DEBUG状态下输入汇编源程序,并用DEBUG命令进行调试。

用单步跟踪的方法验证指令的功能。

2. 以下是给定的参考程序,并在实验时在每条指令的“;”符号右边按要求填写指令的执行结果。

注:⑴微机进入DEBUG状态下之后,一切立即数和地址数据均被默认为十六进制数,在输入时数的后面不加后缀“H”;⑵在DEBUG状态下执行程序时,“INT 20H”指令可使系统执行完该指令前的程序时返回到“-”提示符状态,并且恢复CS和IP寄存器原来的值。

参考程序:MOV AX, 2000 ; AL= 00HMOV DS, AX ; DS= 2000HNOT AX ; AX= DFFFHXOR AX, AX ; AX= 0000HDEC AX ; AX= FFFFHINC AX ; AX= 0000HMOV BX, 2030 ; BH= 20HMOV SI, BX ; SI= 2030HMOV [SI], BL ; [2030H]= 30HMOV WORD PTR[SI], 10F ; [2030H]= 0FH[2031H]= 01H MOV DI, SI ; DI= 2030HMOV [DI+50], BH ; [DI+50H]= 20HMOV BH, [SI] ; BH= 0FHMOV BL, [DI+50] ; BL= 20HMOV SP, 5000PUSH AX ; AX= 0000H[SS:4FFEH]= 00H[SS:4FFFH]= 00HPUSH BX ; BX= 0F20H[SS:4FFCH]=20H [SS:4FFDH]= 0FHPOP AX ; AX= 0F20HPOPF ; F= 00000000NEG BX ; BX= F0E0HXCHG BX, AX ; BX= 0F20HSTD ; F= 01010001STI ; F= 01110001CLD ; F= 00110001CLI ; F= 00010001ADC DI, 2050 ; DI= 4081H F= 00000010 //执行过程中考虑上一条指令的进位标志2030【BI】+2050+1(上一条指令的进位标志)ADC SP, DI ; SP= 9081H F= 10010010 ADC AX, 1500 ; AX= 05E0H F= 00000001 SUB AX, BX ; AX= F6C0H BX= 0F20H SHL AH, 1 ; AH= ECHRCL AX, 1 ; AX= D981HSHR BH, 1 ; BH= 07HRCR BL, 1 ; BL= 90HMOV CL, 4MOV DX, 80F0ROL DX, CL ; DX= 0F08H CL= 04HINT 20 ; CS= 00A7H IP= 1072H实验二数据的建立与传送程序一、实验目的1. 继续学习DEBUG命令。

汇编实验一 实验报告

汇编实验一 实验报告

实验一查看CPU和内存用机器指令和汇编指令编程
一、实验目的
1.掌握debug的使用方法,会用基本的D,R命令查看、显示内存和寄存器
2.了解汇编指令编程的方法。

二、实验任务
1检查在存储器低端的BIOS数据区的内容。

(1)检查串行与并行端口
(2)检查系统设备
(3)检查键盘Shift状态
(4)检查显示状态
2 考察ROM BIOS
目的:检查在存储器高端的ROM BIOS中的数据。

(1)检查版本通告
(2)检查ROM BIOS数据
3.用D、R命令查看、显示内存和寄存器,可对寄存器内容进行修改。

三、实验结果及分析
1、检查在存储器低端的BIOS数据区的内容
(1)检查串行与并行端口
说明:检查后发现有四个串行端口,分别是03F8、02F8、03E8、02E8;并行端口也有四个,分别是03BC、03BC、0378、0278、9FC0
(2)检查系统设备
(3)检查键盘Shift状态
(4)检查显示状态
2、考察ROM BIOS (1)检查版本通告
(2)检查ROM BIOS数据
3、用D、R命令查看、显示内存和寄存器,可对寄存器内容进行修改
四、实验总结(心得、体会)
1、通过对检查在存储器低端的BIOS数据区的内容的查看,可以了解计算机的各种状态,而考察ROM BIOS可以鉴定计算机的出厂信息。

2、通过用D、R命令查看、显示内存和寄存器,可以了解计算机运行的过程步骤,并且可以通过偏移地址读取内容。

3、在读取时需要注意的是,在DEBUG显示中是低位至高位的显示,而我们需要的是高位至低位的显示方式,所以在操作时对于双字节的读取,需要将前后字节地址内容互换。

汇编 实验报告

汇编 实验报告

汇编实验报告汇编实验报告引言:汇编语言是一种低级语言,用于编写计算机程序。

在计算机科学领域中,汇编语言是一门重要的学科,它可以帮助我们更深入地了解计算机的内部工作原理。

本实验报告将介绍我在学习汇编语言过程中的实验经历和所学到的知识。

实验一:汇编语言的基本概念在本实验中,我首先学习了汇编语言的基本概念。

汇编语言是一种用于编写机器指令的低级语言,它直接操作计算机的硬件。

通过学习汇编语言,我了解了计算机内存、寄存器、指令和数据的存储方式,并学会了如何编写简单的汇编程序。

实验二:汇编语言的数据表示在这个实验中,我学习了汇编语言中的数据表示方法。

汇编语言中的数据可以用不同的方式表示,例如二进制、十进制和十六进制。

我还学习了如何使用数据寄存器和内存寻址来处理不同类型的数据。

实验三:汇编语言的指令集在本实验中,我学习了汇编语言的指令集。

汇编语言中的指令可以分为数据传送指令、算术运算指令、逻辑运算指令和控制指令等多种类型。

通过学习不同类型的指令,我可以编写更加复杂和功能强大的汇编程序。

实验四:汇编语言的程序设计在这个实验中,我学习了如何使用汇编语言进行程序设计。

通过学习汇编语言的程序设计技巧,我可以编写出高效、精确和可靠的程序。

我还学习了如何使用子程序、循环和条件语句等控制结构来实现不同的功能。

实验五:汇编语言的调试和优化在本实验中,我学习了如何调试和优化汇编语言程序。

调试是指在程序运行过程中发现并修复错误的过程,而优化则是指对程序进行性能提升的过程。

通过学习调试和优化技巧,我可以提高程序的效率和可靠性。

结论:通过这些实验,我对汇编语言有了更深入的了解。

汇编语言虽然复杂,但它可以帮助我们更好地理解计算机的内部工作原理,并且可以编写出高效、精确和可靠的程序。

通过学习汇编语言,我不仅提升了自己的编程能力,还对计算机科学有了更全面的认识。

我相信,在今后的学习和工作中,汇编语言将会发挥重要的作用。

(最新版)汇编实验报告汇总

(最新版)汇编实验报告汇总

湖北工程学院计算机与信息科学学院实验报告2013—2014学年第_二学期课程名称:汇编语言程序设计班级:_______________________学号:_________________姓名:___________ 雷震_______________ 任课教师:叶从欢_____________实验一:顺序结构一、实验目的:1.加深对汇编的理解;2.掌握汇编程序的设计方法;3.学会使用顺序结构。

二、实验内容:定义变量A、B、C、D,编写程序实现:(a * b + c - 70 )/ a。

并将最后的商保存在D中,余数保存在D+2中。

本实验中:a = 15, b = 75, c = 70 。

程序中,定义字型变量A、B、C、D。

A B、C分别保存算数表达式中的数值a、b、c,D保存算数运算的最终结果。

程序开始,先将变量A、B、C赋初值,计算A乘以B的值,将结果保存在DX AX中,然后逐步计算A*B+C, A*B+C-70和(A*B+C-70)/A。

最后计算结果的商保存在A对,余数保存在D对,最终将AX赋值给D, DX赋值给D+2。

程序运行完毕,程序返回。

三、实验步骤1.程序设计流程图2.调试与运行(1)首先进入DO系统,进入目标文件所在的系统盘和文件夹;(2)输入“ MASM TEST,此命令是调用宏汇编程序MAS对源文件TEST.AS进行编译,TES■是文件的名称,生成目标文件TEST.OBJ(3)若汇编无错误,则用命令“ LINK TEST进行连接,生成可执行文件TEST.EXE(4)若连接成功,则用命令“ TEST运行四•总结与体会通过这次实验,我初步了解了汇编程序设计的基本方法和步骤,掌握了汇编程序设计的顺序结构。

顺序结构是其他结构的基础,学好顺序结构对进一步学习汇编的好处不言而喻。

在本程序中,主要分为加法,减法,乘法,除法,本程序基本实现了四则运算的功能,该程序所完成的运算式为:(a * b + c - 70 )/ a。

汇编实验报告

汇编实验报告

实验一(1)熟悉汇编语言程序调试环境及顺序程序设计一、实验目的及要求:1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。

2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。

3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、熟悉汇编语言程序调试环境1.汇编语言源程序的建立本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。

设定源程序的文件名为ABC。

DATA SEGMENTBUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FHCN EQU $-BUFDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,CNDEC CXMOV AL,[BX]INC BXLP: CMP AL,[BX]JBE NEXTMOV AL,[BX]NEXT: INC BXDEC CXJNZ LPMOV AH,4CHINT 21HCODE ENDSEND START键入以下命令:C:\>EDIT ABC.ASM此时屏幕的显示状态如图1所示。

图1 用EDIT编辑ABC.ASM程序窗口程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。

(3)若程序中使用了宏指令,则汇编程序将展开宏指令。

源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如图2所示。

汇编实验报告一实验总结

汇编实验报告一实验总结

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一、实验内容1•在屏幕上显示一个字符的源程序:DATASSEGMENTSTRINGS 'HELLO!;'$'ORG 100HDATASENDSC0DES5EGMENTASSUMECS:CODES,DS:DATASSTARTMOV AX,DATASMOV DS,AX LEADX,STRINGMOV AH,09HINT 21HMOV AH,4CHINT 21HCODESENDSENDSTART01DATfiS SEGMENT62STRING DB * HELLO!' /S'03ORG 1O0H仙DATAS ENDSCODES SEGMENTQ6ASSUME CS:CODES.DS:DATAS07START:朋MOU AK.DATAS09MOU DS,AX10LEA DX, STR ING11MOV AH,@9H12INT 21H13MOU AH,UCH1U I NT 21H15 16CODES ENDSEND STfiUTH DOSBox 074, Cpu speed:HELLU!Pre&s araj Jccy to contilKic2.编写一个程序,实现字符串的复制功能,并且将复制的字符串显示出来DATASSEGMENTSTRING_ADB 'ICH LIEBE DIC障COUNTEQU&OFFSEETRING—ADATASENDSSTACK S EGMENTSTRING_BDB COUNTDUP(?)STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV ES,AXLEASI,STRING_ALEADI,STRING_BMOV CX,COUNTSTDREP MOVSBLEADX,STRING_BMOV AH,9INT 21HMOV AH,4CHINT 21HMOV AH,4CHINT 21HCODESENDSENDSTART01 02 03 的 ti5 加 07 08 09 10 DATAS SEGMENT string_a db 1 ICH LIEBE DICH ・*■$ count equ $-offset string_a DATA? ENDS STACKS SEGMENT string b db count dup(?) STfiCKs"EMI>S CODES SEGMENT ASSUME CSzCODESxDSzDnTAS.SSzSTACKS START : 13 MOV AK r DATAS 仙 M(JU 15 MOU AK,STACKS 16MOU 17 LEA SI ,string_a 18 LEfi Di f stringlb 19 nou CX^count 20 STD 21 FICP MOUSB 12 r Cpu speec 3、利用中断调用,在屏幕上显示 1—9之间随机数。

中断号86H DATASSEGMENT CLADB 13,10,'WE ARE GOING TO PRODUCE A NUMBER AT RANDOM:$:' INFONDB 0DH,0AH ;THE PROGRAM RUNS GOOD$' DATASENDS STACK S EGMENTSTACK DB200 DUR0) STACKSENDS CODES5EGMENT ASSUMEDS:DATAS,SS:STACKS,CS:CODES START MOV AX,DATAS MOV DS,AX LEADX,CLA MOV AH,9 INT 21H MOV AX,0 MOV ES,AX MOV BX,86H*4 CLIMOV WORD PTR ES:[BJX]FFSE _RANMOV WORD PTR ES:[BX+S2]E, GRANSTIINT 86HMOV AH,02HINT 21HLEADX,INFONMOV AH,9INT 21HMOV AX,4C00HINT 21HRAN PROCPUSHCXPUSHDXMOV AH,0INT 1AHMOV AX,DXXORDX,DXMOV BX,10DIV BXADD DL,30HMOV AH,02HINT 21HPOPDXPOPCXIRETRAN ENDPCODESENDSENDSTARTNOI T AlTflU6IHTU7MOU48KOR49MOV BK.10se DIV BX51ADD DL,30H52HOU AH,02H53IHT21HSh FOP DX55POP CX56I RET57I^DOSBox 0+74r Cpu speed:.5859區RRE ^OKHG;TO FROHJCZ R NUrBEH flT Bail DOM 60RAN ENDP IHE FROGHAM BUNS GDDD61CODES ENDS Press 也瞇I key to c<Mitinue_62闘END START4. 复制字符串,并倒序输出DATASBEGMENTSTRING_QB 'still here',13,10,'$' STRING_DB'$' DATASENDSSTACK S EGMENTSTRING_B)B 100 DUR?)STACKSNDSC0DES5EGMENTASSUMECS:CODES,DS:DATAS,SS:STACKS STARTMOV AX,DATASMOV DS,AXMOV AX,STACKSMOV SS,AXLEASI,STRING_LMOV AX,SILEASI,STRING_ALEADI,STRING_BSUBAX,SISUBAX,3MOV CX,AXMOV BX,AXSTDREP MOVSB LEADX,STRING_B MOV AH,9INT 21HMOV DL,13MOV AH,2INT 21HMOV DL,10MOV AH,2INT 21HLEASI,STRING_B MOV CX,BX ADD SI,BX DECSI S:MOV DL,[SI]MOV AH,2INT 21H DECSILOOP S MOV AH,004CH INT 21H CODESENDS END START31NOU DL,13 32MOU AH,2 33INT 21H 34MOU DL,10 35MOU AH,2 36 INT 21H3738 LEA SI,STRING_B39 MOU CX,BX>10 ADD SI t BX41DEC SIU2 S:43 MOU DL JSI]44 MOU AH,2U5 INT 21H46 DEC SI47 LOOP S48 MOU AH v BUCHU9 INT 21H50 CODES ENDS51 END START5、显示比较两个数的大小DATA SEGMENTA DB 33HB DB 87HDATAENDSSTACK SEGMENTDW 128 DUR?)STACK ENDSCODE SEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART MOV AX,DATAMOV DS,AXMOV AL ;A'CMP B,ALJA BGAMOV DL ;A'MOV BL ;B'JMP DISPBGA: MOV DL:B'MOV BL;A'DISP: MOV AH,2INT 21HMOV DL;>'INT 21HMOV DL,BLINT 21HMOV AH,4CHINT 21HCODEENDSENDSTARTsi DATA SEGIIEHTA 呃33HB DB 87HDATA ENDS砧STOCK StCHENT06DU 128 DUP(?)07STACK ENDSDS CODE SEGNCHT鲫ASSUME CS:CODEt DS:>ATABSS:STACK1011STftRT:tIOU12MOU13M0U AL J A "14CHF15JA BGA16MOU DLjfT17M0U 0LfB*18JHF DISP19BGA:riOU2n twu 0Lt■ A*21DISP: MOU AH T222INT 21H23NOU DL, >*曲DOSBox 074, Cpu speed:24INI 2in25MOU DL、BL261HT 21H27NOU AH.4CH2B INT 21H29CODE ENDSho END START6、键盘输入10个学生的成绩,编写一个程序统计60-69分,70-79分,80-89分,90-99分及100分的人数,分别存放在Score6, Score7, Score8, Score9和Score10 单元中。

输入10个学生的成绩如下:65 94 78 82 83 95 72 68 90 98 DATAS SEGMENTINFON1 DB 13,10, 'PLEASE INPUT THOSE SCORDS(YOU NEED NOT PRESS ENTER BETWEENTHEM):$'INFON3 DB 13,10, '$'INFON2 DB 13,10, 'THE NUMBER OF SCORD6-SCORD10 IS:'SCORD6 DB 30HDB 32SCORD7 DB 30HDB 32SCORD8 DB 30HDB 32SCORD9 DB 30HDB 32SCORD10 DB 30HDB '$'DATAS ENDSSTACKS SEGMENTDB 200 DUP (0)STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS START :MOV AX,DATASMOV DS,AXMOV AH,9LEA DX,INFON1INT 21HMOV AH,9LEA DX,INFON3INT 21HMOV CX,10S: MOV AH,1INT 21HCALL CALINT 21HMOV AH,2MOV DL,32INT 21HLOOP SMOV AH,9LEA DX,INFON2INT 21HMOV AX,4C00HINT 21HCAL PROC PUSH AX CMP AL,36H JZ G6 CMP AL,37H JZ G7CMP AL,38H JZ G8CMP AL,39H JZ G9CMP AL,31H JZ G1G6:ADD [SCORD6],1JMP WANG7:ADD [SCORD7],1JMP WANG8:ADD [SCORD8],1JMP WANG9:ADD [SCORD9],1 JMP WANG1: ADD [SCORD10],1MOV AH,1INT 21HWAN:POP AXRETCAL ENDPCODES ENDS END STARTfl1 DATAS SEGMENT02 inFonl db 13P1B,1 Please input those scords(you need03 infon3 db 13,18/$'B4 infonZ05 scordfi06 db 3207 scord?db 32 09 scordS IB db 3211 scord912 db 3213,10, the number of scordfi-sc叶(HO is:1 3 0h dbdb3 Oh3 Oh3Qh13 scordl B db 3Oh1U db *$"15 DATAS ENDS1617 STACKS SEGMENTis db 2OQ dup(O)VQ PNH 弋二、心得体会指令助记符决定了指令的功能,对应一条二进制编码的机器指令。

相关文档
最新文档