微机原理课程设计---编程计算2数组的代数和

合集下载

微机原理课程设计

微机原理课程设计
微机原理课程设计
前言
加热器数字控制系统的设计与功能的实现要求学生在学习完微机原理及应用这门课的基础上,在对芯片类知识以及汇编语言有一定基础的前提下进行的一个非常体现学生综合能力的一个设计。要想很好的完成这个题目,必须对芯片的功能有很详细的了解,同时也要求学生的汇编语言基础要扎实。计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。《微型计算机原理》正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程,要求学生在学好理论知识的基础上,培养定的实践动手操作能力,学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。微机原理课程设计是对《微型计算机原理》课程理论教学和实验教学的综合和总结。
[2]、徐建民·《汇编语言程序设计》[M]·北京:电子工业出版社
[3]、洪永强.微机原理与接口技术.北京:科学出版社. 2004年
课程设计图纸
程序清单
DATA SEGMENT
INTR_IVADDEQU01C8H;INTR对应的中断矢量地址(对应着中断程序入口地址)
INTR_OCW1EQU0A1H;INTR对应PC机内部8259的OCW1地址
MOV AX,SEG MYISR
MOV ES:[DI],AX;ห้องสมุดไป่ตู้置当前中断处理程序入口段地址
MOV DX,INTR_OCW1 ;设置中断屏蔽寄存器,打开INTR的屏蔽位
INAL,DX
MOV IM_BAK,AL;保存INTR原中断屏蔽字
AND AL,INTR_IM
OUTDX,AL
MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1
MOV DI,INTR_IVADD

微机原理实验:加减法

微机原理实验:加减法
mov cx, 8 ; 循环次数
print: mov ah, 2
mov dl, '0'
test bl, 10000000b
jz zero
mov dl, '1'
zero: int 21h
shl bl, 1
loop print
; 设置背景及字体颜色
mov cx, 9 ; 字符数量
mov di, 01h ; 起始地址
jz zero_2
mov dl, '1'
zero_2: int 21h
shl bh, 1
loop print_2
; 设置背景及字体颜色来自mov cx, 9 ; 字符数量
mov di, 01h ; 起始地址
color_2: mov [di], 11100000b ;黄底(1110) ,黑字(0000)
add di, 2
color: mov [di], 11110001b ;白底(1111) ,蓝字(0001)
add di, 2
loop color
mov dl, 'b'
mov ah, 2
int 21h
mov ax, 4c00h
int 21h
(二)减法部分
name "add-sub"
org 100h
; set segment register
mov ax, 0b800h
mov ds, ax
; 8 + 10 = 18 (decimal) or bin=00010010b
mov al, 8
mov bl, 10
add bl, al
mov bh, bl ;保存加法结果

My微机原理2(数与计算)

My微机原理2(数与计算)

2010-9-21
24/82
A-B
n n
CF=0 ÞA³B; CF=1 ÞA<B ZF=1 Þ A= B
2010-9-21
25/82
无符号二进制数乘法
n
+M 右移1位 +M 右移1位 +0 右移1位 +M 右移1位
n
n
n
C 部分积(A) 乘数(Q) 被乘数(M): 0 0000 1011 0 1101 0 1101 0 0110 1 1 0 1 1 丢失 0 1101 1 0011 0 1001 1 1 1 0 1 丢失 0 0000 0 1001 0 0100 1 1 1 1 0 丢失 0 1101 1 0001 0 1000 1 1 1 1 1 丢失 乘积高位 乘积低位
2010-9-21
15/82
数制转换:十进制→二进制(小数)
n
0.3D=0.010011001100………B 准确表达需要无限 延续下去,而计算机的字长有限,因此必须进行截 断,这就产生了误差。
2010-9-21
16/82
数制转换:十进制→十六进制
n
n
十进制数转换成十六进制数,方法同十进制数转换 成二进制数,只不过“除2取余”变为“除16取余”,“乘2 取整” 变为“乘16取整”。同理,如果要将十进制数转 换为其它数制的数(如八进制数),也采用同样的 方法。 二进制数、十六进制数转换成十进制数时,只要将 二进制数、十六进制数按位权展开相加即可,如将 8A.B5H转换成十进制数:
2010-9-21
4/82
一、 数制
n
n
计算机,从名字来看,就是为计算而生的机器,处 理的对象是数。计算机可处理的数和人们日常习惯 的十进制数不同,计算机使用的是二进制,因为二 进制普遍存在与现实生活中。例门窗的开关、来 回、有和没有、好和坏、天晴和阴。二进制也很容 易用电子器件的物理状态表示,如1表示电路导通, 0表示电路关闭。由基本的二状态可以组织成高复杂 的计算机。为清楚理解计算机使用的数,我们首先 了解数制。 数制涉及三个问题:计数符号 基数和权 计数规则

