首页 烟台大学光电信息学院_微机原理实验

烟台大学光电信息学院_微机原理实验

举报
开通vip

烟台大学光电信息学院_微机原理实验微机原理实验 班级: 09 姓名: 学号:200913503 实验一 熟悉宏汇编程序及debug 一.实验目的 1.学习并掌握汇编语言指令寻址方式 2.熟悉在PC机上用DEBUG调试和运行汇编语言指令的过程。 二.实验内容 根据给定寄存器内容及存储单元内容,运行给定指令,观察记录运行结果。 三.给定的寄存器内容和存储单元内容及指令 1、给定的寄存器内容及存储单元内容 (DS)=2000H,(SI)=0002H,(BX)=...

烟台大学光电信息学院_微机原理实验
微机原理实验 班级: 09 姓名: 学号:200913503 实验一 熟悉宏汇编程序及debug 一.实验目的 1.学习并掌握汇编语言指令寻址方式 2.熟悉在PC机上用DEBUG调试和运行汇编语言指令的过程。 二.实验内容 根据给定寄存器内容及存储单元内容,运行给定指令,观察记录运行结果。 三.给定的寄存器内容和存储单元内容及指令 1、给定的寄存器内容及存储单元内容 (DS)=2000H,(SI)=0002H,(BX)=0100H (20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H, (21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H, 2、指令 (1)MOV AX,1200H (2)MOV AX,BX (3)MOV AX,[1200H] (4)MOV AX,[BX] (5)MOV AX,1100H[BX] (6)MOV AX,[BX][SI] (7)MOV AX,1100H[ BX][SI] 四.调试 步骤 新产品开发流程的步骤课题研究的五个步骤成本核算步骤微型课题研究步骤数控铣床操作步骤 1.运行DEBUG。 2.用A命令汇编指令(1) 3.按给定寄存器和存储单元内容修改寄存器和存储单元内容。 4.单步运行指令,查看结果 5.重复上述步骤,调试指令(2)——(7)   指令寻址方式 源操作数有效地址 源操作数物理地址 指令运行结果(AX) 1  立即数寻址      1200H 2  寄存器寻址      0100H 3  直接寻址  1200H  21200H  4C2AH 4  寄存器间接寻址  0100H  20100H  3412H 5  基址变址寻址  1200H  21200H  4C2AH 6  寄存器相对殉寻址  0102H  20102H  7856H 7  基址变址相对寻址  1203H  21203H  65B7H 六.思考题 1、汇编语言指令有哪些寻址方式?用于寻址的寄存器有哪些? 立即数寻址、直接寻址,寄存器寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,基址变址相对寻址。对于16位数据,寄存器可以是AX,BX,CX,DX,SI,DI,SP,BP; 对于8位数据,寄存器可以是AH,AL,BH,BL,CH,CL,DH,DL 实验二 寻址方式练习及多字节运算程序 一.实验目的 1.学习并掌握数据传送指令和算术运算指令 2.熟悉在PC机上编辑、汇编、连接、调试与运行汇编语言程序的过程。 二.实验内容 实现两个32位无符号数乘法。 三.程序清单 见教材第74页,例4_34。 四.画出程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图 五.实验步骤 1.编辑源程序,建立一个以后缀名为.ASM的文件。 2.汇编源程序,检查程序是否有错误,有错时回到编辑状态,修改程序中错误行;无错误继续(3)。 3.连接目标程序,生成可执行程序。 4.DEBUG调试程序,记录如下数据: (1)记录断点处地址。 (2)记录断点处DS、CS及IP的值。 (3)数据段DS:0~DS:0F的内容,并记录。 六、已知从数据段DATA单元开始存放字节型的带符号数X和Y,请设计计算Y=6X+8的程序。 mydata segment num1 DW 1200h,3400h num2 DW 5600h,7800h mut DW 4 dup(?) mydata ends mystack segment para stack 'stacak' DB 100 dup(?) mystack ends mycode segment assume CS: mycode, DS: mydata, SS: mystack start: PUSH DS MOV AX , 0 PUSH AX MOV AX , mydata MOV DS , AX LEA BX , num1 mul32: MOV AX , [BX] MOV SI , [BX+4] MOV DI, [BX+6] MUL SI MOV [BX+8], AX MOV [BX+0ah], DX MOV AX,[BX+2] MUL SI ADD [BX+0ah], AX ADC [BX+0ch], DX MOV AX,[BX] MUL DI ADD [BX+0ah], AX ADC [BX+0ch], DX ADC word ptr[BX+0eh],0 MOV AX , [BX+2] MUL DI ADD [BX+0ch] , AX ADC [BX+0eh], DX MOV AH , 4ch INT 21h mycode ends end start 实验三 分支程序设计 一.实验目的 1.学习并掌握分支程序的设计方法 2.掌握正确分配与使用寄存器。 二.实验内容 实现符号函数。 三.程序清单 见教材第77页,例4_35。 四.程序流程图 五.实验步骤 1.编辑源程序,建立一个以后缀名为.ASM的文件。 2.汇编源程序,检查程序是否有错误,有错时回到编辑状态,修改程序中错误行;无错误继续(3)。 3.连接目标程序,生成可执行程序。 4.DEBUG调试程序,记录如下数据: (1)记录断点处地址。 (2)记录断点处DS、CS及IP的值。 (3)数据段DS:0~DS:0F的内容,并记录。 (4)修改X的值,观察并记录实验结果。 六.思考题 观察实验数据,分析负数在内存中的表示方法。 从截图可以看出 –5 在计算机中存为 0FFFB 实验四 循环程序设计 一.实验目的 1.学习并掌握循环程序的设计方法 2.掌握正确分配与使用寄存器。 二.实验内容 实现冒泡法排序。 三.程序清单 见教材第80页,例4_37。 四.画出程序流程图 五.实验步骤 1.编辑源程序,建立一个以后缀名为.ASM的文件。 2.汇编源程序,检查程序是否有错误,有错时回到编辑状态,修改程序中错误行;无错误继续(3)。 3.连接目标程序,生成可执行程序。 MY_DATA segment buff db 33h,22h,11h,44h,55h,-30h,66h,88h count equ $-buff MY_DATA ends MY_STACK segment para stack 'stack' DB 100 DUP(?) MY_STACK ENDS MY_CODE SEGMENT ASSUME CS:MY_CODE,DS:MY_DATA,SS:MY_STACK BEGIN: PUSH DS MOV AX,0 PUSH AX MOV AX,MY_DATA MOV DS,AX MOV CX,COUNT-1 LOOP1: MOV DX,CX MOV SI,0 LOOP2: MOV AL,BUFF[SI] CMP AL , buff[SI+ JNGE DONE XCHG AL, buff[SI+ 1] mov buff[SIl DONE: INC SI LOOP LOOP2 MOV CX,DX LOOP LOOP1 mov al,buff[si] mov buff[SI+8 ],L MOV AH ,CH INT 21H MY_CODE ENDS END BEGIN 4.DEBUG调试程序,记录如下数据: (1)记录断点处地址。9D:0033 (2)记录断点处DS、CS及IP的值。129C 129D 0033 (3)数据段DS:0~DS:0F的内容,并记录。  (4)修改源程序,把数据改为从小到大排序,观察并记录实验结果。 将JNGE改为JNE  (5)修改源程序,把排好序的数据保存在原数据的后面存储区中。观察并记录实验结果。    六.思考题 1、分析源程序,利用子程序实现上述问题。 2、已知从数据段BUF单元开始存放15个字节型数据,请设计程序将其中负数和零分别送往MINUS和ZERO开始的存储器单元。 BUF EQU address1 MINUS EQU address2 ZERO EQU address3 CODE SEGMENT ASSUME CS:CODE MOV CX,15 START:MOV AL , BUF SUB AL, 00H JZ ZERO MOV AL , BUF TEST AL , 0FFH JZ MINUS LOOP START ZERO: MOV ZERO , AL INC ZERO INC BUF LOOP START MINUS: MOV MINUS , AL INC MINUS INC BUF LOOP SYTART CODE ENDS END START 实验五 8255并行接口实验(一) 一.实验目的 (1)掌握8255的基本工作方式及其应用。 (2)掌握8255的典型应用电路接法。 二.实验内容基本输入输出实验。 8255端口地址为0E460H-0E463H。 三.实验步骤 1.接ISA仿真总线。   2.接8255数据、控制、A口及B口线。A口连8个LED,B口连8个开关K。  3.编写程序,从B口输入数据并从A口输出,执行程序,观察结果。按动开关,观察灯的亮灭情况。 四.实验思考题 修改程序和连线,要求从C口输入数据并从B口输出。 连线图   MY8255_A         EQU  0E460H MY8255_B         EQU  0E461H MY8255_C         EQU  0E462H MY8255_MODE   EQU  0E463H  CODE         SEGMENT                ASSUME CS:CODE  START: MOV DX,MY8255_MODE MOV AL,80H     ////1,00,0 : 0,0,0,0B 方式0,均为输出 OUT DX,AL A1:            MOV DX , MY8255_B                  IN AL,DX                MOV DX,MY8255_A                 OUT DX,AL                     CALL     BREAK                     JMP        A1 BREAK       PROC     NEAR                     MOV      AH,06H                     MOV      DL,0FFH                     INT        21H                     JE         RETURN                     MOV     AX,4C00H                    INT        21H RETURN:    RET BREAK       ENDP  CODE         ENDS          END       START 实验六 8255并行接口实验(二) 一 实验目的 (1)掌握8255的各种工作方式及其应用。 (2)掌握8255的典型应用电路接法。 二.实验内容 流水灯显示实验。 8255端口地址为0E460H-0E463H。 三.实验步骤 1.在实验五的基础上,B口也连8个LED,让16个LED顺序亮灭。修改程序,并添加延时子程序。(提示:首先分别向A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,再送到端口上,循环下去,从而实现流水灯的显示。) 2.利用C口,连接三个开关,实现灯亮的开始、暂停、停止、复位等功能。 MY8255_A EQU 0E460H MY8255_B EQU 0E461H MY8255_C EQU 0E462H MY8255_MODE EQU 0E463H  DATA SEGMENT LA DB ? LB DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE MOV AL,80H /////1,00,0 : 0,0,0,0B 方式0,均为输出 OUT DX,AL MOV DX,MY8255_A MOV AL,7FH OUT DX,AL MOV LA,AL MOV DX,MY8255_B MOV AL,0FEH OUT DX,AL MOV LB,AL CALL DALLY A1: MOV AL,LA ROR AL,1 // 7fh , 循环右移 MOV LA,AL MOV DX,MY8255_A OUT DX,AL MOV AL,LB ROL AL,1 // 0feh , 循环左移 MOV LB,AL MOV DX , MY8255_B OUT DX,AL CALL DALLY CALL BREAK JMP A1  DALLY: MOV CX,3FFH D1: MOV AX,0FFFFH D2: DEC AX JNZ D2 LOOP D1 RET  BREAK PROC NEAR MOV AH,06H MOV DL,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21H RETURN: RET BREAK ENDP  CODE ENDS END START 8253定时/计数实验 一.实验目的(2)掌握8253的典型应用技术。 二.实验内容 用信号源1MHZ作为扬声器发声基准时钟,计数器0设置为工作方式3,由表格查出每个音符对应的时间常数送给计数器0,以确定音调,驱动扬声器产生音乐,其连线图如下(发声频率已经固定,但是发声时间是通过软件延时控制的,因此发声时间随不同档次PC机而变化,可以通过调节延时子程序参数来调节发声时间 三、实验连线 (1)实验板上的芯片为8254,功能结构与8253一样,其最高计数频率可达10MHz。 (2)连接ISA仿真总线; (3)按下图连接线路:      四.实验步骤 (1)编写程序,用OUT0驱动SPK单元的扬声器发声 (2)设计实验线路图,将PCI总线扩展卡的ADD-ON总线与仿真ISA总线进行连接,完成线路连接。 (1)       运行程序,观察扬声器是否发声 (2)       可以根据音乐节拍发生时间较长或较短修改延时子程序的计数值。 五.实验思考题   在计数值赋给8254后马上可以启动并且进行定时或者计数吗? 本实验参考程序 STACK1  SEGMENT  STACK    DW 64 DUP(?) STACK1   ENDS DATA   SEGMENT MY8254CT0  EQU  0E440H MY8254CT1  EQU  0E441H MY8254CT2  EQU  0E442H MY8254MD    EQU  0E443H DTABLE  DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33H DB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45H DB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H DB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H DB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH DB 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26H DB 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45H  DB 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, 2DH  DB 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, 39H  DB 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00H DATA  ENDS CODE SEGMENT  ASSUME CS:CODE,DS:DATA,SS:STACK1 START:  MOV AX,DATA           MOV DS,AX //数据段初始化         MOV BX , OFFSET DTABLE //偏移地址给BX            MOV AL,[BX] //数组的首地址给AL            MOV AH,00H //数组的偏移地址初始为0 A1:     MOV DL,0AH          ;CLK=1MHz          MUL DL          PUSH AX //保存AX 的当前值         MOV DX,MY8254MD //设置8254的控制端口地址         MOV AL,36H //控制字         OUT DX,AL //向控制端口写入控制字        POP AX //AX的数据出栈         MOV DX , MY8254CT0 //T0计数器的地址给DX         OUT DX , AL //写入初值的低字节         MOV AL , AH         OUT DX , AL //写入初值的高字节 INC BX        MOV AH,00H            MOV AL,[BX]            TEST AL,0FFH         JZ  A2         PUSH AX         CALL DALLY         CALL BREAK         POP AX         JMP A1 A2:     MOV BX,OFFSET DTABLE           MOV AL,[BX]        MOV AH,00H            JMP A1              DALLY:  MOV CX,77FFH //延时函数 D1:     MOV AX,4C00H D2:     DEC AX         JNZ D2         LOOP D1   BREAK  PROC  NEAR         MOV AH,06H         MOV DL,0FFH         INT 21H         JE  RETURN         MOV AX,4C00H         INT 21H RETURN:RET BREAK  ENDP CODE ENDS      END START 16
本文档为【烟台大学光电信息学院_微机原理实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_561056
暂无简介~
格式:doc
大小:339KB
软件:Word
页数:17
分类:工学
上传时间:2013-03-24
浏览量:14