汇编计算机组成实验报告计科07 吴加跃

合集下载

汇编实验报告七

汇编实验报告七

计算机组成与汇编语言实验报告
通过结果说明程序运行结果正确。

2.调试程序2的运行结果如下。

说明程序实现的功能是查找0第一次出现的位置。

通过结果说明程序运行结果正确。

1.编写程序1运行结果如下。

4.编写程序2运行结果如下。

5.编写程序3运行结果如下。

实验情况与体会:通过本次上机实验,学习了数值转换。

实验过程中,遇到很多问题,比如程序一的编写,基本上都是学习书本以及依靠书本多做题才编出来的,仅有的几次上机实验,要抓紧时间学习和交流,时间挺少的。

在今后的学习和生活中,我们都需要相互学习、相互交流,共同进步。

学习是一个循序渐进的过程。

通过这次实验,使我了解到运行调试程序的不易,今后一定更加努力,把程序做到最好!对于不足之处,会积极改正。

计算机组成实验报告

计算机组成实验报告

计算机组成实验报告计算机组成实验报告(共3篇)篇一:《计算机组成与结构》实验报告11 .实验目的:1).学习和了解TEC-2000 十六位机监控命令的用法;2).学习和了解TEC-2000 十六位机的指令系统;3).学习简单的TEC-2000 十六位机汇编程序设计;2.实验内容:1).使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容;2).使用 A 命令写一小段汇编程序,U 命令反汇编刚输入的程序,用G 命令连续运行该程序,用T、P 命令单步运行并观察程序单步执行情况;3、实验步骤1).关闭电源,将大板上的COM1 口与PC 机的串口相连;2).接通电源,在PC 机上运行PCEC.EXE 文件,设置所用PC 机的串口为“1”或“2”, 其它的设置一般不用改动,直接回车即可;3).置控制开关为00101(连续、内存读指令、组合逻辑、16 位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。

其它实验相同;4).按一下“RESET”按键,再按一下“START”按键,主机上显示:TEC-2000 CRT MONITOR Version 1.0 April 2001Computer Architectur Lab.,Tsinghua University Programmed by He Jia >5).用R 命令查看寄存器内容或修改寄存器的内容a.在命令行提示符状态下输入:R↙;显示寄存器的内容图片已关闭显示,点此查看图片已关闭显示,点此查看b.在命令行提示符状态下输入:R R0↙;修改寄存器R0 的内容,被修改的寄存器与所赋值之间可以无空格,也可有一个或数个空格主机显示:寄存器原值:_在该提示符下输入新的值,再用R 命令显示寄存器内容,则R0 的内容变为0036。

图片已关闭显示,点此查看6).用D 命令显示存储器内容在命令行提示符状态下输入:D 2000↙会显示从2000H 地址开始的连续128 个字的内容;连续使用不带参数的 D 命令,起始地址会自动加128(即80H)。

计算机组成原理实验报告

计算机组成原理实验报告

计算机组成原理实验报告实验目的,通过本次实验,深入了解计算机组成原理的相关知识,掌握计算机硬件的基本组成和工作原理。

实验一,逻辑门电路实验。

在本次实验中,我们学习了逻辑门电路的基本原理和实现方法。

逻辑门电路是计算机中最基本的组成部分,通过逻辑门电路可以实现各种逻辑运算,如与门、或门、非门等。

在实验中,我们通过搭建逻辑门电路并进行实际操作,深入理解了逻辑门的工作原理和逻辑运算的实现过程。

实验二,寄存器和计数器实验。

在本次实验中,我们学习了寄存器和计数器的原理和应用。

寄存器是计算机中用于存储数据的重要部件,而计数器则用于实现计数功能。

通过实验操作,我们深入了解了寄存器和计数器的内部结构和工作原理,掌握了它们在计算机中的应用方法。

实验三,存储器实验。

在实验三中,我们学习了存储器的原理和分类,了解了不同类型的存储器在计算机中的作用和应用。

通过实验操作,我们进一步加深了对存储器的认识,掌握了存储器的读写操作和数据传输原理。

实验四,指令系统实验。

在本次实验中,我们学习了计算机的指令系统,了解了指令的格式和执行过程。

通过实验操作,我们掌握了指令的编写和执行方法,加深了对指令系统的理解和应用。

实验五,CPU实验。

在实验五中,我们深入了解了计算机的中央处理器(CPU)的工作原理和结构。

通过实验操作,我们学习了CPU的各个部件的功能和相互之间的协作关系,掌握了CPU的工作过程和运行原理。

实验六,总线实验。

在本次实验中,我们学习了计算机的总线结构和工作原理。

通过实验操作,我们了解了总线的分类和各种总线的功能,掌握了总线的数据传输方式和时序控制方法。

结论:通过本次实验,我们深入了解了计算机组成原理的相关知识,掌握了计算机硬件的基本组成和工作原理。

通过实验操作,我们加深了对逻辑门电路、寄存器、计数器、存储器、指令系统、CPU和总线的理解,为进一步学习和研究计算机组成原理奠定了坚实的基础。

希望通过不断的实践和学习,能够更深入地理解和应用计算机组成原理的知识。

汇编语言实验7实验报告

汇编语言实验7实验报告

汇编语言实验7实验报告一、实验目的本次实验旨在通过汇编语言编写程序,实现对字符串的操作和输出。

二、实验内容1. 编写一个汇编程序,要求从键盘输入一个字符串,并将其逆序输出到屏幕上;2. 编写一个汇编程序,要求从键盘输入两个字符串,并将它们拼接起来后输出到屏幕上。

三、实验过程1. 字符串逆序输出程序首先,需要从键盘输入一个字符串。

为了方便起见,我们可以先规定字符串的最大长度为100。

接着,我们需要定义两个变量:```buffer db 100 ; 用于存储输入的字符串length dw ? ; 存储输入的字符串长度```其中,db代表定义字节型变量,dw代表定义双字节型变量。

然后,我们需要使用INT 21H中断来读取用户输入的字符串。

具体而言,我们可以使用下面这段代码:```mov ah, 0Ah ; 设置INT 21H功能号为0Ahmov dx, offset buffer ; 将buffer的地址传给DX寄存器int 21h ; 调用INT 21H中断```该代码会将用户输入的字符串存储在buffer中,并且将其长度存储在length变量中。

接着,我们需要将该字符串逆序输出到屏幕上。

为了实现这个功能,我们可以使用栈来存储字符串中的每个字符,并逐个弹出来输出。

