汇编语言程序设计报告模板总结模板计划模板.docx

合集下载

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

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

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

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

以下是我们的实验报告。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

汇编语言程序设计实验报告(一)一、实验目的1. 掌握顺序程序设计方法2. 掌握分支程序的结构及分支程序的设计,调试方法3. 学习数据传送及算术和逻辑运算指令的用法4. 熟悉在PC 机上建立、汇编、连接、调试和运行汇编语言程序的过程二、实验内容1. 从键盘上接收一位十进制数X ,计算Y 值,并以十六进制形式显示出来,Y 按下列公式计算。

⎪⎪⎩⎪⎪⎨⎧===-=+=)6(2/)5()4(2)3(2222X X X X X X X X X X Y 2. 从键盘上接收两个一位十六进制数X 和Y ,然后再输入一个A-D 之间的字符,按下列要求计算。

A )当输入字符为A ,则计算X+Y ,并以十六进制形式显示出来B )当输入字符为B ,则计算|X-Y|,并以十六进制形式显示出来C )当输入字符为C ,则计算X*Y ,并以十六进制形式显示出来D )当输入字符为D ,则计算X/Y ,并以十六进制形式显示出来三、实验结果1、结果截图2、结果截图四、源代码1、代码DATA SEGMENTX DB ?TABLE DW L1,L2,L3,L4DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXMOV AH,1INT 21HCMP AL,33HJB L0CMP AL,36HJA L0AND AL,0FHMOV X,ALSUB AL,3SHL AL,1XOR AH,AHMOV BX,OFFSET TABLEADD BX,AXJMP [BX]L1:MOV AL,XMUL ALADD AL,XJMP L7MUL ALSUB AL,XSUB AL,XJMP L7L3:MOV AL,XMUL ALJMP L7L4:MOV AL,XMUL ALMOV CL,2DIV CLJMP L7L7:MOV BL,ALMOV CL,4SHR AL,CLCMP AL,9JLE L5ADD AL,7L5:ADD AL,30HMOV DL,ALMOV AH,2INT 21HAND BL,0FHCMP BL,9JLE L6ADD BL,7L6:ADD BL,30HMOV DL,BLMOV AH,2INT 21HL0:MOV AH,4CHINT 21HCODE ENDSEND START2、代码DA TA SEGMENTX DB ?Y DB ?Z DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA START:MOV AX,DATAXOR AX,AXMOV AH,1INT 21HMOV X,ALMOV AH,1INT 21HMOV Y,ALMOV AH,1INT 21HMOV Z,ALMOV AL,XMOV BL,YMOV AH,ZCMP AL,39HJBE M1SUB AL,7M1:SUB AL,30H MOV X,ALCMP BL,39HJBE M2SUB BL,7M2:SUB BL,30H MOV Y,BLMOV AL,XMOV BL,YCMP AH,41HJE L1CMP AH,42HJE L4CMP AH,43HJE L6CMP AH,44HJE L7L1:ADD AL,BLJMP L5L4:CMP AL,BLJA L8SUB BL,ALMOV AL,BLJMP L5L8:SUB AL,BLJMP L5L6:MOV AL,XMUL BLJMP L5L7:XOR AX,AXMOV AL,XDIV BLL5:MOV BH,ALMOV CL,4SHR AL,CLCMP AL,9JLE L2ADD AL,7L2:ADD AL,30HMOV DL,ALMOV AH,2INT 21HAND BH,0FHCMP BH,9JLE L3ADD BH,7L3:ADD BH,30HMOV DL,BHMOV AH,2INT 21HL0:MOV AH,4CHINT 21HCODE ENDSEND START五、实验心得通过本次实验,我对汇编语言程序设计的方法和特点有了一点理解,并有以下心得体会。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

《汇编语言程序设计课程设计》课程设计报告模板

《汇编语言程序设计课程设计》课程设计报告模板

课程设计2013~ 2014学年第二学期设计题目汇编语言程序设计课程设计-打字练习程序的设计院(系)计算机科学与信息工程学院专业计算机科学与技术班级学号学生姓名设计时间2014年 6 月 30 日——2014年7 月 5日指导教师提交日期 2014年7月5日上海应用技术学院课程设计任务书指导教师(签名):教研室主任(签名):杨晶鑫2014年6 月25 日2014年6 月25 日目录上海应用技术学院课程设计任务书..................................................... i错误!未定义书签。

目录............................................................................................................................................ i ii 1概述. (1)1.1基本功能 (1)1.1.1三级标题 (1)1.1.2代码的格式 (1)1.2拓展功能 (2)1.3其他功能 (4)2详细设计说明 (5)2.1原“TYPETEST.ASM”程序结构 (5)2.2已经实现的功能(修改的、新编写的)程序结构 (5)2.3欲穷千里目 (5)2.4更上一层楼 (5)3对该“打字练习程序”的进一步设想 (6)3.1春眠不觉晓 (6)3.2处处闻啼鸟 (6)3.3夜来风雨声 (6)3.4花落知多少 (6)4课程设计总结 (7)4.1故人西辞黄鹤楼 (7)4.2烟花三月下扬州 (7)4.3孤帆远影碧空尽 (7)4.4惟见长江天际流 (7)5软件使用说明 (8)5.1长风破浪会有时 (8)5.2直挂云帆济沧海 (8)参考文献 (9)附录 (10)1 概述开场白……(所有论文的正文内容样式设置为:论文正文)↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑1.1 基本功能一般,标题之后,次一级标题之前应该写些过渡性的话。