南华大学微机原理汇编实验 键盘上输入两个数求和

南华大学微机原理汇编实验 键盘上输入两个数求和

微机原理实验5 一位带符号数加法的汇编语言程序设计班级学号姓名实验时间:年月日实验成绩:1.实验目的从键盘上输入两个数(数的大小在±9之间),然后在屏幕上显示两数之和(结果在±18之间)。

完成创建源程序文件,汇编,连接,运行,实验结果显示。

2.实验原理3.实验仪器设备4.实验过程5.实验结果DSEG SEGMENTs1 db ' please input the first number ','$'s2 db 10,13, ' please input the second number ','$'s3 db 10, 13, ' the sum is ','$'s4 db 10, 13, ' there are input errors!!!!! ','$'d1 db ?d2 db ?d3 db ' ','$'DSEG ENDSCSEG SEGMENTassume cs:CSEG, ds:DSEGMAIN PROC FARmov ax, dsegmov ds, axmov bl,0mov cl,0mov ah,9hlea dx,s1int 21h ;显示字符串1 mov ah,1int 21hcmp al,2dhjnz m1mov bl,1mov ah,1int 21hm1: mov [d1],al ;读入第一个数mov ah,9hlea dx,s2int 21h ;显示字符串2mov ah,1int 21hcmp al,2dhjnz m2mov cl,1mov ah,1int 21hm2: mov [d2],al ;读入第二个数call subpmov al,[d1]call subpcmp cl,bljnz btfhmov al,[d2]add al,[d1]sub al,30hcmp al,39hjna mmadd al ,6mov [d3+1],31hsub al,10hmm: mov [d3+2],alcmp bl,1jz fhjmp zhhbtfh: mov al,[d1]cmp al,[d2]jna mksub al,[d2]add al,30hmov [d3+1],alcmp bl,1jz fhjmp zhhmk: mov al,[d2]sub al,[d1]add al,30hmov [d3+1],alcmp cl,1jz fhjmp zhhfh:mov [d3],2dh zhh: mov ah,9hlea dx,s3int 21h ;显示字符串3mov ah,9hlea dx,d3int 21hmov ah,1 ;以下退出int 21hmov ax,4c00hint 21hMAIN ENDPsubp proccmp al,30hjb k1cmp al,39hja k1jmp m9k1: mov ah,9hlea dx,s4int 21hm9: retsubp endpCSEG ENDSEND MAIN(注:文档可能无法思考全面,请浏览后下载,供参考。

微机原理课程设计教学大纲

微机原理课程设计教学大纲

《微机原理与接口技术》实习教学大纲一、课程基本信息开课单位:电气与信息工程学院课程编号:课程名称:微机原理与接口技术英文名称:Microcomputer Principle & Interfacing Technique学分:2学分二、课程的性质与教学目标(一)课程性质:本课程是高等院校计算机科学与技术及计算机相关专业的一门专业技术基础课程,是在《微机原理与接口技术》理论课程结束后的一次大型实践性教学环节。

(二)教学目标:本课程以相应课程的理论知识和课程实验为基础,学生通过课程设计,应初步学会利用微机和接口芯片设计应用系统的基本方法;初步掌握微机应用系统中硬件电路的设计方法;掌握利用汇编语言设计和编写应用程序的方法;提高调试综合应用程序的能力。

通过理论设计和实践操作巩固和加深对理论知识的理解,增强设计微机应用系统和调试应用软件的能力,提高学生的工程素质。

三、教学内容、时间安排及教学要求(一)实习内容及要求1、实习内容(16学时)可在以下5个课题中任选其一:课题1:数据采集系统课题2:异步通信系统课题3:电机调速系统课题4:计时器课题5:计算器(1)要求课程设计完成后,学生应交课程设计报告一份。

(2)内容课题1:数据采集系统数据采集系统有两个子课题,根据实验安排完成其中一个:1)用LED显示输出的数据采集系统;2)用打印机输出的数据采集系统。