具体而言,我们可以使用下面这段代码:```mov si, offset buffer + 1 ; 将si寄存器指向字符串的第一个字符mov cx, length ; 将cx寄存器设置为字符串长度dec cx ; 字符串长度需要减1reverse:push byte ptr [si] ; 将当前字符压入栈中inc si ; 指向下一个字符loop reverse ; 循环直到所有字符都被压入栈中mov ah, 02h ; 设置INT 21H功能号为02h,表示输出一个字符print:pop dx ; 弹出栈顶元素int 21h ; 输出该字符loop print ; 循环直到所有字符都被弹出并输出完毕```2. 字符串拼接程序首先,需要从键盘输入两个字符串。

汇编试验报告

汇编试验报告

院系:计算机科学学院专业:计算机科学与技术年级: 07级课程名称:汇编语言学号:姓名:指导教师:2008年 12 月 15 日程序源代码:一:大小写字母字符转换; Assembly language program -- converting between uppercase and lowercase ; Author: senhe zhang; Date: revised 10/2008.386.MODEL FLATExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORDINCLUDE io.h ; header file for input/outputcr EQU 0dh ; carriage return characterLf EQU 0ah ; line feed.STACK 4096 ; reserve 4096-byte stack.DATA ; reserve storage for dataprompt byte cr,Lf,"enter a character: ",0string byte 3 DUP (?)labell byte "through converting the latter letter is: ",0value byte 3 DUP (?)byte cr,Lf,0errorprompt byte "It doesn't belong to letter characters,please input again:",0 .CODE ; start of main program code_start:whilepos: output promptinput string, 3 ;read ASCII charactersoutput labelloutput valuejmp quitmov al,string ;Placed in the alcmp al,cr ;Enter compared with theje quit ;If equal to exitcmp al,'a' ;And 'a' comparisonjl if_1 ;Implementation if-1 if lesscmp al, 'z'jg if_1 ; Implementation if-1 if biggersub al,20h ;al-20hmov value,alif_1: cmp al,'A'jl if_2cmp al,'Z'jg if_2add al, 20hmov value, aloutput labelloutput valuejmp quitif_2: output errorprompt ;Errorjmp whileposquit: INVOKE ExitProcess, 0 ; exit with return code 0PUBLIC _start ; make entry point publicEND ; end of source code二:九九乘法表; assembly language program -- adds two numbers; Author: senhe zhang; Date: revised 10/2008.386.MODEL FLATExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD INCLUDE io.h ; header file for input/outputcr EQU 0dh ; carriage return characterLf EQU 0ah ; line feedspace EQU 20h.STACK 4096 ; reserve 4096-byte stack .DATA ; reserve storage for data;value word ?currentrow dword ?currentque dword ?mulx byte 11 DUP (?)byte 0labell2 byte cr,Lf,0labell byte '*',0muly byte 11 DUP (?),0labell3 byte '=',0value byte 11 DUP (?)byte space,0.CODE ; start of main program code _start:mov currentrow, 1mov currentque, 1whilepos: mov eax, currentrowcurrentquedtoa value, eaxmov eax, currentrowdtoa mulx, eaxmov eax, currentquedtoa muly, eaxoutput mulx+10output labelloutput muly+10output labell3output value+9mov ecx, currentquecmp currentrow, ecxje while_2while_1: inc currentquejmp whileposwhile_2: output labell2inc currentrowmov ecx, 9cmp currentrow, ecxjg quitmov edx, currentrowmov currentque, 1cmp currentque, edxjle whileposquit: INVOKE ExitProcess, 0 ; exit with return code 0 PUBLIC _start ; make entry point public END ; end of source code 三:求给定整数的所有素因子; program to get all the prime numbers of a integer; Author: senhe zhang.MODEL FLATExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD INCLUDE io.h ; header file for input/outputcr EQU 0dh ; carriage return characterLf EQU 0ah ; line feedMAX EQU 100 ; the max number.STACK 4096 ; reserve 4096-byte stack.DATA ; reserve storage for datanumber DWORD ?index DWORD ?j DWORD ?flag1 BYTE ?flag2 BYTE ?prompt0 BYTE "Please input an integer:",0prompt1 BYTE cr,lf,cr,lf,"The result is: ",0 count WORD ?value BYTE 11 DUP(?)BYTE 0sign BYTE ?BYTE 0.CODE ; start of main program codePROCA PROC NEAR32 ; To determine prime numbers mov flag1,0 ;0 to preserve the flag1mov index,1 ;1 to save the indexFORA:inc index ;dec Automatic increasemov eax,index ;Index will be saved to go in eaxcmp eax,ecx ;Eax allow comparison with the ecxjnl ENDA ;If more than that to jump ENDAmov eax,ecxmov ebx,indexCdq ;The expansion of dividenddiv ebxcmp edx,0jne FORA ;If they are not, to jump FORAjmp ENDAA ;Jump to ENDAAENDA: mov flag1,1ENDAA:retPROCA ENDP ;The end of the subroutinePROCB PROC NEAR32mov flag2,0MORE:cmp number,1je ENDBAmov eax,numbercdqdiv indexcmp edx,0jne ENDBBmov number,eaxinc countcmp count,1je PRINTNmov sign,'*'output signPRINTN:dtoa value,indexcall PROCCjmp MOREENDBA:mov flag2,1ENDBB:retPROCB ENDPPROCC PROC NEAR32lea ebx,valueWHILEA: mov al,byte ptr [ebx]inc ebxcmp al,0je ENDCcmp al,20hje WHILEAmov sign,aloutput signjmp WHILEAENDC: retPROCC ENDP_start:output prompt0 ;The main function to startinput value,11output prompt1mov sign,'='output valueoutput signatod valuemov number,eaxmov count,0mov j,1NF1:inc jmov ecx,jcall PROCAcmp flag1,1jne NF1call PROCBcmp flag2,1jne NF1ENDFILE:INVOKE ExitProcess, 0 ; exit with return code 0PUBLIC _start ; make entry point public END四:字符串中指定字符的替换; This program is to get the letter before and after the one you put in; Author: senhe zhang.386.MODEL FLATExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORDINCLUDE io.h ; header file for input/outputcr EQU 0dh ; carriage return characterLf EQU 0ah ; line feed.STACK 4096 ; reserve 4096-byte stack.DATA ; reserve storage for dataprompt1 BYTE "This programe will exchange A to a"BYTE "Please input string: ",0prompt2 BYTE "The result is: "string BYTE 50 DUP(?).CODE ; start of main program code_start:output prompt1 ;A replacement is prompt1 output and a string of liesinput string,50 ; read ASCII characterslea ebx,string ;find length of stringa: cmp byte ptr [ebx],0dh ;String of characters in each carriage return character and compare je end1 ;Is equal to the outputcmp byte ptr [ebx],41h ;Each string of characters with the 'A' character comparisonje change ;Is equal to the conversionb: inc ebx ;Compared to the next characterjmp achange: mov byte ptr [ebx],61h ;Converted to 'a'jmp bend1:output prompt2 ;OutputINVOKE ExitProcess, 0 ; exit with return code 0PUBLIC _start ; make entry point publicEND ;end of source code五:使用位操作指令实现双字类型数的高低字转换; Author: senhe zhang; Date: revised 10/2008.386.MODEL FLATExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORDINCLUDE io.hcr EQU 0dhLf EQU 0ah.STACK 4096.DATAprompt BYTE "Input a number: ",0number BYTE 20 dup (?)result BYTE cr,Lf,"The 2's complement representation is: "hexout BYTE 8 DUP(?),cr,Lf,0prompt2 BYTE "After the shift ",cr,lf,0.CODEHex PROC NEAR32 ;Hex sub: output of a 16-digit hexadecimal numberpush eaxlea ebx,hexout+7mov ecx,8mov esi,eaxforcount: mov edx,eaxand edx,0000000fh ;28 figures on the left side of Clear, and the remaining unchangedcmp edx,9jnle elseLetteror edx,30h ;Converted to ASCII codejmp endifDigitelseLetter:add edx,'A'-10 ;Converted to lettersendifDigit:mov BYTE PTR [ebx],dldec ebxshr eax,4 ;Right Shiftloop forcountoutput resultpop eaxretHex ENDP_start:output promptinput number,16 ;A digital inputatod numbercall Hex ;Subroutine calls Hexrol eax,16 ;Circle left shiftoutput prompt2 ;Output converted hexadecimal numbercall HexINVOKE ExitProcess, 0PUBLIC _startEND。