汇编语言程序设计期末总结

汇编语言程序设计期末总结

汇编语言程序设计期末总结一、引言汇编语言是一种底层语言,用于编写计算机程序。

它与高级语言相比,能够更直接地访问计算机硬件,并且能够实现更底层的操作。

在汇编语言程序设计的学习过程中,我通过学习各种指令、寄存器、存储器等概念,并实践了各种实例程序,掌握了如何使用汇编语言进行程序设计。

本文将对期末汇编语言程序设计的学习进行总结,并反思自己在学习过程中的不足和提出改进的建议。

二、学习内容在本学期的汇编语言程序设计课程中,我主要学习了以下内容:1. 汇编语言基础知识:学习了汇编语言的基本语法、汇编指令的格式和操作数寻址方式等基础知识。

了解了寄存器的种类和作用,并能够使用不同寻址方式进行数据的读取和存储。

2. 汇编指令集:学习了x86汇编指令集的基本知识,并熟悉了常用指令的使用方法。

了解了汇编指令的作用和执行过程,并能够进行简单的指令编写和调试。

3. 程序设计技巧:学习了一些汇编语言程序设计的技巧和方法,如循环、条件语句、子程序等。

通过实践编写了一些简单的程序,加深了对这些技巧的理解和掌握。

4. 汇编语言应用案例:通过学习一些实际的应用案例,如字符串处理、图像处理等,了解了汇编语言在实际编程中的应用。

掌握了如何利用汇编语言解决实际问题的方法和思路。

三、学习感悟在学习汇编语言程序设计的过程中,我遇到了一些困难和挑战,但也收获了很多。

首先,汇编语言的语法和指令集相比高级语言更加底层和复杂,需要花费更多的时间和精力去学习和理解。

在最开始学习的阶段,我遇到了很多语法错误和调试困难,但通过不断的实践和练习,逐渐掌握了基本的汇编语言编程技巧。

其次,汇编语言的程序设计思维与高级语言有所不同。

在高级语言中,我们可以使用各种高级数据结构和函数库来解决问题,而在汇编语言中,我们需要手动构建这些数据结构和函数,需要更加关注底层的细节。

这要求我们具备一定的抽象能力和逻辑思维,能够清晰地分析问题并设计相应的算法。

此外,汇编语言编程还需要对计算机硬件有一定的了解。

汇编语言顺序程序实验报告参考模板

汇编语言顺序程序实验报告参考模板

本科实验报告课程名称:汇编语言程序设计实验项目:顺序程序实验实验地点:专业班级:学号:学生姓名:指导教师:2016年4月19日太原理工大学学生实验报告PUSH AXMOV AX, DATAMOV DS, AXMOV AX, XADD AX, YMOV Z, AXRETMAIN ENDPCODE ENDSEND START三、主要仪器设备惠普笔记本和DOSBOC四、操作方法与实验步骤1.DATA SEGMENTA DB 30HB DB 20HC DB 10HD DB 05HZ DB ?DATA ENDSMAIN PROC FARCODE SEGMENTASSUME CS:CODE, DS:DATA START: MOV AX, DATAMOV DS, AXMOV AX, 0MOV DX, 0MOV AL, AADD AL, BMOV DL, CSUB DL, DSUB AL, DLMOV Z, ALRETMAIN ENDPCODE ENDSEND START2.DATA SEGMENTX DW 32HY DW 14HZ DW 0AHW DW ?,?DATA ENDSMAIN PROC FARCODE SEGMENTASSUME CS:CODE, DS:DATA START: MOV AX, DATAMOV DS, AXXOR AX, AXXOR BX, BXXOR DX, DXMOV AX, XMOV BX, YMUL BXSUB AX, 32HXOR BX, BXMOV BX, ZIDIV BXMOV W, AXMOV W+2,DXRETMAIN ENDPCODE ENDSEND START五、实验数据记录和处理六、实验结果与分析七、讨论、心得友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。

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

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

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

在计算机科学与技术领域,汇编语言程序设计是一门重要的课程。

本篇实验报告将介绍我在汇编语言程序设计实验中所学到的知识和经验。

实验目的本次实验的目的是通过编写汇编语言程序,加深对计算机底层原理的理解,并掌握汇编语言的基本语法和编程技巧。

实验环境在实验中,我使用了一台运行Windows操作系统的计算机,并安装了MASM 汇编语言开发工具。

实验内容1. 汇编语言基础知识在实验开始前,我先学习了汇编语言的基础知识。

汇编语言使用助记符来代表机器指令,与机器指令一一对应。

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

2. 汇编语言程序设计在实验中,我编写了一些简单的汇编语言程序,以加深对汇编语言的理解和应用。

例如,我编写了一个计算两个数之和的程序,通过将两个数存储在寄存器中,并使用加法指令进行运算,最后将结果保存到指定的内存位置。

3. 汇编语言程序调试在编写汇编语言程序时,我遇到了一些错误和问题。

为了解决这些问题,我学会了使用调试工具来定位错误。

通过逐步执行程序,并观察寄存器和内存的变化,我能够找到程序中的错误并进行修正。

4. 汇编语言程序优化在实验中,我也尝试了对汇编语言程序进行优化,以提高程序的性能和效率。

