ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:29.78KB ,
资源ID:4723036      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4723036.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理实验报告.docx

1、微机原理实验报告实验一 熟悉宏汇编程序及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、

2、指令及其结果: (1)MOV AX,1200H (2)MOV AX,BX (3)MOV AX,1200H (4)MOV AX,BX (5)MOV AX,1100HBX (6)MOV AX,BXSI (7)MOV AX,1100HBXSI 源操作数有效地址源操作数物理地址指令运行结果(AX)1 1200H2 0100H31200H21200H4C2AH40100H20100H3412H52300H22300H 4C2AH61202H21202H 7856H70202H20202H65B7H四思考题汇编语言的寻址方式有七种:(1) 立即寻址(2) 寄存器寻址:用于该寻址的寄存器有:AX、BX、CX

3、、DX、SI、DI、SP、BP、AH、AL、BH、BL、CH、CL、DH、DL(3) 直接寻址(4) 寄存器间接寻址:用于该寻址的寄存器有:BX、BP、SI、DI(5) 寄存器相对寻址:用于该寻址的寄存器有:BX、BP、SI、DI(6) 基址变址寻址:用于该寻址的寄存器有:BX、BP、SI、DI(7) 相对基址变址寻址:用于该寻址的寄存器有:BX、BP、SI、DI实验二 寻址方式练习及多字节运算程序 一实验目的1学习并掌握数据传送指令和算术运算指令2熟悉在PC机上编辑、汇编、连接、调试与运行汇编语言程序的过程。二实验内容实现两个32位无符号数乘法。实验程序如下: my_data segment

4、 num1 dw 1200h,3400h num2 dw 5600h,7800h mut dw 4dup(?) my_data ends my_stack segment para stack stack db 100(?) my_stack ends my_code segment assume cs:my_code cs: my_data cs: my_stackbegan: push ds mov ax,0 push axmov ax, my_datamov dx,axlea bx,num1mul32: mov ax,bx mov si,bx+4 mov di bx+6 mul si m

5、ov bx+8,ax mov ax,bx+2 mul si add bx+0ah,ax adc bx+0ch,dx mov ax,bxmul di add bx+0ah,ax adc bx+0ch,dx mov ah,4ch int 21h my_code ends end begin三,实验步骤1编辑源程序,建立一个以后缀名为.ASM的文件。2汇编源程序,检查程序是否有错误,有错时回到编辑状态,修改程序中错误行;无错误继续(3)。3连接目标程序,生成可执行程序。4DEBUG调试程序,记录如下数据:(1)记录断点处地址,为:0042h (2)记录断点处DS、CS及IP的值分别为:DS=129C

6、H,CS=129DH,IP=0042H (3)数据段DS:0DS:0F的内容,并记录,如下:00 12 00 34 00 56 00 78-00 00 00 00 e8 19 60 18四思考题my_data segment y dw (?)x equ 56abh my_data ends my_stack segment para stack stack db 100(?) my_stack ends my_code segment assume cs:my_code cs: my_data cs: my_stackbegan: push ds mov ax,0 push axmov ax,

7、 my_datamov dx,ax mov ax,x mul 6 add ax,8h mov y,ax mov ah,4ch int 21h my_code ends end begin实验三 分支程序设计一 实验目的1.学习并掌握分支程序的设计方法2.掌握正确分配与使用寄存器二实验内容实现符号函数三程序清单 my_data segment x dw -5 y dw ? my_data ends my_stack segment para stack stack db 100 dup(?) my_stack ends my_code segmentassume as:my_code, ds:m

8、y_data, ss:my_sack begin: push ds mov ax, 0 push ax mov ax, my_data mov ds, ax mov ax, x and ax, ax jz zero jns plus mov bx, 0ffffh jmp done zero: mov bx, 0 jmp done plus: mov bx, 1 done: mov y, bx mov ah, 4ch int 21h my_code ends end begin四实验步骤1.汇编源程序,建立一个以后缀名为.ASM的文件2汇编源程序,检查程序是否有错误,有错时回到编辑状态,修改程序

9、中错误行;无错误继续(3)。3连接目标程序,生成可执行程序。4DEBUG调试程序,记录如下数据:(1)记录断点处地址。(2)记录断点处DS、CS及IP的值。(3)数据段DS:0DS:0F的内容,并记录。(4)修改X的值,观察并记录实验结果。循环程序设计一实验目的1学习并掌握循环程序的设计方法2掌握正确分配与使用寄存器。二实验内容用冒泡法将一个带符号字节型数组中的数据按从大到小的顺序排列。三程序清单my_data segmentbuff db 11h,22h,33h,44h,55h,-30h,66h,77hcount equ $-buffmy_data endsmy_stack segment

10、para stack stack db 100dup(?)my_stack endsmy_code segment assume cs: my_code,ds:my_data,ss:my_stackbegin: push ds mov ax,0 push ax mov ax,my_data mov ds,ax mov cx,count-1loop1: mov dx,cx mov si,0loop2: mov al,buffsi cmp al,buffsi+1 jge done xchg al,buffsi+1 mov buffsi,aldone: inc si loop loop2 mov c

11、x,dx loop loop1 mov ah,4ch int 21hmy_code ends end begin 四实验步骤1编辑源程序,建立一个以后缀名为.ASM的文件。2汇编源程序,检查程序是否有错误,有错时回到编辑状态,修改程序中错误行;无错误继续(3)。3连接目标程序,生成可执行程序。4DEBUG调试程序,记录如下数据:(1)记录断点处地址。(2)记录断点处DS、CS及IP的值。(3)数据段DS:0DS:0F的内容,并记录。(4)修改源程序,把数据改为从小到大排序,观察并记录实验结果。修改后的程序为:my_data segmentbuff db 11h,22h,33h,44h,55h,

