微机原理实验1高等教育实验设计高等教育实验设计.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《微机原理实验1高等教育实验设计高等教育实验设计.pdf》由会员分享,可在线阅读,更多相关《微机原理实验1高等教育实验设计高等教育实验设计.pdf(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验一 两个多位十进制数相减实验 一.实验要求 将两个多位十进制数相减,要求被减数,减数均以 ASCII 码形式按顺序存放在以 DATAI和 DATA2 为首的 5 个内存单元中(低位在前),结果送回 DATAI处。二、实验目的 1学习数据传送和算术运算指令的用法。2熟悉在 PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。DATA SEGMENT DATA1 DB 33H,39H,31H,37H,38H ;第一个数据(作为被减数)DATA2 DB 36H,35H,30H,38H,32H ;第二个数据(作为减数)MES1 DB -,$MES2 DB =,$DATA ENDS STACK
2、SEGMENT ;堆栈段 STA DB 20 DUP()TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL ;显示被减数 MOV AH,09H LEA DX,MES1 INT 21H MOV SI,OFFSET DATA2 MOV BX,0
3、5 ;显示减数 CALL DISPL MOV AH,09H LEA DX,MES2 以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结
4、束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单 INT 21H MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2 CALL SUBA ;减法运算 MOV SI,OFFSET DATA1 MOV BX,05 ;显示结果 CALL DISPL MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H INT 21H INT 21H MOV AX,4C00H INT 21H DISPL PROC NEAR ;显示子功能 DSI:MOV AH,02 MOV DL,SI+BX-1 ;显
5、示字符串中一字符 INT 21H DEC BX ;修改偏移量 JNZ DSI RET DISPL ENDP SUBA PROC NEAR MOV DX,SI MOV BP,DI 以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字
6、符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单 MOV BX,05 SU1:SUB BYTE PTRSI+BX-1,30H SUB BYTE PTRDI+BX-1,30H DEC BX ;将 ASCII 码表示的数字串 JNZ SU1 ;转化为十六进制的数字串 MOV SI,DX MOV DI,BP MOV CX,05 ;包括进位,共 5 位 CLC ;清进单位 SU2:MOV AL,SI MOV BL,DI SBB AL,BL ;带进位相减 AAS ;非组
7、合 BCD码的减法调整 MOV SI,AL ;结果送被减数区 INC SI INC DI ;指向下一位 LOOP SU2 ;循环 MOV SI,DX MOV DI,BP MOV BX,05 SU3:ADD BYTE PTR SI+BX-1,30H ADD BYTE PTR DI+BX-1,30H DEC BX ;十六进制的数字串转化 ASCII 码表示的数字串 JNZ SU3 RET SUBA ENDP CODE ENDS 以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆
8、栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单 END START 实验二 两个数相乘的实验 一 实验要求 实现十进制数的乘法,被乘数和乘数均以 ASCII 码形式存放在内存中,算式结果 在屏幕上显示出来。二 实
9、验目的 掌握乘法指令和循环指令的用法。以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求
10、被乘数和乘数以组合的码形式存放各占一个内存单DATA SEGMENT DATA1 DB 32H,39H,30H,35H,34H DATA2 DB 34H MES1 DB *,$MES2 DB =,$RESULT DB 6 DUP(00H)DATA ENDS STACK SEGMENT STA DB 20 DUP()TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,T
11、OP LEA SI,DATA1 MOV BX,05H L1:MOV AH,02H MOV DL,SI+BX-1 INT 21H DEC BX JNZ L1 MOV AH,09H LEA DX,MES1 以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上
12、显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单 INT 21H LEA SI,DATA2 MOV AH,02H MOV DL,SI INT 21H MOV AH,09H LEA DX,MES2 INT 21H MOV SI,OFFSET DATA2;显示算式 MOV BL,SI ;乘数 DATA2BL AND BL,00001111B ;屏蔽高 4 位,ASCII 码转化为十六进制数 MOV SI,OFFSET DATA1 MOV D
13、I,OFFSET RESULT MOV CX,05 LOOP1:MOV AL,SI AND AL,00001111B ;取被乘数 DATA1,ASCII变十六进制数 INC SI ;指向被乘数 1 的下一字符单元 MUL BL ;相乘 AAM ;AAM调整 ADD AL,DI ;结果低位与前次计算的进位相加 AAA ;AAA调整 MOV DI,AL INC DI ;结果送存到下一单元 MOV DI,AH LOOP LOOP1 ;计算结果高位进位送存 MOV CX,06 MOV SI,DI 以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调
14、试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单DISPL:MOV AH,02 MOV DL,SI ADD DL,30H INT 21H DEC S
15、I LOOP DISPL ;显示结果 MOV AX,4C00H INT 21H ;结束 CODE ENDS END START 实验三 BCD 码相乘的实验 一 实验要求 实现 BCD码的乘法,要求被乘数和乘数以组合的 BCD码形式存放,各占一个内 存单元,乘积存入在另外两个内存单元中,由于没有组合的 BCD码乘法指令,程序中采用 将乘数 1 作为计算器,累加另一个乘数的方法得到计算结果。二 实验目的 掌握用组合的 BCD码表示数据,并熟悉怎样实现组合 BCD码乘法运算。以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程
16、序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单 DATA SEGMENT FIRST DB 99H SECOND DB 25H THIRD DB 2 DUP()ME
17、S1 DB*,$MES2 DB=,$DATA ENDS STACK SEGMENT PARA STACK STACK 以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一
18、单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单STAPN DB 100 DUP()TOP EQU LENGTH STAPN STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV BL,FIRST ;被乘数送 BL MOV CL,SECOND ;乘数送 CL MOV DX,0 ;部分积清 0 MOV AL,BL
19、AGAIN:OR AL,AL JZ DONE ;被乘数减到 0 则转结果显示 MOV AL,DL ADD AL,CL DAA ;乘数于部分积低位相加后调整 MOV DL,AL MOV AL,DH ADC AL,0 DAA ;往部分积高位送进位后调整 MOV DH,AL MOV AL,BL DEC AL 以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字
20、串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单 DAS ;组合 BCD码减法调整 MOV BL,AL JMP AGAIN DONE:LEA BX,THIRD MOV BX,DX LEA SI,FIRST CALL DIS XOR AX,AX MOV AH,09H LEA DX,MES1 ;*INT 21H LEA SI,SECOND
21、CALL DIS XOR AX,AX LEA DX,MES2 ;=MOV AH,09H INT 21H LEA SI,THIRD INC SI CALL DIS DEC SI CALL DIS MOV AX,4C00H ;返回 DOS INT 21H DIS PROC NEAR ;显示子程序 MOV AL,SI MOV CL,04H 以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环
22、十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单 SHR AL,CL ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AL,SI AND AL,0FH ADD AL,30H MOV DL,AL MOV AH,02H INT 21H RET DIS ENDP CODE
23、 ENDS END START 实验一 双色灯实验 一、实验要求 编写程序,以 8255 为输出口,控制四个双色灯按要求发光。二、实验目的 1学习单板方式下扩展简单 I/O 接口的方法以双色灯的使用。2进一步学习微处理器的编程技术。三、实验电路连线 8255 的 CS片选接至适配板上 138 译码处的 200H207H 插孔。四、实验说明 1、因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一 个十字路口为东西南北走向。初始状态 0 为东西红灯,南北红灯。然后转状态 1 南北绿灯通 车,东西红灯。过一段时间转状态 2,南北绿灯闪几次转亮黄灯,延时几秒,以和为首的个内存单元
24、中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被减数区指向下一位循环十六进制的数字串转化码表示的数字串一实验要求实验二两个数相乘的实验实现十进制数的乘法被乘数和乘数均以码形式存放在内存中算式结果在屏幕上显示出指向被乘数的下一字符单元相乘调整结果低位与前次计算的进位相加调整结果送存到下一单元计算结果高位进位送存显示结果结束一实验要求实验三码相乘的实验实现码的乘法要求被乘数和乘数以组合的码形式存放各占一个内存单东西仍然红灯。
25、再转状态,东西绿灯通车,南北灯灯。过一段时间转状态 4,东西绿灯闪几 次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态 1。2、双色 LED是由一个红色 LED管芯和一个绿色 LED管芯封装在一起,公用负端。当 红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平 时,绿灯亮;两端都加高电平时,黄灯亮。;实验一 双色灯实验 以和为首的个内存单元中低位在前结果送回处二实验目的学习数据传送和算术运算指令的用法熟悉在机上建立汇编链接调试和运行汇编语言程序的过程第一个数据作为被减数第二个数据作为减数堆栈段显示被减数显示减数减法运算进单位带进位相减非组合码的减法调整结果送被
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 高等教育 实验设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内