汇编与组成原理

上传人:我*** 文档编号:131256116 上传时间:2020-05-06 格式:DOC 页数:28 大小:271KB
返回 下载 相关 举报
汇编与组成原理_第1页
第1页 / 共28页
汇编与组成原理_第2页
第2页 / 共28页
汇编与组成原理_第3页
第3页 / 共28页
汇编与组成原理_第4页
第4页 / 共28页
汇编与组成原理_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《汇编与组成原理》由会员分享,可在线阅读,更多相关《汇编与组成原理(28页珍藏版)》请在金锄头文库上搜索。

1、实验一 Fibonacci数列实现一.实验目的及内容1、实验目的进一步掌握子程序的设计方法,熟悉递归程序的设计2、实验要求掌握递归程序的调用、返回及入口、出口参数的传递方法。3、实验内容程序接收由用户键入的数N,根据给定的N值,计算Fibonacci数。Fibonacci数的定义如下:FIB(1)=1FIB(2)=1FIB(N)=FIB(N-2)+FIB(N-1) N=3二.实验环境Masm For Windows集成实验环境共享版 编写编译程序 三.实验方法 程序接收用户输大于20小于30的十进制正整数,存入输入缓冲区后再把它转化为十六进制数,存入内存单元N中。调用FIB函数求Fibonac

2、ci数,结果高位存在RESULT2H,低位存在RESULT2L,最后调用OUTPUT函数将结果以十进制的形式显示出来。程序亮点在于将结果转换为十进制时采用了除10取余的方法,对于高位通过在适当的位数加65536(ADD65536)的方式巧妙地将乘法转化为加法。四.实验步骤开始CALL INPUTCALL FIBCALL OUTPUT结束1.显示提示,并接受一个数字N;2.调用fib递归 得到结果存入内存;3.调用显示10进制函数OUTPUT。五.实验结论输入数据 25(十进制)输出数据 75025(10进制) 输入19与31,验证边界满足,如下图:六. 实验分析 本实验使我进一步掌握子程序的设

3、计方法,熟悉递归程序的设计,丰富了我写汇编程序的经验。实验二 窗口颜色改变实验一、实验目的编写程序,在屏幕上设置任意两个数值,以此为对角线坐标点开设窗口,设定热键控制窗口的颜色,使屏幕颜色有浅至深。二、实验要求要求用汇编实现,并使用热键控制颜色改变。三、实验环境Masm For Windows集成实验环境共享版 编写编译程序四、实验步骤 输入两个坐标,作为对角线坐标,建立窗口 用热键控制颜色,看颜色变化。五、实验结论输入坐标:top_left为50,50,;bottom_right为100,100实验三 学生信息管理系统一、实验目的 利用汇编语言编写学生信息管理系统二、实验要求 熟悉汇编语言编

4、程,编写学生信息系统三、实验内容建立学生成绩信息库,包括学号、成绩、名次,从键盘输入学号,实现成绩、名次等信息的查询:学号 姓名 成绩 名次01 cjh 80 102 np 99 3四、实验环境 Masm For Windows集成实验环境共享版 编写编译程序五、实验结论列出所有学生信息,输入l查询记录,输入s,并且输入ID号查询插入记录,输入i 实验四 虚拟实验平台模型机实验1. 实验目的1) 掌握模型机的基本原理和结构2) 掌握机器指令与微程序的对应关系;3) 掌握机器指令的执行流程;2. 实验设备74LS181芯片两片,memory 6116一片,微程序控制存储器芯片一片,编译器芯片一片

5、,八位同步计数器芯片一片,ALU_G芯片一片,PC_G芯片一片,74LS273芯片若干,输入,输出芯片各一片,选择器芯片若干,连接器芯片若干,灯泡若干,开关若干等。3. 实验原理图1 模型机示意图图1中所示模型机包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。这些部件的动作控制信号都有微控器根据微指令产生。需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。模型机详细原理见附件。 4. 实验内容1) 选择实验设备,将所需要的组件从组件列表中拖到实验设计流程栏中2) 搭建实验流程:根据原理图1和电路图(见附件),将已选择的组件进行连线