通过减少指令的数量和使用更高效的算法,我成功地改进了程序的执行速度。

实验心得通过本次实验,我深刻体会到了汇编语言程序设计的重要性和挑战性。

汇编语言虽然复杂,但它能够直接操作计算机的硬件,提供了更高的灵活性和效率。

通过编写汇编语言程序,我不仅加深了对计算机底层原理的理解,还提高了问题解决和调试能力。

总结汇编语言程序设计实验是一门重要的课程,它为我们提供了学习计算机底层原理和编程技巧的机会。

通过实验,我掌握了汇编语言的基本知识和技巧,并成功编写和优化了汇编语言程序。

这次实验不仅加深了我的理论知识,还培养了我的实际操作能力。

《汇编语言程序设计》实验报告(一)

《汇编语言程序设计》实验报告(一)

《汇编语⾔程序设计》实验报告(⼀)《汇编语⾔程序设计》实验报告(⼀)姓名学号系别班级指导教师实验⽇期课程名称《汇编语⾔程序设计》同组实验者⼀、实验名称:实验⼀汇编程序和连接程序的使⽤⼆、实验⽬的:1. 熟悉汇编语⾔的上机环境;2. 学习EDIT,MASM,LINK程序的使⽤;3. 掌握建⽴、汇编、链接、运⾏汇编语⾔程序的过程。

三、实验类型:验证四、实验材料、⼯具、或软件多媒体计算机、WINDOWS XP系统或纯DOS系统、MASM6.11以上版本或汇编语⾔程序设计实验集成环境。

五、实验要求1. 编写⼀程序,要求⽐较两个字符串STRING1和STRING2所含字符是否相同,若相同则显⽰‘MATCH’,若不相同则显⽰‘NO MATCH’。

⽤串⽐较功能来完成程序所要求的功能。

2.完成课堂例题,并⽤DEBUG运⾏,观察结果。

六、试验内容与步骤:(附上必要的调试过程及运⾏结果截图,可加附页)试编写⼀程序,要求⽐较两个字符串STRING1和STRING2所含字符是否相同,若相同则显⽰‘MATCH’,若不相同则显⽰‘NO MATCH’。

⽤串⽐较功能来完成程序所要求的功能。

上机步骤如下:1、调⽤/doc/284972810.html程序建⽴汇编语⾔源程序.ASM建⽴好的源⽂件以EX_1.ASM为⽂件名存盘DATA SEGMENTSTRING1 DB 'Visual C++ 'STRING2 DB 'Visual Basic'COUNT EQU $-STRING2MESS1 DB 'MATCH!’,13,10,’$'MESS2 DB 'NO MATCH!’,13,10,’$'DATA ENDScode segmentassume cs:code,ds:data,es:datamain proc farstart:push dssub ax,axpush axmov ax,datamov ds,axmov es,ax;main programmov cx,countlea si,string1lea di,string2cldrepz cmpsbjz mes1mov dx,offset mess2jmp disp0mes1:mov dx,offset mess1disp0: mov ah,9int 21hexit: retmain endpcode endsend start2、⽤汇编程序MASM对源⽂件汇编产⽣⽬标⽂件.obj键⼊命令 masm ex_1;如汇编指⽰出错则需重新调⽤EDIT程序修改错误,直到汇编通过产⽣.obj⽂件为⽌。

《汇编语言程序设计》报告

《汇编语言程序设计》报告
movcx,256
rep movsb
MOVAH,4CH
INT 21H
CODESENDS
ENDSTART
第二部分地址块减一方法移动块的源程序:
DATASSEGMENT
sourcedb256dup(055h)
targetdb256dup(0aah)
DATASENDS
STACKSSEGMENT
STACKSENDS
lea dx,mess2
jmp short disp
match:lea dx,mess1
disp:mov ah,9
int 21h
mov ah,4ch
int 21h
ret
main endp
code ends
end start
执行结果:
实验二用DEBUG编程:使用堆栈段将
AX和BX的内容进行交换等
一:程序说明:
一、程序说明:
第一个程序是存储块清零。程序流程大概为首先设置起始地址,然后设置块长度,然后将当前地址内容清零,地址加1,然后查看是否清除完全,若没有则回到当前地址清零,然后再查看,直到地址内容清除完,结束程序。
第二个程序是内存块移动。程序流程框图为:首先设置块的源地址,然后设置筷的目的地址,然后再设置移动长度,然后按长度重复传送数据,然后结束。
二、调试说明
调试程序可以在debug中进行,基本步骤和前面的实验大致相同,在软件Masm集成实验环境2008.4中编辑程序,则可以直接点击程序上的调试按钮,即可进行调试。调试时可通过-t指令来逐步运行程序,观察相关内容变化,来调试程序。
三:源程序代码和执行结果:
DATAS SEGMENT
string1 db ' this not is a zimu!Please input between a to z!',0ah,0dh,'$'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

汇编语言程序设计报告

汇编语言程序设计报告