汇编计算机实践报告

汇编计算机实践报告

汇编计算机实践报告一、实习目的:1.练习巩固识别电脑元器件的方法,能够在一定条件下判断电脑元器件的质量。

2.练习巩固多媒体电脑硬件安装的基本方法和步骤,培养学生动手能力,让学生不仅能组装电脑,还能以更合理、更好的方式组装电脑。

3.练习巩固计算机软件的安装方法和步骤,让学生在实际工作中掌握安装多媒体计算机软件的方法和步骤。

4.掌握和巩固多媒体计算机故障处理。

能够自己处理各种软硬件故障,在老师的指导下掌握基本的处理方法,积累一些经验。

二、实习地点:计算机组装和维护实验室6楼4号楼三.时间:第十四周,星期一到星期五四.教师五、实习团队成员:前锋,谢静,陈永兰,刘丹组长:向前不及物动词实习计划:七、实习过程:~-12-11周一上午地点:石桥铺电脑城周日收到老师的实习请求,需要一张windosw 98安装光盘(带启动功能),就去石桥铺电脑城买了。

对了,我去看看现在流行的硬件,开阔眼界,拓展知识面。

买光盘怎么会错过这么好的找买电脑的人的机会?买家是某大学xx大一新生。

购买电脑的要求是:玩游戏、上网、学习、组装电脑。

价格在5000元左右。

商家给出以下配置单:拟合模型cpu和athlon 64 2800华硕主板k8n内存金斯敦512mb ddr400日立7k 250 80g硬盘电视女神v100 16xdvd-rom显卡迪伦恒金萝卜黑仔9550这些是主要的。

这种配置对学生来说应该没问题。

cpu是amd的,我用amd 的。

和同学的电脑相比,据说amd的cpu发热很大,但是我的电脑一般都是长时间开机,没有什么异常。

而且价格比同类英特尔低很多。

就因为硬盘有点小,120g就够了。

显卡有128m的视频内存,足够玩3d游戏,或者做简单的图形设计。

~-12-11周一下午地点:4号教学楼6室老师把电脑配件分发给每组组装。

1.识别每个硬件组件。

Cpu:其实是集成电路芯片,安装在主板的cpu插座上。

它是计算机的“大脑”,负责分析和计算各种指令和数据。

汇编实验报告(详细版)

汇编实验报告(详细版)

计算机组成与汇编语言(实验报告)内容: 实验一、六、七、八院系专业:计算机学院计算机科学与技术姓名:xxxxxxxxx学号:*******xxxxx完成时间:2012年12月1日计算机组成与汇编语言实验报告printf("输入的二进制数不正确!!");break;}}}if(a[15]=='1')s++;for(i=1;i<16;i++){if(a[15-i]=='1')s+=(1<<i);}printf("二进制: ");puts(a);printf("对应的十进制为: ");printf("%d\n",s);}程序1运行结果:实验情况与体会:运行过程中出现过不能判断是否输错的情况以及权位判断有误等情况,经过思考和修改后修改正确,说明理解好二进制与十进制之间的转换过程很重要。

编程过程中主要碰到的问题是,不够十六位的时候要在前面补零。

转换方法主要是除二求余的方法。

注:篇幅不够,可以另外附页。

计算机组成与汇编语言实验报告姓名xxxx 学号2011004xxxx 计分专业软件工程班级xxxxx 实验日期2012年 12 月 1日实验名称实验六分支结构程序设计实验目的●熟悉有符号定点数的表示。

●掌握原码、补码、反码之间的相互转换程序设计。

实验内容说明:该程序中X=23,Y=45,他们之差的绝对值为22,用16进制表示为0016H,即图中显示的结果2.调试程序2:DATA SEGMENTADD AL, 07HLP4: ADD AL, 30H ;将低四位转化为相应的ASCII码并以字符形式输MOV DL, ALMOV AH, 2INT 21HMOV AH, 4CHINT 21HCODE ENDSEND START上机运行该程序并检查运行结果是否正确。

上机实验过程:说明:求出三个数里面的最大数73;3. 编写程序1:编程实现从键盘输入一位数字,判断其奇偶性,并在屏幕上输出一个标志,若为奇数,则输出1,否则输出0。

计算机汇编语言实验报告

计算机汇编语言实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

汇编实验报告

汇编实验报告

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

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

二、实验环境本次实验使用的操作系统为 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、定义一个子程序,使用参数传递的方式接收两个数,并进行乘法运算。

计组实验报告

计组实验报告

计组实验报告实验报告题目:计算机组成原理实验实验目的:了解计算机组成原理的基本概念和实验操作,掌握计算机的基本运行机理和指令执行过程。

