程序汇编实验举例及总结

合集下载

汇编语言实验报告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③.程序运行结果。

  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 弋二、心得体会指令助记符决定了指令的功能,对应一条二进制编码的机器指令。

相关文档
最新文档