12、-30h,66h,77hcount equ $-buffmy_data endsmy_stack segment para stack stack db 100dup(?)my_stack endsmy_code segment assume cs: my_code,ds:my_data,ss:my_stackbegin: push ds mov ax,0 push ax mov ax,my_data mov ds,ax mov cx,count-1loop1: mov dx,cx mov si,0loop2: mov al,buffsi cmp al,buffsi+1 jle done xc

13、hg al,buffsi+1 mov buffsi,aldone: inc si loop loop2 mov cx,dx loop loop1 mov ah,4ch int 21hmy_code ends end begin (5)修改源程序,把排好序的数据保存在原数据的后面存储区中。观察并记录实验结果。修改后的程序为:my_data segmentbuff db 11h,22h,33h,44h,55h,-30h,66h,77hcount equ $-buffmy_data endsmy_stack segment para stack stack db 100dup(?)my_stack

14、endsmy_code segment assume cs: my_code,ds:my_data,ss:my_stackbegin: push ds mov ax,0 push ax mov ax,my_data mov ds,ax mov si,0 mov cx,countloop0: mov a,buffsi mov buffsi+8,al inc si loop loop0loop1: mov dx,cx mov si,0loop2: mov al,buffsi cmp al,buffsi+1 jge done xchg al,buffsi+1 mov buffsi,aldone: i

15、nc si loop loop2 mov cx,dx loop loop1 mov ah,4ch int 21hmy_code ends end begin (6)修改源程序,利用DOS功能调用把排好序的数据显示在屏幕上,观察并记录实验结果。(选作)六思考题1、分析源程序,利用子程序实现上述问题。2、已知从数据段BUF单元开始存放15个字节型数据,请设计程序将其中负数和零分别送往MINUS和ZERO开始的存储器单元。(必做)8255并行接口实验(一)一实验目的 (1)掌握8255的基本工作方式及其应用。 (2)掌握8255的典型应用电路接法。二实验内容基本输入输出实验。 8255端口地址为0E

16、460H-0E463H。三实验步骤 1接ISA仿真总线。 2接8255数据、控制、A口及B口线。A口连8个LED,B口连8个开关K。3编写程序,从B口输入数据并从A口输出,执行程序,观察结果。按动开关,观察灯的亮灭情况。四实验程序MY8255_A EQU 0E460HMY8255_B EQU 0E461HMY8255_C EQU 0E462HMY8255_MODE EQU 0E463HCODE SEGMENT ASSUME CS:CODESTART: MOV AL, 82H MOV DX, MY_8255_MODE OUT DX, AL A1: MOV DX, MY_8255_B IN AL,

17、 DX MOV DX, MY_8255_A OUT DX, AL CALL BREAK JMP A1BREAKPROC NEAR MOV AH,06H MOV DL,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21HRETURN:RETBREAKENDPCODEENDSEND START五实验思考题 修改程序,要求从C口输入数据并从B口输出。MY8255_A EQU 0E460HMY8255_B EQU 0E461HMY8255_C EQU 0E462HMY8255_MODE EQU 0E463HCODE SEGMENT ASSUME CS:CODESTAR

18、T: MOV AL, 89HMOV DX, MY_8255_MODEOUT DX, ALA1: MOV DX, MY_8255_BIN AL, DXMOV DX, MY_8255_AOUT DX, ALCALL BREAKJMP A1BREAKPROC NEAR MOV AH,06H MOV DL,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21HRETURN:RETBREAKENDPCODEENDSEND START8255并行接口实验(一)一实验目的 (1)掌握8255的基本工作方式及其应用。 (2)掌握8255的典型应用电路接法。二实验内容基本输入输出

19、实验,8255端口地址为0E460H-0E463H。实验程序如下: MY8255_A EQU 0E460HMY8255_B EQU 0E461HMY8255_C EQU 0E462HMY8255_MODE EQU 0E463HCODE SEGMENT ASSUME CS:CODESTART: MOV AL, 82H MOV DX, MY_8255_MODE OUT DX, AL A1: MOV DX, MY_8255_B IN AL, DX MOV DX, MY_8255_A OUT DX, AL CALL BREAK JMP A1BREAKPROC NEAR MOV AH,06H MOV D

20、L,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21HRETURN:RETBREAKENDPCODEENDSEND START三实验步骤 1接ISA仿真总线。 2接8255数据、控制、A口及B口线。A口连8个LED,B口连8个开关K。3编写程序,从B口输入数据并从A口输出,执行程序,观察结果。按动开关,观察灯的亮灭情况。五实验思考题 修改程序,要求从C口输入数据并从B口输出。MY8255_A EQU 0E460HMY8255_B EQU 0E461HMY8255_C EQU 0E462HMY8255_MODE EQU 0E463HCODE SEGMENT A

21、SSUME CS:CODESTART: MOV AL, 89HMOV DX, MY_8255_MODEOUT DX, ALA1: MOV DX, MY_8255_BIN AL, DXMOV DX, MY_8255_AOUT DX, ALCALL BREAKJMP A1BREAKPROC NEAR MOV AH,06H MOV DL,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21HRETURN:RETBREAKENDPCODEENDS8255并行接口实验(二)一实验目的 (1)掌握8255的各种工作方式及其应用。 (2)掌握8255的典型应用电路接法。 二实

22、验内容 流水灯显示实验。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 ? DAT

23、A ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX Mov DX, MY8255_MODE MOV AL,80H 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 DELAY A1: MOV AL,LA ROR AL,1 MOV LA,AL MOV DX,MY8255_A OUT DX,AL MOV AL,LB ROL AL,1 MOV LB,AL MOV DX,MY8255_B OUT DX,AL CALL DALLY

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1