实验内容:在计算机实验室中完成以下实验内容:1. 运用计算机硬件工具,查看和了解计算机的CPU、存储器、I/O设备等部件的基本组成结构和工作机理。

2. 设计及编写简单的汇编语言指令,编译成机器码,并使用计算机的汇编语言编译器将机器码翻译成相应的汇编语言代码。

3. 查看和分析计算机的系统时钟、总线的工作状态和数据传输的过程,了解计算机的指令执行机制和处理器的运行方式。

实验步骤:1. 计算机硬件的基本组成结构介绍在实验室中,我们查看和了解计算机的CPU、存储器、I/O设备等部件的基本组成结构和工作机理。

通过硬件结构图、处理器的演示等方式,我们了解了这些硬件部件的基本原理和构造,也掌握了计算机硬件的基本工作机理。

2. 编写及编译简单的汇编语言指令接下来,我们开始了编写和编译简单汇编语言指令的实验内容。

我们使用计算机的汇编语言编译器,将指令编译成机器码,并使用反汇编工具将机器码翻译成相应的汇编语言代码。

3. 分析计算机系统的时钟、总线和数据传输的过程最后,我们分析了计算机的系统时钟、总线的工作状态和数据传输的过程。

通过查看计算机的指令执行过程和处理器的运行状态,我们掌握了计算机的指令执行机制和处理器的运行方式。

我们还通过硬件实验工具观察了实际的操作过程,深入了解了计算机的实际工作机理。

实验结果:通过这次实验,我们掌握了计算机组成原理的基本概念和实验操作,进一步加深了对计算机硬件的理解和认识,也提高了我们对计算机运行机理的把握。

结论:计算机组成原理实验是一次理论和实践相结合的计算机实验,通过这次实验,我们深入理解了计算机的基本组成和运行原理,也提高了我们的实验操作能力和数据分析能力。

我们相信,在今后的学习和研究中,这次实验对我们的帮助将会非常大。

计算机组成原理实验报告

计算机组成原理实验报告

计算机组成原理实验报告实验名称:计算机组成原理实验报告摘要:本实验旨在通过对计算机组成原理的实际操作,加深对计算机硬件组成和工作原理的理解。

通过实验,我们深入学习了计算机的基本组成部分,包括中央处理器(CPU)、存储器(内存和外存)、输入输出设备等,并通过实际操作和数据收集,探究了这些组成部分的工作原理和性能评估。

1. 引言计算机组成原理是计算机科学与技术专业中的一门重要课程,它涉及到计算机硬件的基本组成和工作原理。

通过实验,我们可以更深入地了解计算机的内部结构和工作原理,加深对计算机组成原理的理解。

2. 实验目的本实验的目的是通过实际操作,加深对计算机组成原理的理解,具体目标包括:- 理解计算机的基本组成部分,包括中央处理器(CPU)、存储器(内存和外存)、输入输出设备等;- 掌握计算机组成部分的工作原理,包括指令执行过程、数据传输过程等;- 学习使用性能评估工具,对计算机组成部分进行性能评估;- 分析实验结果,总结实验中的问题和经验。

3. 实验设备和材料- 计算机硬件:包括主机、显示器、键盘、鼠标等;- 实验软件:计算机组成原理实验软件;- 实验材料:实验指导书、实验报告模板等。

4. 实验方法4.1 实验步骤本实验分为以下几个步骤:1) 打开计算机并登录操作系统;2) 启动计算机组成原理实验软件;3) 根据实验指导书的要求,完成实验任务;4) 记录实验过程中的关键数据和观察结果;5) 关闭计算机组成原理实验软件;6) 关机并退出操作系统。

4.2 实验内容本实验包括以下几个内容:1) CPU性能评估:通过实验软件模拟CPU的运行过程,使用性能评估工具记录CPU的运行时间、指令执行速度等关键数据,并进行分析和比较。

2) 存储器性能评估:通过实验软件模拟存储器的读写过程,使用性能评估工具记录存储器的读写速度、延迟等关键数据,并进行分析和比较。

3) 输入输出设备性能评估:通过实验软件模拟输入输出设备的工作过程,使用性能评估工具记录输入输出设备的响应时间、传输速度等关键数据,并进行分析和比较。

计算机组成原理实验报告

计算机组成原理实验报告

计算机组成原理实验报告计算机组成原理实验报告引言:计算机组成原理是计算机科学与技术专业的重要课程之一,通过实验可以更好地理解和掌握计算机的组成原理。

本篇实验报告将介绍我们在计算机组成原理实验中所进行的实验内容和实验结果。

实验一:逻辑门电路设计在这个实验中,我们学习了逻辑门电路的设计和实现。

通过使用门电路,我们可以实现与门、或门、非门等基本逻辑运算。

我们首先学习了逻辑门电路的真值表和逻辑代数的基本运算规则,然后根据实验要求,使用逻辑门电路设计了一个简单的加法器电路,并通过仿真软件进行了验证。

实验结果表明,我们设计的加法器电路能够正确地进行二进制数的加法运算。

实验二:数字逻辑电路实现在这个实验中,我们进一步学习了数字逻辑电路的实现。

通过使用多路选择器、触发器等数字逻辑元件,我们可以实现更复杂的逻辑功能。

我们首先学习了多路选择器的原理和使用方法,然后根据实验要求,设计了一个4位二进制加法器电路,并通过数字逻辑实验板进行了搭建和测试。

实验结果表明,我们设计的4位二进制加法器能够正确地进行二进制数的加法运算。

实验三:存储器设计与实现在这个实验中,我们学习了存储器的设计和实现。

存储器是计算机中用于存储和读取数据的重要组成部分。

我们首先学习了存储器的基本原理和组成结构,然后根据实验要求,设计了一个简单的8位存储器电路,并通过实验板进行了搭建和测试。

实验结果表明,我们设计的8位存储器能够正确地存储和读取数据。

实验四:计算机硬件系统设计与实现在这个实验中,我们学习了计算机硬件系统的设计和实现。

计算机硬件系统是计算机的核心部分,包括中央处理器、存储器、输入输出设备等。

我们首先学习了计算机硬件系统的基本原理和组成结构,然后根据实验要求,设计了一个简单的计算机硬件系统,并通过实验板进行了搭建和测试。

实验结果表明,我们设计的计算机硬件系统能够正确地进行指令的执行和数据的处理。

结论:通过这些实验,我们深入学习了计算机组成原理的相关知识,并通过实践掌握了计算机组成原理的基本原理和实现方法。