6、。3) 输入机器指令:选择菜单中的“工具”,再选择“模型机调试”,在指令输入窗口中输入如下指令:本实验设计机器指令程序如下:地址(二进制)内容(二进制)助记符说明0000 00000000 0000IN R0“INPUT DEVICE”-R00000 00010001 0000ADD 0AH,R0R0+0AH-R00000 00100000 10100000 00110010 0000STA R0,0BHR0-0BH0000 01000000 10110000 01010011 0000OUT 0BH0BH-LED0000 01100000 10110000 01110100 0000JMP

7、00H00H-PC0000 10000000 00000000 1010运算数据自定0000 1011求和结果4) 这里做的是个加法运算,第一个加数已经存入到内存的0000 1010单元中,第二个加数是需要手工输入的。在实验运行面板中点击“运行”按钮,选择“输入”芯片,设置输入的数据后,双击连接“输入”芯片的单脉冲,这样第二个加数就设置好了。5) 在实验运行面板中双击连续脉冲,模型机便开始工作,观察各个芯片的状态。或者在模型机调试窗口中(如图2所示)点击“指令执行”选项卡,在模型机调试窗口中点击“下一时钟”,模型机机执行到下一个时钟,点击“下一微指令”,模型机机执行到下一个微指令,点击“下一指

8、令”,模型机机执行到下一条指令。观察各个芯片的状态,思考模型机的运行原理。5:实验调试在指令输入框中输入指令,点击输入按钮,然后执行指令,点击下一时钟,下一微指令图2 模型机调试窗口实验心得:通过这次汇编组成原理课程设计,更加深入的了解了汇编指令的执行过程,更加透彻得明确了计算机执行指令的过程,特别是虚拟平台的模型及实验,让我知道计算机执行指令时的具体过程。对于计算机的底层运算不在陌生。源码附录 1:Fibonacci数DATAS SEGMENT STR1 DB Please input a number(20-30):N=,$ STR2 DB 13,10,FIB(N)=,$ WRONGSTR

9、 DB 13,10,13,10,A number between 20 and 30 please!,13,10,13,10,$ INPUTBUFFER DB 3,?,3 DUP(?) N DW ? ;输入N值 RESULT1H DW 0 RESULT1L DW 0 RESULT2H DW 0 ;结果的高16位 RESULT2L DW 0 ;结果的低16位 C10 DW 10 OUTPUTBUFFER DB 11 DUP(0)DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX CALL IN

10、PUT CALL FIB CALL OUTPUT JMP QUIT;* INPUT PROC JMP T1WRONG:LEA DX,WRONGSTR MOV AH,9 INT 21H T1:LEA DX,STR1 MOV AH,9 INT 21H LEA DX,INPUTBUFFER MOV AH,10 INT 21H MOV AX,0 MOV CL,INPUTBUFFER+1 MOV CH,0 LEA BX,INPUTBUFFER+2 T2:MUL C10 MOV DL,BX CMP DL,0 JB WRONG CMP DL,9 JA WRONG AND DL,0FH ADD AL,DL A

11、DC AH,0 INC BX LOOP T2 CMP AX,001EH JA WRONG CMP AX,0014H JB WRONG MOV N,AX RETINPUT ENDP;* FIB PROC CMP N,1JZ L1CMP N,2JZ L2DEC NCALL FIBMOV AX,RESULT2LMOV DX,RESULT2HMOV CX,RESULT1LADD RESULT2L,CXMOV CX,RESULT1HADC RESULT2H,CXMOV RESULT1L,AXMOV RESULT1H,DXJMP EXIT L1:MOV RESULT1L,1 MOV RESULT2L,1

12、JMP EXIT L2:MOV RESULT2L,1 DEC N CALL FIBEXIT:RETFIB ENDP;* OUTPUT PROCMOV AX,RESULT2LLEA SI,OUTPUTBUFFERMOV CX,5 R1:MOV DX,0 ;低位加入OUTPUTBUFFERDIV C10INC SIADD SI,DLLOOP R1;* MOV AX,RESULT2H LEA SI,OUTPUTBUFFER MOV CX,5 R2:MOV DX,0 DIV C10 INC SI PUSH CX ;高位加入OUTPUTBUFFER CMP DX,0 JE NOADD MOV CX,DXADDN:CALL ADD65536 LOOP ADDNNOADD:POP CX LOOP R2;*LEA DX,STR2MOV AH,9INT 21H LEA SI,OUTPUTBUFFER MOV BX,10 R3:CMP BYTE PTR SI+BX,0 JA PRINT

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号