微机原理实验Word文档格式.docx
- 文档编号:5815979
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:13
- 大小:143.11KB
微机原理实验Word文档格式.docx
《微机原理实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理实验Word文档格式.docx(13页珍藏版)》请在冰点文库上搜索。
BEGIN:
MOVAX,DATA
MOVDS,AX;
初始化DS
LEADX,BUF ;
偏移地址送寄存器
MOVAH,9
INT21H ;
9号调用显示字符串PLEASEINPUTACHAR:
MOVAH,1 ;
1号调用,从键盘接收一个字符
INT21H
CMPAL,61H ;
若比“a”小转PEND处执行
JBPEND
CMPAL,7AH;
若比“z”大转PEND
JAPEND
SUBAL,20H;
若在“a”和“z”之间,则减去20变为大写字母
MOVDL,AL;
转换后的字符存入DL寄存器
MOVAH,2;
2号功能调用显示一个字符
PEND:
MOVAH,4CH;
程序结束,返回DOS
CODEENDS
ENDBEGIN
2.题目2的完整汇编语言程序如下,运行可执行文件后将字符串“AssemblyLanguageProgramming”转换成大写“ASSEMBLYLANGUAGEPROGRAMMING”并显示。
AssemblyLanguageProgramming$'
NDB$-BUF;
字符串长度
CODESEGMENT;
定义代码段
CODE;
数据初始化
LEADX,BUF
MOVAH,9;
9号调用显示字符串AssemblylanguageProgramming
MOVCX,N;
设置循环计数值
MOVSI,DX
L:
MOVAL,[SI]
CMPAL,61H;
若比“a”小转NEXT
JBNEXT
若比“z”大转NEXT
JANEXT
MOV[SI],AL
NEXT:
INCSI
LOOPL;
循环
DISPLAY:
LEADX,BUF
MOVAH,9;
9号调用显示字符串
EXIT:
ENDBEGIN
3.题目2的完整汇编语言程序如下,DOC中运行文件,从键盘输入任意一字符串,并回车键结束输入,在下一行便可逆序显示所输入的字符串。
DATASEGMENT
STR1DB0DH,0AH,'
PLEASEINPUTASTRING:
BUFDB512DUP(?
);
定义可输入的字符个数
CRLFDB0DH,0AH,24H;
回车换行符
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEADX,STR1;
偏移地址送到寄存器
MOVSI,OFFSETBUF;
指针指向待显示字符串尾部
AGAIN:
MOVAH,01;
输入字符
CMPAL,0DH;
是回车吗
JEDISP;
是,转显示
DECSI;
指针减1
MOV[SI],AL;
存入输入的字符
JMPAGAIN;
继续输入
DISP:
MOVAH,09;
显示
MOVDX,OFFSETCRLF;
回车换行
MOVDX,SI;
定位待显示字符串首地址
MOVAH,09
INT21H
MOVAH,4CH;
程序结束,DOS返回
CODEENDS
ENDSTART
四、程序框图
实验内容中的1、2、3题程序框图见如下图1-1、1-2和1-3。
图1-1图1-2
图1-3
五、实验总结
DOS调用,运行程序文件,得到结果图分别如下所示:
图1-4图1-5
图1-6
通过实验,我熟悉了汇编语言程序的基本结构,掌握了教程中讲解的跳转类指令以及循环指令等,对DOS功能的调用更加熟悉。
英文字母的编码是按ASSIC码表的顺序编码的,大写“A”到“Z”和小写“a”到“z”之间的转换,其ASSIC码值正好相差20H。
实验四8259A中断实验
一、实验要求
掌握用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。
二、实验目的
了解8088/86与8259之间的连接方法。
学习8088/86对8259的控制方法。
三、预备知识
8259A是Intel公司专为控制优先级中断而设计的NMOS芯片。
它集中断源优先级排队、中断源识别、中断向量提供和中断屏蔽等功能电路于一体,因而中断系统无需附任何电路,只需对8259A进行编程,就可管理8级优先中断,且中断请求方式和优先级模式等中断结构可通过编程设定或变更,中断入口地址也可由用户任意指定。
四、实验原理说明及连线
1、本实验主要用到的模块:
中断模块、单次脉冲源模块等;
2、IR6接单次脉冲的/Q端。
图4-1
五、实验内容
用单脉冲发生器的输出脉冲作为中断源,每按一次按键产生一次中断申请,中断服务程序将在实验箱的显示屏显示一个字符“R”。
六、程序框图
主程序框图见图4-2,中断程序框图见图4-3。
图4-2图4-3
七、实验步骤
1、确认连接好线路;
2、编写程序
3、装载并运行程序(脱机时调用ZY2TJ.EXE,联机时调用ZY2.EXE)。
汇编语言程序如下:
数据段的定义
INT_SEGDW?
INT_OFFDW?
CLI;
关中断
MOVAH,35H;
读原中断服务程序的入口地址
MOVAL,0EH
MOVINT_OFF,BX;
保存原中断服务程序的入口偏移地址
MOVINT_SEG,ES
MOVAX,CS
ADDAX,10H
使数据和代码处于同一段
MOVDX,OFFSETUINTR;
取中断服务程序地址
MOVAH,25H;
设置中断向量
MOVAL,0EH;
送中断类型码
INAL,21H;
读8259A中断屏蔽寄存器
ANDAL,0BFH
MOVDX,21H
OUTDX,AL
STI
MM:
JMPMM
UINTR:
中断服务程序
MOVAL,'
R'
MOVDX,88H
MOVAL,20H;
向8259A发出EOI命令,结束中断
OUT20H,AL
IRET
八、实验总结
8259A控制器芯片可实现对中断的控制,对8259A进行初始化编程后即可处理中断请求,CPU也可以通过操作命令字实现对8259A的操作控制。
用单脉冲发生器的输出脉冲作为中断源,向CPU发送中断请求,每按一次按键产生一次中断申请,通过控制器使CPU执行中断服务程序,中断服务程序的结果将在实验箱的显示屏显示一个字符“R”。
实验五8255并行I/O口实验
利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输入,PB口作输出。
1、了解8255芯片结构及编程方法。
2、了解8255输入/输出实验方法。
8255是Intel公司生产的与Intel8080/8085系列的MPU配套的可编程外围接口电路,简称PPI。
它有A、B、C三个八位端口寄存器,通过24位端口线与外部设备相连,基中C口可分为上半部和下半部。
这24根端口线全部为双向三态。
三个端口可分二组来使用,可分别工作于三种不同的工作方式。
四、实验原理图及连线
8255模块、开关量输出模块、0-1指示模块、实验译码单元等;
2、PA0-PA7分别接开关量输出模块S0-S7对应的插座;
3、PB0-PB7分别接0-1指示模块DO71-DO78对应的插座;
4、8255A的片选/CS接地址译码单元的2A0-2A7;
5、数据线XD0—XD7接系统数据线区的任一插座。
图5-1
将实验的线路连接好后,编程,将8255的A口作为输入,输入信号由8个逻辑电平开关提供,B口作为输出,其内容由发光二极管来显示。
DATAENDS
ASSUMECS:
DATA
MOVAL,90H;
定义A端口为输入
MOVDX,2A3H;
设置8255A的控制口地址
OUTDX,AL;
写控制字
A:
MOVDX,2A0H;
将PA端口地址送到DX中
INAL,DX;
从PA口输入数据
MOVDX,2A1H;
将PB端口地址送到DX中
OUTDX,AL;
PB口输出数据
JMPA
图5-2
1、参照四中的内容连好线;
2、运行上位机软件,装载并运行相应程序即可(联机调用ZY1LJ.EXE,脱机用ZY1.EXE)。
编写程序时,8255的/CS连线可以接地址译码单元的其他信号,其它连线相同。
如果用的端口与本实验不一样,也可以改变IO口的连线。
可编程并行I/O接口芯片8255可实现数据的快速传输,本实验用芯片的A口作为输入,输入信号由8个逻辑电平开关提供,B口作为输出,其内容由发光二极管来显示。
PA0~PA7和PB0~PB7均作为8位数据传输线,D0~D7作为数据总线,与CPU进行数据的传输。
全速运行程序时,拨动开关,当开关某位置至于L时,相应位置的发光二极管LED灯点亮。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验