计算机组成原理的实验报告

计算机组成原理的实验报告

计算机组成原理的实验报告一、实验目的本次实验的主要目的是深入理解计算机组成原理中的关键概念和组件,通过实际操作和观察,增强对计算机硬件系统的认识和掌握能力。

具体包括:1、了解计算机内部各部件的工作原理和相互关系。

2、熟悉计算机指令的执行流程和数据的传输方式。

3、掌握计算机存储系统的组织和管理方法。

4、培养分析和解决计算机硬件相关问题的能力。

二、实验设备本次实验使用的设备包括计算机、逻辑分析仪、示波器以及相关的实验软件和工具。

三、实验内容1、运算器实验进行了简单的算术运算和逻辑运算,如加法、减法、与、或等操作。

观察运算结果在寄存器中的存储和变化情况。

2、控制器实验模拟了指令的取指、译码和执行过程。

分析不同指令对计算机状态的影响。

3、存储系统实验研究了内存的读写操作和地址映射方式。

考察了缓存的工作原理和命中率的计算。

4、总线实验观察数据在总线上的传输过程和时序。

分析总线竞争和仲裁的机制。

四、实验步骤1、运算器实验步骤连接实验设备,将运算器模块与计算机主机相连。

打开实验软件,设置运算类型和操作数。

启动运算,通过逻辑分析仪观察运算过程中的信号变化。

记录运算结果,并与预期结果进行比较。

2、控制器实验步骤连接控制器模块到计算机。

输入指令序列,使用示波器监测控制信号的产生和变化。

分析指令执行过程中各个阶段的状态转换。

3、存储系统实验步骤搭建存储系统实验电路。

进行内存读写操作,改变地址和数据,观察存储单元的内容变化。

分析缓存的替换策略和命中率的影响因素。

4、总线实验步骤连接总线模块,配置总线参数。

多个设备同时发送数据,观察总线的仲裁过程。

测量数据传输的时序和带宽。

五、实验结果与分析1、运算器实验结果加法、减法等运算结果准确,符合预期。

逻辑运算的结果也正确无误。

观察到在运算过程中,寄存器的值按照预定的规则进行更新。

分析:运算器的功能正常,能够准确执行各种运算操作,其内部的电路和逻辑设计合理。

2、控制器实验结果指令能够正确取指、译码和执行,控制信号的产生和时序符合指令的要求。

计算机组成实验报告

计算机组成实验报告

一、实验目的1. 理解计算机组成原理的基本概念和结构。

2. 掌握计算机各主要部件(如CPU、存储器、总线等)的工作原理。

3. 熟悉计算机指令系统的基本知识。

4. 通过实验加深对计算机组成原理的理解。

二、实验环境1. 实验平台:EL-JY-II型计算机组成原理实验系统2. 实验软件:计算机组成原理实验软件3. 实验设备:计算机组成原理实验箱三、实验内容1. CPU数据通路实验(1)实验目的:了解CPU的数据通路结构,掌握各逻辑部件的功能及数据流动方向。

(2)实验步骤:1. 组装CPU数据通路,包括ALU、程序计数器PC、主存M、主存数据寄存器MDR、主存地址寄存器MAR、指令寄存器IR、通用寄存器R0-R3、暂存器C和D等。

2. 指示数据流动方向,确保各部件正确连接。

3. 验证数据通路功能,观察数据流动过程。

(3)实验结果:成功组装CPU数据通路,实现数据正确流动。

2. 指令周期实验(1)实验目的:掌握典型指令的指令周期,了解指令执行过程。

(2)实验步骤:1. 画出“MOV R0, R1”、“LAD R1, (R2)”、“ADD R1, R2”、“STO R2,(R3)”等指令的指令周期方框图。

2. 分析指令执行过程,理解各阶段功能。

(3)实验结果:成功画出指令周期方框图,并理解指令执行过程。

3. 硬布线控制器与微程序控制器实验(1)实验目的:了解硬布线控制器和微程序控制器的工作原理及区别。

(2)实验步骤:1. 比较硬布线控制器和微程序控制器的结构及工作原理。

2. 分析两种控制器的优缺点。

(3)实验结果:理解硬布线控制器和微程序控制器的工作原理及区别。

4. 流水线CPU实验(1)实验目的:掌握流水线CPU的工作原理,分析流水线各过程段。

(2)实验步骤:1. 分析指令流水线的取值、译码、执行、访存、写回寄存器五个过程段。

2. 画出流水处理的时空图,计算流水线的实际吞吐率和加速比。

(3)实验结果:成功分析指令流水线各过程段,并计算流水线性能指标。

计组实验报告

计组实验报告

计算机组成原理实验报告一一、算术逻辑运算器1.实验目的与要求:目的: ①掌握算术逻辑运算器单元ALU(74LS181)的工作原理。

②掌握简单运算器的数据传输通道。

③验算由74LS181等组合逻辑电路组成的运输功能发生器运输功能。

④能够按给定数据, 完成实验指定的算术/逻辑运算。

要求: 完成实验接线和所有练习题操作。

实验前, 要求做好实验预习, 掌握运算器的数据传送通道和ALU的特性, 并熟悉本实验中所用的模拟开关的作用和使用方法。

实验过程中, 要认真进行实验操作, 仔细思考实验有关的内容, 把自己想得不太明白的问题通过实验去理解清楚, 争取得到最好的实验结果, 达到预期的实验教学目的。

实验完成后, 要求每个学生写出实验报告。

2.实验方案:1. 两片74LS181(每片4位)以并/串联形式构成字长为8为的运算器。

2. 8为运算器的输出经过一个输入双向三态门(74LS245)与数据总线相连, 运算器的两个数据输入端分别与两个8位寄存器(74LS273)DR1和DR2的输出端相连, DR1和DR2寄存器是用于保存参加运算的数据和运算的结果。

寄存器的输入端于数据总线相连。

3. 8位数据D7~D0(在“INPUT DEVICE”中)用来产生参与运算的数据, 并经过一个输出三态门(74LS245)与数据总线相连。

数据显示灯(BUS UNIT)已与数据总线相连, 用来显示数据总线上所内容。

4. S3.S2.S1.S0是运算选择控制端, 由它们决定运算器执行哪一种运算(16种算术运算或16种逻辑运算)。

5. M是算术/逻辑运算选择, M=0时, 执行算术运算, M=1时, 执行逻辑运算。

6. Cn是算术运算的进位控制端, Cn=0(低电平), 表示有进位, 运算时相当于在最低位上加进位1, Cn=1(高电平), 表示无进位。