v .. . ..《汇编语言》课程设计报告专业计算机科学与技术学生姓名张竹青班级Z计算机151学号1560704132任课老师王志宏完成日期2017年12月29日目录1概述 (1)1.1 设计目的 (1)1.2 设计内容 (1)2系统需求分析 (1)2.1 系统目标 (1)2.2 主体功能 (1)2.3 开发环境 (2)3 系统概要设计 (2)3.1 系统的功能模块划分 (2)3.2 系统流程图 (3)4系统详细设计 (4)4.1界面设置 (4)4.2选择算法设置 (4)4.3十进制转换设置 (4)5测试 (5)5.1 测试方案 (5)5.2 测试结果 (5)6小结 (6)参考文献 (7)实现加减乘除四则运算的计算器1 概述1.1 设计目的使用汇编语言,通过实现简单计算器的一般功能,如加、减、乘、除的计算来了解并掌握DOS系统功能的调试方法,学会画出编程的具体流程图,同时在程序设计过程中熟悉各种指令的应用和意义,以及如何进行上机编辑、汇编、连接和调试。

本课程设计也是对课堂上所学的基本理论知识和程序设计方法的巩固和深化,提高我们的编程思想、分析问题和解决问题的综合应用能力,能够编写较复杂的应用程序,最终达到熟练地掌握结构化程序设计技术和编写汇编源程序的基本方法的目的。

1.2 设计内容设计一个能实现加、减、乘、除计算的程序,要求该程序接受从键盘输入的十六进制数,当程序执行时需在文件名后直接跟上计算表达式,每当读到一个有效的表达式时对表达式进行相应的运算后,输出用十进制数或十六进制数表示的运算结果,如在命令提示符下执行结果如下:c:\tasm>js 3+252 系统需求分析2.1 系统目标本次汇编语言课程设计的最终目的是要实现一个简单的加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。

具体功能如下:(1)调用中断把要做运算的两个数输入到屏幕上并用程序将他们存储起来(2)判断用户所输入的运算是四则运算中的哪一种运算(3)判断运算过程中是进位还是借位(4)选择用何种输出方式(5)实现清屏2.2 主体功能要求该程序接受的是十六进制数,执行相应的计算后,计算结果以十六进制数或十进制数输出。

汇编语言设计实验报告参考模板

汇编语言设计实验报告参考模板

南通大学计算机类课程实验报告MOV [Z],AX ;将最后的结果送给ZMOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START(如不够,请另附纸)六、实验结果七、实验存在问题和解决办法问题:在实验过程中,对指令不熟悉,以至于不熟悉命令的应用及debug的调用命令。

代码还不能灵活运用,编写代码有所困难。

解决办法:多试调试。

八、实验心得和建议对于DEBUG的追踪还不熟悉,不过在指导老师的认真教导下,我们渐渐了解了汇编语言。

也能读懂一些简单的汇编语言。

我觉得在以后的学习中,我们必须要加强汇编语言的学习力度。

在学习过程中,不仅要大量阅读源程序,分析其功能,而且要借鉴他人的经验,练习编写完成特定功能的源程序。

南通大学计算机类课程实验报告MOV AH,2INT 21HMOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START(如不够,请另附纸)六、实验结果七、实验存在问题和解决办法问题:在实验过程中,对指令不熟悉,以至于不熟悉命令的应用及debug的调用命令。

代码还不能灵活运用,编写代码有所困难。

解决办法:多试调试。

八、实验心得和建议第二次做汇编实验了,在心理上已没有了第一次做实验的那种茫然不知。

在实验中遇到的错误很多,并且无论怎样修改都还是不能使程序达到完美的状态的时候,情绪会比较不稳定,这时候才知道,编写程序除了有思路,有想法,有语言知识,还要有很强大的心理,要有耐心,才能去面对这一连串的错误。

在学习过程中,不仅要大量阅读源程序,分析其功能,而且要借鉴他人的经验,练习编写完成特定功能的源程序。

南通大学计算机类课程实验报告PUSH DXMOV DL,0AHMOV AH,2INT 21HPOP DXPOP AXRETCRLF ENDPCODE ENDSEND START(如不够,请另附纸)(如不够,请另附纸)六、实验结果七、实验存在问题和解决办法问题:在实验过程中,对指令不熟悉,以至于不熟悉命令的应用及debug的调用命令。

汇编程序设计总结报告_设计院年终总结报告

汇编程序设计总结报告_设计院年终总结报告

汇编程序设计总结报告_设计院年终总结报告【序言】汇编程序设计是一项重要的技术,能够直接操作计算机硬件,提高程序的执行效率。

在本年度的设计工作中,我们团队通过汇编程序设计,成功完成了多项项目,并取得了优异的成绩。

下面是我们的年度总结报告。

【工作总结】在今年的设计工作中,我们主要开展了以下几个方面的工作:1. 汇编语言教学:我们举办了一系列的汇编语言教学活动,培养了一批优秀的人才。

在教学过程中,我们注重理论与实践相结合,通过实际案例演示和实践操作,提高学生的实际操作能力。

2. 汇编程序开发:我们团队开发了多个实用的汇编程序,涉及到硬件驱动、系统优化、数据处理等方面。

这些程序能够提高计算机的性能,并简化用户的操作流程,得到了用户的广泛认可和好评。

3. 汇编程序优化:我们对已有的汇编程序进行了进一步的优化,通过改进算法和优化代码,提高了程序的执行效率。

这些优化工作,使得程序在保证功能完整的基础上,能够更快速地执行,减少了用户的等待时间。

【不足与展望】在今年的设计工作中,我们也存在一些不足之处:1. 人员配备不足:由于项目任务较重,人员配备有限,导致工作进度较慢。

今后我们将增加人员配备,提高项目的完成进度。

2. 技术储备不足:由于技术革新的速度较快,我们需要不断学习和更新知识,保持技术优势。