理论设计要求:①以8088/86及其支持电路为基础,配必要的存储器、中断、定时系统、感测接口、LED显示器或打印机接口等构成数据采集系统;②系统可控制8路采集,采集信号的最高频率为10Hz;③采集数据存储在内存区,要求能连续保存10分钟的各路数据;④在LED显示器上顺序输出各路采集数据,输出内容包括采集路号以及对应的实时数据;若使用打印机输出,可在10分钟后批量打印采集的数据;⑤方案设计中要突出数据采集分系统和输出接口的设计,进行多种速率、多路采集控制等方面的分析,为硬件设计和软件编程提供依据;⑥硬件设计要求画出功能框图和逻辑原理图;编程要有程序框图和流程图。

微机原理——第2章数的表示与运算

微机原理——第2章数的表示与运算

所以[X]补-[Y]补=00,000110,判断结果为正数 无溢出。 补 无溢出。 所以 补 ,判断结果为正数,无溢出
2.2.1 定点数的加减运算
在计算机中的数据有定点数和浮点数两种表示方式: 在计算机中的数据有定点数和浮点数两种表示方式:
一.定点数
定点数:是指小数点固定在某个位置上的数据. 定点数:是指小数点固定在某个位置上的数据. (我们在前 面讨论的数据都是定点数) 面讨论的数据都是定点数) 一般有小数和整数两种表示形式。 一般有小数和整数两种表示形式。 定点小数是把小数点固定在数据数值部分的左边, 定点小数是把小数点固定在数据数值部分的左边,符号位 的右边; 的右边; 整数是把小数点固定在数据数值部分的右边。 整数是把小数点固定在数据数值部分的右边。
2.2.1 定点数的加减运算
二.浮点数
引入: 引入:76.687D=102*0.76687 1001.101=2100*0.1001101 :任意二进制数可表示为 任意二进制数可表示为: 故:任意二进制数可表示为: N=2E*S
阶码的底
N的尾数 的尾数 N的阶码 的阶码
定点数中具有相同的E,即小数点是固定不变的 通常 定点数中具有相同的 即小数点是固定不变的(通常 即小数点是固定不变的 通常E=0) [例]定点数 例 定点数 定点数N=0.1101011 定点机中表示: 定点机中表示
0001B 1111B 0000B 1111B 0001B 0000B 0000
补码的特性1 补码的特性1
[X]补码
求补
[-X]补码
2.1 带符号的数据表示方法 十进制 +127 +126 ... +2 +1 0 -1 -2 ... -126 -127 -128 二进制 n=8 0111 1111 0111 1110 ... 0000 0010 0000 0001 0000 0000 1111 1111 1111 1110 ... 1000 0010 1000 0001 1000 0000 十六进制 7F 7E … 02 01 00 FF FE … 82 81 80 十进制 n=16 +32767 +32766 … +2 +1 0 -1 -2 … -32766 -32767 -32768 7FFF 7FFE ... 0002 0001 0000 FFFF FFFE ... 8002 8001 8000 十六进制

微机原理及应用课程设计指导书

微机原理及应用课程设计指导书

微机原理及应用课程设计指导书《微机原理及应用》课程设计指导书一、课程设计的目的和作用课程设计是培养和锻炼学生在学习完《微机原理及应用》后综合应用所学理论知识解决实际工程设计和应用问题的能力、进行工程实训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。

《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。

所以通过有针对性的课程设计,使学生学会系统地综合运用所学的技术理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。

本课程设计是配合课堂教学的一个重要的实践教学环节,不仅要培养学生的实际动手能力,检验学生对本课程学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。

培养学生事实求是和严肃认真的工作态度。

通过设计过程,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。

让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件硬件调试、查阅资料、绘图、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。

通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

二、课程设计内容与要求要求每个学生(或小组)都要自己动手独立设计完成一个典型的微机应用小系统.。

设计题目可以在给出的参考题目中选,也可以自己选设计题目,但难度不应小于参考题目,需经指导教师审查后方可确定是否采纳或修改设计题目。

微机原理教学大纲

微机原理教学大纲

微机原理教学大纲一、课程背景和目标1.1 课程背景微机原理作为计算机相关专业的必修课程,是学习计算机体系结构和计算机组成原理的基础。

通过学习微机原理,学生可以深入理解计算机的底层原理和运行机制,为后续的课程和实践提供坚实的基础。