逻辑运算与进位无关。

7. ALU-B是输出三态门的控制端, 控制运算器的运算结果是否送到数据总线BUS上。

计算机组成原理与汇编实验报告

计算机组成原理与汇编实验报告

计算机组成原理与汇编实验报告文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)计算机组成原理与汇编课程设计实验报告目录一、课程设计目标 (3)二、课程设计基本要求 (3)三、课程设计的内容 (3)四、课程设计的要求 (5)五、实验详细设计 (5)1.统计文件中各字母出现的频率 (5)2.用递归计算50以内Fibonacci 数, 以十进制数输出 (9)3.虚拟平台模拟机实验 (11)六、使用说明 (19)七、总结与心得体会 (19)八、参考文献 (20)九、附录 (20)1. 字符统计.asm (20)2. 斐波那契数(小于50).asm (29)一、课程设计目标通过课程设计使学生综合运用所学过的计算机原理与汇编知识,增强解决实际问题的能力,加深对所学知识的理解与掌握,提高软硬件开发水平,为今后打下基础。

课程设计的目的和要求:1、使学生巩固和加强《计算机原理与汇编语言》课程的基本理论知识。

2、使学生掌握汇编语言程序设计的方法及编程技巧,正确编写程序。

3、使学生养成良好的编程习惯并掌握调试程序的基本方法。

4、使学生养成规范书写报告文档的能力,撰写课程设计总结报告。

5、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。

二、课程设计的基本要求1、认真查阅资料,独立完成设计任务,每道题都必须上机通过。

2、编写预习报告,写好代码,上机调试。

3、独立思考,培养综合分析问题解决问题和调试程序的能力。

4、按时完成课程设计,写出课程设计报告。

三、课程设计的内容1、给定一个英文ASCII码文件,统计文件中英文字母的频率,以十进制形式输出。

2、用递归计算50以内Fibonacci 数, 以十进制数输出.3、虚拟平台的模型机实验,具体要求如下:1)选择实验设备,将所需要的组件从组件列表中拖到实验设计流程栏中2)搭建实验流程:根据原理图1和电路图(见附件),将已选择的组件进行连线。

汇编语言实验报告

汇编语言实验报告

汇编语言实验报告一、实验目的本次汇编语言实验的主要目的是通过实际编程和调试,深入理解汇编语言的基本语法、指令系统和程序设计方法,提高对计算机底层工作原理的认识和编程能力。

二、实验环境1、操作系统:Windows 102、编程工具:MASM 615 集成开发环境三、实验内容1、简单算术运算程序设计一个程序,实现两个 16 位无符号整数的加法运算,并将结果输出显示。

分析程序的执行过程,理解加法指令和数据存储方式。

2、数据排序程序编写一个程序,对给定的一组 8 位无符号整数进行冒泡排序。

观察排序过程中数据的交换和移动,掌握循环和比较指令的应用。

3、字符串处理程序设计一个程序,实现字符串的复制、比较和查找操作。

熟悉字符串操作指令和内存访问方式。

四、实验步骤1、简单算术运算程序定义数据段,存储两个待相加的整数。

在代码段中,使用加法指令 ADD 进行运算,并将结果存储在指定的内存单元。

通过输出指令将结果显示在屏幕上。

2、数据排序程序定义数据段,初始化待排序的整数数组。

在代码段中,使用两层循环实现冒泡排序算法。

比较相邻的两个元素,如果顺序错误则进行交换。

输出排序后的数组。

3、字符串处理程序定义数据段,分别存储源字符串和目标字符串。

使用字符串复制指令 MOVS 实现字符串的复制。

利用比较指令 CMPS 进行字符串的比较。

通过扫描指令 SCAS 查找指定的字符。

五、实验结果与分析1、简单算术运算程序输入两个整数,如 100 和 200,程序输出结果为 300,运算正确。

通过调试工具观察寄存器和内存的变化,进一步理解了加法运算的实现过程。

2、数据排序程序对于给定的数组5, 3, 1, 8, 2,排序后输出为1, 2, 3, 5, 8,排序结果符合预期。

分析循环次数和数据交换的位置,加深了对冒泡排序算法的理解。

3、字符串处理程序字符串复制操作成功,源字符串被准确地复制到目标字符串中。

字符串比较结果正确,能够准确判断两个字符串的相等与否。

计算机组成运算器实验报告

计算机组成运算器实验报告

计算机组成运算器实验报告《计算机组成运算器实验报告》摘要:本实验旨在通过实验操作,深入理解计算机组成原理中的运算器部分。

通过对运算器的组成结构和工作原理进行研究和实验,加深对计算机内部运算过程的理解。

一、实验目的1. 了解运算器的基本组成结构和工作原理;2. 掌握运算器的逻辑运算和算术运算的实现方法;3. 通过实验操作,加深对计算机组成原理中运算器部分的理解。

二、实验设备1. 计算机组成原理实验箱;2. 逻辑门、加法器、寄存器等实验器件;3. 万用表、示波器等实验仪器。

三、实验内容1. 运算器的基本组成结构及功能分析;2. 运算器的逻辑运算和算术运算实验操作;3. 运算器的工作原理分析及实验验证。

四、实验结果与分析通过实验操作,成功实现了运算器的逻辑运算和算术运算,并对其工作原理进行了深入分析。

实验结果表明,运算器的逻辑运算和算术运算均能够按照设计要求进行,符合计算机组成原理中的相关理论知识。

五、实验结论通过本实验,加深了对计算机组成原理中运算器部分的理解,掌握了运算器的基本组成结构和工作原理,并成功实现了相关实验操作。

这对于进一步深入学习计算机组成原理和计算机系统结构具有重要意义。

六、实验感想本实验让我对计算机组成原理中的运算器部分有了更深入的理解,也增强了我对计算机内部运算过程的认识。

通过实际操作,我对计算机组成原理的相关知识有了更加直观的认识,对于今后深入学习计算机相关课程和进行科研工作具有积极的促进作用。

通过本次实验,我对计算机组成原理中的运算器部分有了更深入的理解,也增强了我对计算机内部运算过程的认识。

通过实际操作,我对计算机组成原理的相关知识有了更加直观的认识,对于今后深入学习计算机相关课程和进行科研工作具有积极的促进作用。

汇编实验一实验报告

汇编实验一实验报告

汇编实验一实验报告一、实验目的本次汇编实验一的主要目的是熟悉汇编语言的基本语法和编程环境,通过实际编写和调试简单的汇编程序,加深对计算机底层工作原理的理解,并提高解决问题的能力。