今后我们将加强学习和实践,提高技术储备。

【总结】通过今年的设计工作,我们团队在汇编程序设计方面取得了显著的成果。

我们将继续努力,提高自身的技术水平,为用户提供更好的产品和服务。

我们也希望能够与更多企事业单位合作,共同推进汇编程序设计的发展,实现共赢。

感谢大家对我们工作的支持和关注!。

汇编程序设计总结报告_设计院年终总结报告

汇编程序设计总结报告_设计院年终总结报告

汇编程序设计总结报告_设计院年终总结报告一、引言随着科技的不断发展,各种新技术、新工具不断涌现,程序设计也随之不断更新。

作为设计院的一名程序设计师,我深刻感受到了这种变化。

在过去一年中,我参与了多个汇编程序的设计与开发工作,对于这些项目的总结与反思对于我个人的成长和设计院的发展非常重要。

在这份总结报告中,我将结合我所参与的项目,对过去一年的工作进行总结和归纳,体会并总结出一些经验和教训,为今后的工作提供参考。

二、工作总结在过去一年中,我主要参与了三个汇编程序的设计与开发工作。

一个是关于嵌入式系统的程序设计,一个是针对自动化设备的程序设计,还有一个是关于通信设备的程序设计。

在这些项目中,我负责了程序设计和编码工作,参与了项目的需求分析、系统设计和测试工作。

在这些项目中,我积累了不少经验,也遇到了一些困难与挑战。

1. 嵌入式系统程序设计这个项目是我第一次接触嵌入式系统的程序设计,对我来说是一个全新的领域。

在这个项目中,我学会了如何针对嵌入式系统的特点设计程序,如何合理地利用系统资源,如何进行系统调试和测试。

在这个项目中,我遇到了很多困难,比如在资源有限的嵌入式系统上如何设计高效的程序,如何进行程序的优化等等。

但是通过不懈的努力和团队的协作,最终我们成功地完成了项目,并且得到了客户的一致好评。

2. 自动化设备程序设计这个项目是我在设计院工作期间参与的第一个项目,对我来说是一个非常宝贵的经历。

在这个项目中,我学会了如何进行团队合作,如何管理项目进度,如何与客户进行有效沟通等等。

在项目的过程中,我也碰到了很多问题,比如需求变更、进度延误等等。

但是通过团队的共同努力,我们最终还是按时完成了项目,并且客户也非常满意。

3. 通信设备程序设计这个项目是我参与的最后一个项目,也是我觉得最有挑战性的一个项目。

在这个项目中,我需要应对各种复杂的通信协议,设计高可靠性的程序,保证系统的稳定性和安全性。

在这个项目中,我遇到了很多技术难题,需要不断地进行尝试和调试。

汇编程序设计总结报告_设计院年终总结报告

汇编程序设计总结报告_设计院年终总结报告

汇编程序设计总结报告_设计院年终总结报告
过去一年里,我在设计院从事汇编程序设计工作。

在这一年里,我学会了许多新技能
和工作方法。

在此向大家介绍一些我所学到的重要内容和成果。

首先,我学习了如何编写高效的汇编程序。

通过学习汇编语言的基本语法和操作指令,我学会了如何最大限度地利用计算机的资源。

我们的项目需要对大量的数据进行处理,因
此我学会了如何使用循环和条件分支语句,以及计算器和寄存器等关键工具来提高程序的
效率。

其次,我学习了如何优化程序的性能。

我们的项目需要在短时间内处理大量的数据,
因此我们需要优化程序的性能以节省时间和人力成本。

我学习了如何使用程序分析工具来
检测程序中的性能瓶颈,并采取相应的措施来优化程序。

我还学会了使用实验室提供的硬
件工具来优化程序的执行效率。

第三,我学习了如何使用新技术。

设计院一直致力于引入新技术,以提高我们的工作
效率和成果。

在过去的一年里,我学习了如何使用机器学习算法来处理大量的数据,并使
用深度学习技术来预测未来的趋势。

我还学习了如何使用人工智能技术来自动化协助我们
的工作。

最后,我通过参与设计院的项目,结识了许多优秀的同事。

他们教会了我许多新技能
和谈判技巧,并在我遇到困难时给予了支持和帮助。

在这一年里,我不仅学到了新知识,
还建立了一个强大的网络,它将帮助我在未来的职业生涯中更加出色。

在此,我要感谢设计院领导和同事们对我的支持和鼓励。

我将在未来的工作中继续努
力学习和进步,为设计院的发展做出更大的贡献。

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

《汇编语言》课程设计报告专业计算机科学与技术学生姓名张竹青班级Z计算机 151学号1560704132任课老师王志宏完成日期2017年12月29日目录1 概述 (1)1.1 设计目的 (1)1.2 设计内容 (1)2 系统需求分析 (1)2.1 系统目标 (1)2.2 主体功能 (1)2.3 开发环境 (2)3 系统概要设计 (2)3.1 系统的功能模块划分 (2)3.2 系统流程图 (3)4 系统详细设计 (4)4.1 界面设置 (4)4.2 选择算法设置 (4)4.3 十进制转换设置 (4)5 测试 (5)5.1 测试方案 (5)5.2 测试结果 (5)6 小结 (6)参考文献 (7)实现加减乘除四则运算的计算器1 概述1.1 设计目的使用汇编语言,通过实现简单计算器的一般功能,如加、减、乘、除的计算来了解并掌握 DOS系统功能的调试方法,学会画出编程的具体流程图,同时在程序设计过程中熟悉各种指令的应用和意义,以及如何进行上机编辑、汇编、连接和调试。