1.2 课程目标本课程旨在使学生达到以下目标:- 理解计算机系统的组成与结构- 掌握微处理器及其相关器件的工作原理- 理解汇编语言的基本概念和编写方法- 能够独立完成简单的微机系统设计与实现- 发展问题解决和分析能力,培养创新思维和动手实践能力二、课程内容2.1 计算机系统概述- 计算机的基本组成和工作原理- 计算机的发展历程和分类2.2 软硬件概述- 计算机硬件的分类和功能- 计算机软件的分类和基本概念2.3 计算机的层次结构- 指令系统和指令的执行过程- 存储器层次结构和访问方法- 输入输出系统和设备控制2.4 微处理器组成与工作原理- 微处理器的基本功能和结构- 控制器和ALU的作用与实现- 数据通路和指令执行过程2.5 汇编语言基础- 汇编语言的基本概念和特点- 汇编语言的指令格式及寻址方式- 汇编语言程序的设计和调试2.6 总线与存储器- 总线的分类和基本特性- 存储器的种类和特点- 存储器的组织和寻址方法2.7 输入输出系统- 输入输出设备的分类和接口技术- 输入输出控制和数据传输方式- 中断和DMA的原理和应用三、教学方法与评估方式3.1 教学方法- 理论教学结合实践教学,注重理论与实际应用的结合- 通过案例分析和实验操作加深学生对知识的理解和掌握- 鼓励学生参与讨论,提高问题解决和分析能力3.2 评估方式- 平时成绩:包括课堂出勤、课堂表现和作业完成情况- 实验报告及实验成绩:要求学生独立完成实验并撰写实验报告- 期末考试:综合考核学生对课程内容的理解和应用能力四、教材及参考书目教材:- 《微机原理与接口技术导论》高晓阳等著,机械工业出版社参考书目:- 《计算机组成与设计:硬件与接口》 David A. Patterson等著,电子工业出版社- 《深入理解计算机系统》 Randal E. Bryant等著,电子工业出版社五、教学进度安排本课程按照以下进度安排进行授课:- 第一周:计算机系统概述- 第二周:软硬件概述- 第三周:计算机的层次结构- 第四周:微处理器组成与工作原理- 第五周:汇编语言基础- 第六周:总线与存储器- 第七周:输入输出系统六、课程总结微机原理课程的学习对于计算机专业的学生来说是非常重要的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京信息科技大学
信息管理学院
实验报告
课程名称微机原理课程设计
实验项目实验1-(2) 编程计算2数组的代数和
实验仪器PC、TDN86/88教学实验系统、Wmd86联机软件
专业
班级/学号
学生姓名
实验日期
实验地点
成绩
指导教师
一、实验目的
1.掌握分支程序和循环程序结合应用的设计、调试方法。

二、实验内容
设有数组Xi 和Yi 。

Xi 数组中有X1 ,…,Xl0;Yi 数组中有Y1 ,…,Y10。

试编制程序计算 Z1= X1 +Y1 Z5 = X5 +Y5 Z8= X8—Y8
Z2= X2 +Y2 Z6 = X6— Y6 Z9= X9 + Y9
Z3= X3 —Y3 Z7 = X7 —Y7 Z10=X10+Y10
Z4= X4 —Y4
结果存入z 数组。

三、流程图
否 否 是
是 开始
各取下标指向元素,存入寄存器
逻辑尺为0
元素相加,存入空数
组,指向下一个元素
元素相减,存入空数
组,指向下一个元素
CX=0
结束
把两组数存入两个
数组
四、实验过程
DATA SEGMENT
BUF1 DB 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH ;存入第一组数
BUF2 DB 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH ;存入第二组数
BUF3 DB 10 DUP(?) ;设置空数组
LOGIC DW 00ECH ;设置逻辑尺
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA ;初始化数据段
MOV DS,AX
MOV CL,0AH ;设置数组长度
MOV SI,0H ;设置下标
A1: MOV AL,BUF1[SI] ;取下标对应数组一元素
MOV BL,BUF2[SI] ;取下标对应数组二元素
ROR LOGIC,1H ;逻辑尺循环右移一位
JC A3 ;判断是否为加法,不是则跳转到A3,加法则继续执行
ADD AL,BL ;两数组元素相加
MOV BUF3[SI],AL ;相加结果存到新数组
INC SI ;下标向后移一位
LOOP A1 ;循环执行A1
JMP STOP ;终止控制
A3: SUB AL,BL ;两数组元素相减
MOV BUF3[SI],AL ;相减结果存到新数组
INC SI ;下标向后移一位
LOOP A1 ;循环执行A1
STOP: JMP STOP ;终止控制
CODE ENDS
END START
五、实现结果及分析
运行程序,然后在调试区键入D0200:0000,即可查看结果。

经验证结果正确。

六、实验总结:
通过这次试验,我对数据在内存中的存放形式又有了更深的了解,汇编语言虽然编写起来不如C语言方便,但是执行速度快,可以直观地看到数据的处理顺序和形式。

相关文档
最新文档