二、实验环境1、操作系统:Windows 102、编程工具:MASM(Microsoft Macro Assembler)三、实验内容1、数据存储与操作定义不同类型的数据变量,如字节(BYTE)、字(WORD)和双字(DWORD)。

对这些数据进行赋值、运算和输出。

2、流程控制使用条件跳转指令(如 JE、JNE 等)实现简单的分支结构。

运用循环指令(如 LOOP )编写重复执行的代码段。

3、子程序调用编写具有特定功能的子程序,并在主程序中进行调用。

四、实验步骤1、数据存储与操作实验在代码中使用`DB` (定义字节)、`DW` (定义字)和`DD` (定义双字)指令定义变量,例如:```assemblyDATA1 DB 10HDATA2 DW 2000HDATA3 DD 40000000H```对定义的数据进行加法、减法等运算,并将结果存储在新的变量中。

使用`MOV` 指令将数据输出到屏幕上。

2、流程控制实验设定条件,根据条件的满足与否执行不同的代码段。

例如:```assemblyMOV AX, 10MOV BX, 20CMP AX, BXJE EQUALJNE NOT_EQUALEQUAL:;执行当 AX 等于 BX 时的代码MOV DX, 'E'JMP END_CONDITIONNOT_EQUAL:;执行当 AX 不等于 BX 时的代码MOV DX, 'N'END_CONDITION:;后续的通用代码```使用循环指令实现重复操作,如计算 1 到 10 的累加和:```assemblyMOV CX, 10MOV AX, 0LOOP_START:ADD AX, CXLOOP LOOP_START```3、子程序调用实验编写一个计算两个数之和的子程序,例如:```assemblySUM PROCMOV AX, BP + 4ADD AX, BP + 6RETSUM ENDP```在主程序中调用该子程序,并传递参数进行计算。

计算机组成原理实验报告(基本运算器实验:移位运算)

计算机组成原理实验报告(基本运算器实验:移位运算)

池州学院数学计算机科学系实验报告专业:计算机科学与技术班级:实验课程:计算机组成原理姓名:学号:实验室:硬件实验室同组同学:实验时间:2013年4月3日指导教师签字:成绩:基本运算器实验:移位运算一实验目的和要求1.了解运算器的组成结构2.掌握运算器的工作原理二实验环境PC机一台,TD-CMA 实验系统一套三实验步骤及实验记录(1)按图连接电路。

2.将时序与操作台单元的开关KK2 置为‘单拍’档, 开关KK1 、KK3 置为‘运行’档。

3.接好图后,如果实验箱和 PC 联机操作,则可通过软件中的数据通路图来观测实验结果方法是:打开软件,选择联机软件的“【实验】—【运算器实验】”,打开运算器实验的数据通路图,如图 1-1-6 所示。

进行上面的手动操作,每按动一次 ST 按钮,数据通路图会有数据的流动,反映当前运算器所做的操作,或在软件中选择“【调试】—【单节拍】”,其作用相当于将时序单元的状态开关 KK2 置为‘单拍’档后按动了一次 ST 按钮,数据通路图也会反映当前运算器所做的操作。

4. 打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。

然后按动 CON 单元的 CLR 按钮,将运算器的 A、B 和 FC、FZ 清零。

(如上图)5. 用输入开关向暂存器 A 置数。

①拨动CON单元的SD27…SD20 数据开关,形成二进制数,数据显示亮为‘1 ’,灭为‘0 ’。

②置LDA=1,LDB=0,连续按动时序单元的 ST 按钮,产生一个 T4上沿,则将二进制数置入暂存器 A 中,暂存器A 的值通过ALU单元的A7…A0八位 LED 灯显示。

6.用输入开关向暂存器B 置数。

①拨动CON单元的SD27…SD20 数据开关,形成二进制数。

②置LDA=0,LDB=1,连续按动时序单元的 ST 按钮,产生一个T4上沿,则将二进制数置入暂存器B 中,暂存器 B 的值通过 ALU单元的B7…B0八位 LED 灯显示。

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

计算机组成原理与汇编实验报告班级:计科07学号:0909092807姓名:吴加跃实验一:冒泡排序一、实验目的熟练掌握汇编语言编写程序,熟悉编程环境,掌握课堂所学习的编程语言。

并且熟悉运用冒泡算法。

实现对已知数据的冒泡排序。

二、实验内容1、用记事本或各类编辑器编写一个冒泡排序的汇编程序。

2、对编写的程序进行编译,运行得出正确结果。

三、实验步骤1.在记事本中输入以下代码:DATAS SEGMENT ;数据段DATA1 DB 31H,32H,38H,34H,37H ;定义DATA1为被加数DATA2 DB 34H,35H,39H,37H,31H ;定义DATA2为加数DATAS ENDS STACKS SEGMENT ;堆栈段STA DB 64 DUP(0) ;(伪指令)为STA预留64个字节的存储空间SP_TOP DB 0 ;定义SP_TOP单元的数值为0STACKS ENDS CODES SEGMENT ;代码段ASSUME CS:CODES,DS:DATAS,ES:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX ; 设置数据段 MOV AX,STACKSMOV SS,AX ; 设置堆栈段LEA SP,SP_TOP ; 设置栈顶指针 MOV SI,OFFSET DATA1 ;把DATA1偏移量地址赋予SI MOV BX,05 ;CALL DISPL ; 显示被加数CALL CRLF ; 回车、换行MOV SI,OFFSET DATA2 ; 把DATA2偏移量地址赋予SIMOV BX,05 ;CALL DISPL ; 显示加数CALL CRLF ; 回车、换行MOV DI,OFFSET DATA1 ; 把DATA1偏移量地址赋予DICALL ADDA ;调用ADDA子程序,实行加法运算 MOV BX,05 ;CALL DISPL ; 显示结果CALL CRLF ; 回车、换行MOV AX,4C00H ;INT 21H ;调用DOS21H功能,返回 CRLF PROC NEAR ;回车、显示功能过程定义,属性为NEARMOV DL,0DH ;把回车的ASCII码0DH传给DLMOV AH,02H ;送DOS 的中断调用功能号INT 21H ; DOS 的中断调用 MOV DL,0AH ; 把换行的ASCII码0AH传给DLMOV AH,02H ; 送DOS 的中断调用功能号INT 21H ; DOS 的中断调用RET ; 返回CRLF ENDP ;完成过程定义 DISPL PROC NEAR ;显示功能过程定义,属性为NEAR DSL: MOV AH,02 ;送显示功能号MOV DL,[SI+BX-1] ;显示字符串中一字符INT 21H ; DOS 的中断调用DEC BX ;BX减1,修改偏移量JNZ DSL ;如果BX未减到零,跳到DSL执行指令RET ;返回DISPL ENDP ;完成显示功能子程序定义 ADDA PROC NEAR ;实行加法运算子程序过程定义,属性为NEARMOV DX,SIMOV BP,DIMOV BX,05 TRAN_HEX: SUB BYTE PTR[SI+BX-1],30H ;把ASCII码数转化为十六进制SUB BYTE PTR[DI+BX-1],30HDEC BX ; BX减1,修改偏移量JNZ TRAN_ HEX ; 如果BX未减到零,跳到TRAN_ HEX执行指令MOV SI,DXMOV DI,BPMOV CX,05 ; 包括进位,共5位CLC ;进位标志位CF清零(clear carry flag)THE_ADD: MOV AL,[SI]MOV BL,[DI]ADC AL,BL ; 带进位相加,把结果存在AXAAA ;进行AAA调整,非结合BCD码的加法调整MOV [SI],AL ; 结果送被加数区INC SI ;SI加1INC DI ;DI加1(指向下一位)LOOP THE_ADD ;循环MOV SI,DXMOV DI,BPMOV BX,05 TRAN_ASCI: ADD BYTE PTR[SI+BX-1],30HADD BYTE PTR[DI+BX-1],30H;使用PTR转换属性并相加,将十六进制数转化为ASCII表示DEC BX ; BX减1,修改偏移量JNZ TRAN_ASCI ; 如果BX未减到零,跳到TRAN_ASCI 执行指令RET ;返回ADDA ENDP ;加法子程序定义完成 CODES ENDS ;代码段完成END START2.在cmd窗口dos环境中对上述排序程序进行编译,运行。