本课程设计也是对课堂上所学的基本理论知识和程序设计方法的巩固和深化,提高我们的编程思想、分析问题和解决问题的综合应用能力,能够编写较复杂的应用程序,最终达到熟练地掌握结构化程序设计技术和编写汇编源程序的基本方法的目的。

1.2 设计内容设计一个能实现加、减、乘、除计算的程序,要求该程序接受从键盘输入的十六进制数,当程序执行时需在文件名后直接跟上计算表达式,每当读到一个有效的表达式时对表达式进行相应的运算后,输出用十进制数或十六进制数表示的运算结果,如在命令提示符下执行结果如下:c:\tasm>js 3+252系统需求分析2.1 系统目标本次汇编语言课程设计的最终目的是要实现一个简单的加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。

具体功能如下:(1)调用中断把要做运算的两个数输入到屏幕上并用程序将他们存储起来(2)判断用户所输入的运算是四则运算中的哪一种运算(3)判断运算过程中是进位还是借位(4)选择用何种输出方式(5)实现清屏2.2 主体功能要求该程序接受的是十六进制数,执行相应的计算后,计算结果以十六进制数或十进制数输出。

本设计的使用说明如下:(1)按照提示选择数字 1,2,3,4(2) 1: ADD 加法(3) 2: SUB 减法(4) 3: MUL 乘法(5) 4: DIV 除法(6)输入一个小于四位的数字,回车(7)再输入一个小于四位的数字,回车(8)显示结果(9)退出按 0,选择 Y 或 N2.3 开发环境TASM5.0 集成环境3系统概要设计3.1 系统的功能模块划分本设计实现的模块图如图3-1 所示图 3-1概要模块(1)界面设置主要实现确定界面样式的功能,以菜单形式显示。

(2)选择算法设置用于选择加、减、乘、除法来进行运算。

(3)十进制转换设置应用十进制的转换算法来处理加、减、乘、除法四则运算。

3.2 系统流程图开始输入选择键XX=1?否X=2?否是十六进制加法是十六进制减法是否X=3?否X=4?否X=0?结束十六进制乘法是十六进制除法是Exit?Y退出程序N图 3-2 四则运算计算器执行过程流程图4系统详细设计4.1 界面设置通过定义数据段,利用09H显示出功能列表。

通过定义数据段,以字符串的形式输入每个提示信息,利用09H键盘输入并回显命令显示每一个功能提示,是计算器的功能列表有序清晰的显示在屏幕上。

4.2 选择算法设置首先选择要进行的四则运算,若选择 1,则进行加法;若选择 2,则进行减法;若选择 3,则进行乘法;若选择 4,则进行除法。

加法:先输入第一个小于 4 位十六进制数存入 SI 中,在输入第二个小于 4 位十六进制数存入 BX中,然后显示 BX 和 [SI] 中的内容相加存在 BX中。

减法:先输入第一个小于 4 位十六进制数存入 SI 中,在输入第二个小于 4 位十六进制数存入 BX中,然后显示 BX 和[SI] 中的内容相减存在BX中,然后用 NEG来求反,即为第一个数减去第二个数的差,显示 BX的内容即为差。

乘法:先输入第一个小于 4 位十六进制数存入 SI 中,在输入第二个小于 4 位十六进制数存入 BX中,把 BX的值给 AX,然后让 AX乘以 [SI] ,然后再分别将 DX,AX中的内容赋给 BX,接着依次显示 DX,AX的内容,即为积。

除法:先输入第一个小于 4 位十六进制数存入 SI 中,在输入第二个小于 4 位十六进制数存入 BX中,将 [SI] 赋给 AX作被除数,让 BX作除数,得到的商存放在 AX中,余数放在 DX中,然后依次赋给 BX,将其依次显示即为商。

4.3 十进制转换设置要完成十进制转换成十六,一般采用除十六取余法来完成,其大致过程如下:将待转换的数除以 16 得到第一个商和余数,此第一个余数就是所求的十六进制数的各位,再用第一个商除以 16,得到第二个商和余数,此第二个余数就是所求十六进制数的十位,重复这一过程直至商为 0,此时的余数就是所求十六进制数的最高位。

在内存中分配一缓冲区,用来存放以上分离出来的使十进制数的每一位,然后再逐个转换成 ASCII 码,转换成 ASCII 码的过程很简单,就是给每个十六进制位加上 30H即可,最后送显示器输出。

5测试5.1 测试方案对程序源代码进行功能调试和功能验证。

程序代码运行成功后,分别检验测试其加、减、乘、除功能,并对结果进行分析。

当用户选择 0 时,输入 Y 或 N 决定是否退出程序。

5.2 测试结果正确输出:加、减、乘、除的运算结果分别如图5-1 、图 5-2 、图 5-3 、图 5-4 所示图 5-1 加法的运算的结果截图图 5-2 减法的运算的结果截图图 5-3 乘法的运算的结果截图图 5-4 除法的运算的结果截图测试结束后,退出程序,如图5-5 所示:图 5-5退出程序6小结本次课程设计是运用汇编语言设计一个计算器,其主要功能是实现加减乘除四则基本运算,整个程序中主要分为:输入表达式,加法,减法,乘法,除法和以十六进制输出结果这几个部分。