得出正确结果。

四、实验心得此次实验让我学习了如何在dos环境下对汇编程序进行编译,学到了不少知识。

知道如何进行编译程序,也知道了如何写汇编程序。

实验一:十进制的输入输出一、实验目的熟练掌握汇编语言编写程序,熟悉编程环境,掌握课堂所学习的编程语言。

并且熟悉十进制与ascii的转换,编写出从键盘输入十进制数字能输出十进制数字的程序。

二、实验内容2、用记事本或各类编辑器编写一个十进制输入输出的汇编程序。

2、对编写的程序进行编译,运行得出正确结果。

四、实验步骤1.在记事本中输入以下代码:DATA SEGMENTMSG DB '1+2+3+4+5+...+99+100=$'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART:PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXmov dx,offset msgmov ah,9int 21hmov cx,100mov ax,0mov bx,0one:inc bxadc ax,bxdec cxjnz onemov bx,1000 ;相除div bxpush dxadd al,30H ;求ASCII值mov dl,al ;DOS系统功能调用,显示mov ah,2int 21Hpop dxmov ax,dxmov dx,0mov bx,100 ;相除div bxpush dxadd al,30H ;求ASCII值mov dl,al ;显示mov ah,2int 21Hpop dxmov ax,dxmov dx,0mov bx,10 ;相除div bxpush dxadd al,30H ;求ASCII值mov dl,al ;显示mov ah,2int 21Hpop dxmov ax,dxadd ax,30Hmov dx,axmov ah,2int 21HHLTcode endsend start3.在cmd窗口dos环境中对上述排序程序进行编译,运行。

得出正确结果。

并详细了解数字在计算机中的存放形式。

五、实验心得此次实验让我学习了如何在dos环境下对汇编程序进行编译,学到了不少知识。

知道如何进行编译程序,也知道了如何写汇编程序。

了解如何对寄存器中数据的处理。

实验5 存储器实验实验目的掌握静态存储随机存储器RAM的工作特性掌握静态存储随机存储器RAM的读写方法实验设备74LS273组件一片,静态存储器MEMORY 6116组件一片(是一个2k×8的静态存储器。

在本实验中只使用8位地址),单脉冲一个,开关若干,灯泡若干实验原理本实验所用的静态存储器由一片6116(2K × 8)构成,其数据线接至数据开关,地址线由地址锁存器(74LS373)给出。

因地址寄存器为8位,接入6116的地址A7-A0,而高三位A8-A10接地,所以其实际容量为256字节。

6116有三个控制线:CE(片选线)、OE(读线)、WE(写线)。

当片选CE=0,读信号OE=0时,进行读操作,当片选CE=0,写信号WE=1时,进行写操作。

由于本实验中将OE常接地,这样,当CE=0、WE=0时进行读操作,CE=0、WE=1时进行写操作,写时间与T3脉冲宽度一致。

实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

2. 搭建实验流程:将已选择的组件进行连线, 74LS273的0―7号输入引脚(数据端)、9号引脚(复位端)分别接到开关上,8号引脚接单脉冲信号,11-18号输出引脚接到静态MEMORY的0-7号地址输入引脚。

静态MEMORY的高3位地址输入引脚8―10统一置0,由开关控制,使存储器实际容量为256个字节。

11-13号使能端(CE 、WE、 OE)分别由开关控制,14-21号数据端同时接入开关和灯泡,进行读写操作,开关控制欲写入存储器的数据,灯泡用于从存储器读出数据的显示。

实验流程图如图6所示。

3. 设置相应芯片的控制位.( 273的9号引脚为1,6116的CE=1,WE=1,OE=0.)4. 写入数据:点击运行按钮,74LS273的连接的地址数据开关作为地址输入端可以自己设置,设置完毕后,双击单脉冲信号,将地址数据输入到74LS273里面去。

因为静态MEMORY6116的11号引脚(CE端)为0,12号引脚(WE端)为0时写入数据,所以11,12号引脚置0,13号引脚(OE端)置0,静态MEMORY6116连接的开关作为数据输入端,将数据写到指定的存储器单元中去。

输入数据可以由用户自己设置。

这样就完成了存储器的写操作,重复上述过程可以完成其他地址的数据写入过程。

记录下此时写入各个单元的数据,以便进行读操作时验证。

5. 读出数据:把静态MEMORY6116的11号引脚(CE端)和13号(OE端)引脚设置为0,12号引脚(WE端)置为1,然后置地址,触发脉冲,则可以从灯泡中读出相应地址中的数据。

完成读操作。

检查读的数据与刚记录的数据是否一样。

实验心得:此次实验让我更加深刻理解了计算机的组成,尤其是存储器的无聊构件。

使课堂知识理解更加透彻。

相关文档
最新文档