本程序基本实现了四则运算的功能,但是只能单独进行某一种运算,没有实现混合运算的效果,由于程序会产生溢出现象,所以在除法运算中不能运算较大的数。

在编写过程中用到了很多基础知识,但是在程序运行时总会出现一些问题,由于汇编基础比较薄弱,所以有时会打错了程序代码,误解了知识点,不了解程序结构等,但是通过查阅资料,请教老师并和同学讨论,最终解决了所有问题,也成功的运行出了结果。

通过本次课程设计,不仅加深了我对汇编程序设计的认识,也提高了改写程序代码和动手操作的能力,还有编程的基本习惯和开发系统时应注意的流程,同时也对各种指令有了进一步的理解。

并且我发现一个好的汇编程序不仅要正确可行,还要有健壮性,当用户输入非法的数据,使运行环境改变时,程序能恰当地作出反应或进行处理,不会产生莫名奇怪的输出结果。

因为完成设计的时间较短,并且对汇编语言知识比较生疏,设计之中难免有一些错误和不妥之处,同时也需要改进,所以真诚的希望尊敬的老师批评指正。

参考文献[1]曹加恒 . 新一代汇编语言课程设计 [M]. 北京:高等教育出版社, 2013[2]杨路明 . 汇编语言程序设计 [M]. 长沙:中南大学出版社, 2015[3]王爽 . 汇编语言 [M]. 北京:清华大学出版社, 2016附录附录源程序清单IN16 MACRO;完成从键盘接受二个数并转换为十六制数,第一个数由SI 指向,第二个数存放在 BX 中LEA DX,PR;DX指向 PR换行CALL OUTPUT ;LEA DX,INPUT1;DX指向 INPUT1,提示输入第一个数CALL OUTPUTCALL INPUT;把输入的数存放在 BX中LEA SI,RESULT;SI指向 RESULTMOV [SI],BX;把第一个十六制数存入RESULT的第一个位置LEA DX,PR;DX指向 PR,换行CALL OUTPUTLEA DX,INPUT2;DX指向 INPUT2,提示输入第一个数CALL OUTPUTCALL INPUT;把输入的数存放在 BX中ENDM;宏结束DATA SEGMENT;数据段BUF DB ' ',0DH,0AHDB '*------- WELCOME TO CALCULATOR SYSTEM ---------*',0DH,0AHDB '*---1:ADD--2:SUB--3:MUL--4:DIV--0:QUIT---------*',0DH,0AHDB '*----------2011*6*21---------------*',0DH,0AHDB 0DH,0AH,'Please input the choose number:','$'INPUT1 DB 'Please input the first number xiao yu 4 wei:','$'INPUT2 DB 'Please input the second number xiao yu 4 wei:','$'RESULT DW ?,?;存放键盘输入的两个十六制数WRO DB 'You input the number is wrong,please input again:',0DH,0AH,'$';PR DB 0DH,0AH,'$' ;将光标移到下一行起始位置PR1 DB 'A + B=$'PR2 DB 'A - B=$'PR3 DB 'A * B=$'PR4 DB 'A / B=$'PR5 DB '......$'PR6 DB 'Are you sure exit?(Y/N)$'DATA ENDS;数据段落定义结束CODE SEGMENTMAIN PROC FAR;主函数ASSUME CS:CODE ,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,BUF;DX指向 BUF换行CALL OUTPUT;调用显示字符串函数换行SUB AX,AX;AX清零CALL CHOOSE;调用选择函数JMP START;跳转到 STARTRETMAIN ENDPINPUT PROC NEAR;定义 INPUT 函数,就是将从键盘输入的数按原十六进制数存放在BX 中MOV BX,0;BX清零NEWCHAR:MOV AH,1INT 21H;接受键盘输入一个字符CMP AL,0DH;输入的字符与回车比较JE EXIT;是回车就结束CMP AL,'A';与 A 比较JAE H0;大于等于就跳转到H0CMP AL,'0';与 0 比较JAE H1;大于等于就跳转到H1H0:SUB AL,37H;由于 41-A=37, 完成把字母字符转换成对应的十六进制数JMP ADDTO;跳转到 ADDTOH1:SUB AL,30H;把 0 到 9 的字符转换成对应的十六进制数JMP ADDTO;跳转到 ADDTOADDTO:MOV CL,4;相当于让 BX乘以 16SHL BX,CL;将 BX 逻辑左移MOV AH,0;将 AX 清零ADD BX,AX;AX+BX送到 BXJMP NEWCHAR;跳转到NEWCHAR,把第二个输入的字符存放到BX的第二位EXIT: RETINPUT ENDPOUTPUT PROC NEAR; 显示字符串函数MOV AH,09HINT 21HRETOUTPUT ENDPCHOOSE PROC NEAR;选择函数MOV AH,1;从键盘接受一个数INT 21HCMP AL,'1';与 1 比较JE YES1;等于 1 就跳转到 YES1,进行加法CMP AL,'2';与 1 比较JE YES2;等于 2 就跳转到 YES2,进行减法CMP AL,'3';与 1 比较JE YES3;等于 3 就跳转到 YES2,进行乘法CMP AL,'4';与 1 比较JE YES4;等于 4 就跳转到 YES2,进行除法CMP AL,'0';与 0 比较JE EXIT1;等于 4 就跳转到 EXIT1, 结束程序CALL WRONG;如果不是 0 到 4 之间的数就提示出错EXIT1: LEA DX,PR;DX指向 PR换行CALL OUTPUTLEA DX,PR6;DX指向 PR6,确认是否退出CALL OUTPUTMOV AH,1;从键盘接受一个数INT 21HCMP AL,'Y';与 Y 比较JE EXIT0;不是 Y 就看是否为 yCMP AL,'y';与 y 比较JNE START;不是 y 就跳转到 STARTEXIT0:MOV AH,4CH;结束本程序INT 21HYES1:CALL JIA;调用 JIA 函数JMP START;调用完之后跳转到STARTYES2:CALL JIAN;调用 JIAN 函数JMP START;调用完之后跳转到STARTYES3:CALL CHENG;调用 CHENG函数JMP START;调用完之后跳转到STARTYES4:CALL CHU;调用 CHU函数RETCHOOSE ENDP;选择函数结束WRONG PROC NEAR;报错函数LEA DX,PR;DX指向 PR换行LEA DX,WRO;DX指向 WRO,提示输入有错,请重新输入JMP START;跳转到 STARTRETWRONG ENDP;报错函数结束JIA PROC NEAR;加法函数IN16;调用宏 , 接受键盘输入的两个十六进制数,第一个数由 SI 指向,第二个数存放在 BX中ADD BX,[SI];把第一个数加第二个数存放到BX中LEA DX,PR;DX指向 PR,换行CALL OUTPUTLEA DX,PR1;DX指向 PR1,显示‘ A + B= ’CALL OUTPUTCALL OUTBX;调用显示 BX寄存器的内容函数RETJIA ENDP;加法结束JIAN PROC NEAR;减法函数IN16;调用宏 , 接受键盘输入的两个十六进制数,第一个数由 SI 指向,第二个数存放在 BX中SUB BX,[SI];第二个数减第一个数, 结果存放到 BX中NEG BX;对结果取反后才是A-B 的值 , 才是第一个数减去第二个数LEA DX,PR;DX指向 PR,换行CALL OUTPUTLEA DX,PR2;DX指向 PR2,显示‘ A - B= ’CALL OUTPUTCALL OUTBX;调用显示 BX寄存器的内容RETJIAN ENDP;加法函数结束CHENG PROC NEAR; 乘法函数IN16;调用宏 , 接受键盘输入的两个十六进制数,第一个数由 SI 指向,第二个数存放在 BX中MOV DX,0;把 DX清零MOV AX,BX;把第二个数赋给 AXMUL WORD PTR[SI];AX 乘 [SI] 并把结果存放到 DX,AX中 , 是字的操作MOV BX,AX;将 AX 赋给 BXPUSH BX;将 BX 压栈,显示下面 DX的内容时要将DX的值赋给 BXPUSH DX;将 DX压栈,因为下面要换行输出,会改变DX的值LEA DX,PR;DX指向 PR,换行输出CALL OUTPUTLEA DX,PR3;DX指向 PR3,显示‘ A * B= ’CALL OUTPUTPOP DX;将 DX出栈,要将做乘法后 DX的内容显示出来MOV BX,DX;把 DX给 BXCALL OUTBX;显示 DX的内容POP BX;将 BX 出栈CALL OUTBX;显示 AX 的内容RETCHENG ENDP;乘法函数结束CHU PROC NEAR; 除法函数IN16;调用宏 , 接受键盘输入的两个十六进制数,第一个数 SI 指向,第二个数存放在 BX中MOV AX,[SI];将第一个数赋给 AXMOV DX,0;将 DX清零DIV BX;AX除 BX,结果存放到 DX,AX, DX存放余数, AX存放商PUSH DX;压栈 DXPUSH AX;压栈 AXLEA DX,PR;DX指向 PR,换行CALL OUTPUTLEA DX,PR4;DX指向 PR4,显示‘ A / B= ’CALL OUTPUTPOP AX;出栈 AXMOV BX,AX;将 AX 赋给 BX,将商给 BXCALL OUTBX;显示 AX 寄存器的内容,即显示商LEA DX,PR5;DX指向 PR5,显示省略号CALL OUTPUTPOP DX;出栈 DXMOV BX,DX;将 DX赋给 BX,即将余数赋给BX,CALL OUTBX;显示 DX寄存器的内容,显示余数RETCHU ENDP;除法函数结束OUTBX PROC NEAR; 显示 BX 寄存器的内容函数MOV CH,4;CH等于 4ROTATE:MOV CL,4;CL等于 4ROL BX,CL;将 BX 循环左移 4 位MOV AL,BL;将 BL 赋给 ALAND AL,0FH;将 AL 的高位置 0ADD AL,30H;AL+30H可将 AL 变为对应的 ASCII 的值CMP AL,3AH;判断是否是 0-9 之间JL PRINTIT;是则跳转到 PRINTITADD AL,7H;是 A-F 再加上 7HPRINTIT:MOV DL,AL; 将 AL 赋给 DLMOV AH,2INT 21H;显示 ALDEC CH;CH-1再赋给 CHJNZ ROTATE;CH!=0则跳转到 ROTATERET;CH=0则结束OUTBX ENDP;显示寄存器 BX内容函数结束CODE ENDSEND MAIN。

相关文档
最新文档