当前位置:文档之家› 电子科技大学微机实验报告(含思考题)河畔下的哈】实验3

电子科技大学微机实验报告(含思考题)河畔下的哈】实验3

电子科技大学微机实验报告(含思考题)河畔下的哈】实验3
电子科技大学微机实验报告(含思考题)河畔下的哈】实验3

实验三

ARM汇编实现串口通信实验

1.掌握ARM 的串行口工作原理。

2.学习编程实现ARM和PC机的UART通信。

3.掌握ARM裸机下汇编语言编程方法。

1.学习串行通信原理,了解串行通信控制寄存器。

2.编程实现ARM 和计算机之间的串行通信。

1、ARM汇编基础

2、ARM处理器通用IO口的操作

? 硬件:ARM嵌入式开发平台,PC 机一台,并口线,串口线,JTAG板? 软件:RVDS,H-JTAG

1.异步串行I/O

异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线(输入,输出)即可进行。

2.串口通信流程

串口通信就是读写寄存器的操作,通过配置相关寄存器,查询寄存器就可以操作串口通信。

需要配置的寄存器有系统时钟,UART行控制寄存器,UART控制寄存器,UART FIFO控制寄

存器,UART MODEM控制寄存器,UART波特率控制寄存器;需要查询的寄存器是发送/接收状

态寄存器。

1. 打开CodeWarrior for RVDS,建立一个工程,通过查S3C2440处理器手册的UART通信寄存器,serialcommutication.s文件中添加代码实现串口通信传输

2. 设置工程配置选项,Language Setting->Realview Assembler和Realview Compiler中的Architecture设置为ARM920T,配置RVDS下的连接器Linker->Realview Linker中的RO Base 为0x30000000

3.

编译和调试工程。

4. 连接PC和实验板的并口,串口;并口连接至ARM的JTAG口,串口连接至COM PORT 口;打开电源;打开H-JTAG程序(。

5. 点击调试器Dubeg->Run,运行程序,打开超级终端,在开始->程序->附件->通讯里打开

超级终端,使用COM1,设置波特率115200,8位数据位,无奇偶校验,1位停止位,无数据流控制。

6. 从键盘输入数据,观察超级终端是否打印出字符。如有正确的字符打印,则通信成功。

实验程序:

;************** SerialCommunication Experiment*****************

;相关寄存器地址定义

CLKDIVN EQU 0x4C000014 ;CLKDIVN for PCLK and FCLK

CAMDIVN EQU 0x4C000018 ;CANDIVN

ULCON0 EQU 0x50000000 ;UART line control register 0

UCON0 EQU 0x50000004 ;UART control register 0

UFCON0 EQU 0x50000008 ;UART FIFO control register 0

UMCON0 EQU 0x5000000C ;UART modem control register 0

UBRDIV0 EQU 0x50000028 ;UART baud rate divisor register 0

UTRSTA T0 EQU 0x50000010 ;UART TX/RX status register 0

UTXH0 EQU 0x50000020 ;UART transmit buffer register 0

URXH0 EQU 0x50000024 ;UART receive buffer register 0

MPLLCON EQU 0x4C000004 ;MPLL control register

GPHCON EQU 0x56000070 ;GPIO F control register

GPHUP EQU 0x56000078 ;GPIO F pull-up register

AREA SerialCommunication,CODE,READONL Y

ENTRY

ldr r2,=MPLLCON ;设置MPLL为0x00076022 FCLK=Mpll=(2*m*Fin)/(p*(2的s次方)), Fin=16.9344MHz

; m=(MDIV+8), p=(PDIV+2),

s=SDIV

mov r3,#0x22

mov r4,#0x00076000

ADD r3,r3,r4

str r3,[r2]

ldr r2,=CLKDIVN ; CLKDIVN 设置为0x03, PCLK=FCLK/4

mov r3,#0x03

str r3,[r2]

ldr r2,=CAMDIVN ; CLKDIVN 设置为0x0200, PCLK=FCLK/4

mov r3,#0x200

str r3,[r2]

ldr r2,=ULCON0 ; ULCON0 设置为0x03, 含义是正常操作模式,无校验,停止位1,8 个数据位

mov r3,#0x03

str r3,[r2]

ldr r2,=UCON0 ;UCON0 设置为0x05 表示发送、接收数据都使用查询方式

mov r3,#0x05

str r3,[r2]

ldr r2,=UFCON0 ;UFCON0 设置为0x00 为不使用FIFO

mov r3,#0x00

str r3,[r2]

ldr r2,=UMCON0 ;UMCON0 设置为0x00 为不使用流控

mov r3,#0x00

str r3,[r2]

ldr r2,=UBRDIV0 ;UBRDIV0 设置为36,含义为波特率设为115200, 由下面公式算得:UBRDIVn = (int)(PCLK/bps*16)-1

;其中PCLK =66.68MHz

mov r3,#36

strh r3,[r2]

ldr r2,=GPHCON ;UART0 set to rxd and txd ldr r3,=0xa0

str r3,[r2]

ldr r2,=GPHUP ;pull up

ldr r3,=0x0f

str r3,[r2]

;-------------填写代码实现串口传输--------------

C_UTRSTAT00

ldr r2,=UTRSTAT0

ldr r3,[r2]

add r3,r3,#1

CMP r3,#0

beq C_UTRSTAT00

C_UTRSTAT01

ldr r2,=UTRSTAT0

ldr r3,[r2]

add r3,r3,#2

cmp r3,#0

beq C_UTRSTAT01

ldr r2,=UTXH0

ldr r3,=URXH0

ldr r4,[r3]

str r4,[r2]

B C_UTRSTA T00

END

1. 查看相关寄存器,思考怎么配置UART时钟信号和UART配置寄存器?

答:设置mellcon寄存器的值可以设置时钟,改变ulcon的值可以配置UART配置寄存器。

2.

修改串口传输函数,使其在超级终端中输入“Enter”回车键后,输出“回车”加“换行”。(“回车”和“换行”对应的ASCⅡ码分别为0x0d和0x0a).

答:函数修改为:

C_UTRSTAT00

ldr r2,=UTRSTAT0

ldr r3,[r2]

add r3,r3,#1

beq C_UTRSTAT00

C_UTRSTAT01

ldr r2,=UTRSTAT0 ldr r3,[r2]

add r3,r3,#2

cmp r3,#0

beq C_UTRSTAT01

ldr r2,=UTXH0

ldr r3,=URXH0

ldr r4,[r3]

str r4,[r2]

cmp r4,0x0d

blne X

B C_UTRSTA T00

X

bl C_UTRSTA T00

bl C_UTRSTA T01 ldr r2,=UTXH0

str r4,[r2]

本实验体现的异步串口通信的代码实现过程

西电微机原理2010试题

西安电子科技大学微机原理试题 姓名学号总分 一.填空题(每空1分,共30分) 1)15的8位二进制补码为,-15的8位二进制补码为。 2)某8位二进制补码为80H,其十进制表示为。 3)字符B的ASCII码为,字符0的ASCII码为。 4)8086CPU总线按功能可分为数据总线,总线和总线。 5)8086CPU数据总线包含条数据线,最多可寻址的存储器容量为。 6)CPU内部用于计算的部分为,用于保存下一条要执行的指令地址的 为。 A) 程序状态字B) 程序计数器C) ALU D) 工作寄存器 7)经常用作循环次数的寄存器是,用于I/O端口寻址的寄存器是。 A) AX B) BX C) CX D) DX 8)指令MOV CX, 1000的结果是CH= 。 9)将0D787H和4321H相加后,标志位CF= ,SF= ,ZF= , OF= ,AF= ,PF= 。 10)寄存器SI中能够表示的最大有符号数为,最小有符号数为。 11)设(DS)=4000H,(BX)=0100H,(DI)=0002H,(4002)=0A0AH,(40100)=1234H,(40102) =5678H,求以下指令分别执行后AX寄存器的值。 MOV AX , [2] (AX)= 。 MOV AX , [BX] (AX)= 。 MOV AX , [BX][DI] (AX)= 。 MOV AX , 1[BX] (AX)= 。 12)用一条指令将AX寄存器低四位清零,其余位不变:。 13)用一条指令将AX寄存器高四位取反,其余位不变:。 14)用一条指令将AX高8位与低8位交换:。 15)用一条指令将AL中的大写字母变成相应的小写:。 二.判断题(每题1分,共10分) 以下语句是语法正确的打√,语法错误打×,其中TABLE和TAB为两个字节类型的变量。 1)MOV DS , 1000H 2)MOV DS , TABLE 3)MOV [1200H] , [1300H] 4)ADD AX , BX , CX 5)XCHG AL , CL 6)CALL AL 7)MUL AX , BX 8)JU L1 9)SHR CL , CL

微机系统实验报告

西安电子科技大学 实验报告

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握 DOS 功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验设备 PC 机一台。 三、实验内容 1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS 功能调用完成必要提示信息的显示。 2. 在屏幕上显示自己的学号姓名信息。 3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。 4. 自主设计输入显示信息,完成编程与调试,演示实验结果。 四、实验源码 DATA SEGMENT DISCHA DB'WangHan 14030188004',0AH,0DH,'$' TAB DB' ',0AH,0DH,'$' BLANK DB' $' DATA ENDS STACK SEGMENT STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,SEG DISCHA

MOV DX,OFFSET DISCHA MOV AH,09H INT 21H NEXT: MOV AH,01H INT 21H CMP AL,'Q' JE ENDSS CMP AL,'q' JE ENDSS MOV BL,AL MOV AX,SEG BLANK MOV DS,AX MOV DX,OFFSET BLANK MOV AH,09H INT 21H MOV BH,0AH MOV DL,BL MOV CL,04H SHR DL,CL CMP DL,BH JNL Q3 JMP Q2 Q1: ADD DL,07H Q2: ADD DL,30H MOV AH,02H INT 21H MOV DL,BL MOV DH,0FH AND DL,DH CMP DL,BH JNL Q3 JMP Q4 Q3: ADD DL,07H Q4: ADD DL,30H

秋专科 微机原理及应用 电子科技大学在线考试

2017年秋|微机原理及应用|专科 1. 有如下定义VAR1 DB 1,2,3,4,5 VAR2 DB '12345' NUM4 EQU VAR2–VAR1 则 NUM4=()。 (A) 5 (B) 4 (C) 3 (D) 2 分值:2 2. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是()。 (A) BP (B) BX (C) D I (D) CX 分值:2 3. 相对查询传送来说,无条件传送工作可靠。() (A) 正确 (B) 错误 分值:2 4. 指令“CMP AX,CX”和“SUB AX,CX”的实现功能完全一样,可以互相替换。() (A) 正确 (B) 错误

分值:2 5. BUFFER DB 100 DUP(?) ;表示BUFFER为()的存储空间,其内容为随机数,通常 作为程序的工作单元。 (A) 200个字节 (B) 200个字 (C) 100个字 (D) 100个字节 分值:2 6. 用来定义字节变量的伪指令是()。 (A) WORD (B) DWORD (C) B YTE (D) QWORD 分值:2 7. 乘法运算是双操作数运算,但是,在指令中却只指定一个操作数,另一个操作数是隐 含规定的,隐含操作数为()。 (A) AL/AX (B) BL/BX (C) C L/CX (D) DL/DX 分值:2

8. 指令“LOOP Lable ”与“DEC CX JNZ Lable ”的功能是等价的。() (A) 错误 (B) 正确 分值:2 9. 非循环算术移位指令在执行时,实际上是把操作数看成()符号数来进行移位。 (A) 不确定 (B) 带 (C) 都可以 (D) 无 分值:2 10. 计算机存储容量的基本单位:1 B(Byte)=(bits),1TB=GB。 (A) 8,1000G B (B) 8,1000K (C) 8,1024M (D) 8,1024G 分值:2 11. DEC 指令不能影响标志寄存器的()位。 (A) IF (B) SF

电子科大-系统结构实验-解决数据冒险

实 验 报 告 课程名称:计算机系统结构实验学院:计算机科学与工程学院专业:计算机科学与技术 指导教师:好老师 学生姓名:爱学习的小学生 20实验成绩: 日期:2017年5月19日

电子科技大学计算机学院实验中心 电子科技大学 实验报告 一、实验项目名称:解决数据冒险 二、实验室名称:主楼A2-412 实验时间:2017年5月19日 三、实验目的 在给出的流水线代码基础上,增加内部前推数据通路、暂停流水线数据通路和关闭写使能信号的数据通路,解决普通的数据冒险和load数据冒险,通过完成本次实验,更好地理解和掌握解决数据冒险的原理,学以致用,增强编写程序的能力。 四、实验原理 (一)数据冒险的定义 由于流水线上指令重叠执行,改变了原来串行执行的读/写操作数顺序,使得后面依赖前面指令结果的指令得不到准备好的数据,这样的现象叫做数据冒险(数据相关)。 回顾数据冒险的程序例子 I1: add r1,r2,r3 I2: sub r4,r1,r5 I3: and r6,r7,r1 I4: or r8,r1,r9 I5: addi r10,r1,100

I1下面有3条指令不能从寄存器r1读出正确的数据。 (二)数据冒险的解决方案 1、暂停流水线 如上图所示,暂停流水线到最初的指令执行完毕,可以解决数据冒险,但是会涉及到两个问题,即“如何检测出数据冒险”和“如何暂停流水线”。 如何检测数据冒险 a.比较器; I1指令写目的寄存器rd,I2和I3的源操作数是寄存器rs1或rs2中的数据,I2、I3的rs1或rs2与I1的目的寄存器号rd相等时才有可能发生数据冒险。 b.操作码参与检测; 由于指令格式中源寄存器号rs2与立即数部分重叠,而立即数是不会出现冒险的,因此,指令操作码必须要参与检测(区分是寄存器操作数还是立即数)。 c.WREG信号也应参与检测(实际上,WREG也是从操作码中得出的);

复试题-2012秋季微机原理电子科技大学

共4页 第1页 电子科技大学硕士研究生入学考试复试笔试试题 《微机原理与应用》试题 卷(120分钟) 考试形式:闭卷 考试日期: 2012年 9月 日 一、 选择题(每题2分,共30分) 1. 执行两个补码数的减法时,对产生溢出的正确叙述为( )。 A 、结果的最高位有借位则产生溢出 B 、结果的符号位为0则产生溢出 C 、结果的符号位为1则产生溢出 D 、结果与被减数的符号位相反,但与减数的符号位相同,则溢出 2. 计算机系统中软硬件在逻辑上是等效的,提高软件功能实现的比例将会( )。 A 、提高解题速度 B 、提高系统灵活性 C 、提高成本 D 、减少所需存储容量 3. 某微处理器的结构之所以称为超标量结构,是因为该微处理器( )。 A 、不仅能进行32位运算,也能进行64位运算 B 、内部含有多条指令流水线和多个执行部件 C 、数据传输速度很快,每个总线周期最高能传送4个64位数据 D 、芯片内部集成的晶体管数超过100万个,功耗很大 4. RISC 执行程序的速度优于CISC 的主要原因是( )。 A 、RISC 的指令数较少 B 、程序在RIS C 上编译的目标程序较短 C 、RISC 的指令平均周期数较少 D 、RISC 只允许Load/Store 指令访存 5. CPU 访问I/O 设备,实际上是访问( )。 A 、端口 B 、接口 C 、总线 D 、信号线 6. 下面关于总线的叙述中,错误的是( )。 A 、总线位宽指的是总线能同时传送的最大数据位数 B 、总线标准是指总线传送信息时应遵守的一些协议与规范 C 、PCI 总线支持突发成组传送 D 、串行总线带宽小于并行总线的带宽 7. 微码控制器的特点是( )。 A 、指令集设计必须和控制器设计一起同时考虑 B 、控制单元的输入和输出之间的关系被视为一个内存系统 C 、适合简单指令集 D 、逻辑门数目达到最小化的设计 8. 某显示器最高分辨率为1024×768、24位真彩,其所需的最小缓存是( )。 A 、1MB B 、2MB C 、3MB D 、4MB 9. 在某32位总线系统中,若时钟频率为500MHz ,传送一个32位字需要5个时钟周期,则该总线系统的数据传送速率为( )。 ……以……………内……………答……………题……………无……………效…………………考生编号 姓 名 学 院 ……………………密……………封……………线………

微机原理实验报告

汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

电子科技大学微机实验报告(含思考题)河畔下的哈】实验1

实验一 ARM汇编基础实验 1.掌握ARM汇编指令 2.学习掌握C与汇编混合编程基础 3.熟练使用ARM调试工具RVDS进行调试操作 1.熟悉ARM汇编 2.用ARM汇编实现1+2+...+N 3.C调用汇编实验(实现字符串拷贝功能) 4.汇编调用C实验 5.ARM汇编实现冒泡算法(选做) 1. ARM汇编、C语言 2. RVDS工具 硬件:PC 机Pentium100 以上 软件:Windows操作系统,RVDS软件 1.在汇编中使用C定义的全局变量 在汇编和C之间进行一些数据的传递,最简便的办法就是使用全局变量。 在汇编中调用C中定义的全局变量,需要在汇编中IMPORT 对应的全局变量。IMPORT 伪指令用于通知编译器要使用的标号或变量在其他的源文件中定义。 1

例如:汇编文件asmfile.s想调用C文件cfile.c中定义的全局变量a,则在汇编文件asmfile.s 前面要添加: IMPORT a 2.在汇编中调用C的函数 要在汇编中调用C文件中定义的函数,主要做两方面的工作: 首先:需要在汇编中IMPORT 对应的C函数名。 其次:在调用该 C函数之前还需要通过汇编语言传递该函数的 参数。 C和汇编之间的参数传递是通过A TPCS(ARM Thumb Procedure Call Standard)的规定来进行的。简单的说就是如果函数有不多于四个参数,对应的用ARM寄存器R0-R3来进行传递,多于4个时借助栈。函数的返回值通过R0来返回。 3.在C中调用汇编的函数 在C中调用汇编文件中的函数,要做的主要工作有两个: 一:是在C中声明函数原型,并加extern关键字; 二:是在汇编中用EXPORT导出函数名,并用该函数名作为汇 编代码段的标识,最后用mov pc,lr返回。然后,就可以 在C中使用该函数了。 EXPORT伪指令用于在程序中声明一个全局的标号,该标号可在其他的文件中引用。 1、用ARM汇编实现1+2+….n的运算。

电子科技大学计算机网络期末试题

电子科技大学计算机网络期末试题 .单项选择题(10分): 1. 在OSI参考模型中,数据链路层的数据服务单元是( A.帧 B.报文 C.分组 D.比特序列 2. 下列各项中数据单元关系描述错误的是( A. (N+1 ) _PDU W( N) _SDU< (N-1 ) _SDU B.B. ( N+1 ) _PDU< ( N) _PDU< ( N-1 ) _PDU C. (N+1 ) _SDU< (N) _PDU W( N-1 ) _SDU D.D. (N+1 ) _PDU< ( N ) _PCI< ( N-1 ) _PCI 3. 若信道的复用是以信息在一帧中的时间位置(时隙)来区分,不需要另外的 信息头来标志信息的身份,则这种复用方式为( A.异步时分复用 B.频分多路复用 C.同步时分复用 D.码分多路复 4. 下列不属于应用层协议的是( A.UD P B. SNMP C. TELNET D. HTT P 5. 下列叙述错误的是( A.路由器可以分割冲突域 B.路由器和网桥均能扩展工作站平均带宽 C.网桥可以分割广播域 D.共享式集线器一个端口只能支持一个MAC 地址 二.填空题(24分): 1. 计算机网络的两大基本功能是 2. 计算机网络从逻辑上划分为 3. 网络协议三要素分别为: 4. 计算机网络中常用的信道分为两大类,其中有线信道所用的传输介质主要是 ,另一类无线信道包括

5. 调制解调器把 为调制,而把 称为解调。 6」Pv6 对IPv4的改进主要在 7.在OSI模型中,端到端的四层是: 三.简答题(20分): 1.请按照TCP/IP参考模型简述该模型的层次结构及各层的基本功能。 2.简述无连接服务和面向连接服务及其优缺点。

电子科大微机原理期末考试

电子科技大学二零零四至二零零五学年第二学期 《微机系统原理与接口技术》课程考试题 一、填空题(每空1分,共15分) 1.PC/XT微机开机后,第一条执行的指令存放地址为()。 2.当运算结果为0时,状态标志ZF的值为()。 3.8086的INTR端输入一个()电平时,可屏蔽中断获得了中断请求。 4.32位逻辑地址5890H:3200H表示的实际地址值是()。 5.若CPU的地址总线宽度为N ,则可寻址()个存储器单元。 6.ISA总线的AEN信号线为低电平时,表示由()控制地址总线和读/写命令线。7.8086从I/O端口地址20H输入字节数据的指令是()。 8.当INT 21H中断的功能号为02H时,它的入口参数送寄存器()。 9.响应可屏蔽中断INTR的条件是控制标志IF=()。 10. 若8086的外部中断INTR、NMI同时有中断请求,应先响应()。11.PC系统中,在可屏蔽中断的第()个INTA响应周期传送中断类型码。12.串行通信协议分为串行异步通信协议和()。 13.二片可编程中断控制器8259主从连接时最多可供()个中断源。14.DAC0832有三种工作方式,即直通方式、()方式和双缓冲方式。15.在串行异步通信时,发送端和接收端的波特率设置应()。 二、单选题(每题1分,共15分) 1.计算机中数据总线驱动电路使用的基本逻辑单元是()。 A:非门B:三态门C:触发器D:译码器 2.MIPS用来描述计算机的运算速度,含义是()。 A:每秒处理百万个字符B:每分钟处理百万个字符 C:每秒执行百万条指令D:每分钟执行百万条指令 3.执行指令IRET后弹出堆栈的寄存器先后顺序为()。 A:CS、IP、F B:IP、CS、F C:F、CS、IP D:F、IP、CS 4.微机系统中,主机与硬盘的数据交换用()方式。 A:中断控制B:DMA控制C:查询控制D:无条件程序控制5.CPU对存储器访问时,地址线和数据线的有效时间关系为()。 A:同时有效B:地址线先有效C:数据线先有效D:同时无效6.8086CPU有()个16位的段寄存器。 A:2 B:4 C:8 D:16 7.两个组合十进制数86、37相加,调整指令DAA完成的是()。 A:加00H调整B:加06H调整C:加60H调整D:加66H调整8.定义过程结束的伪指令符是()。

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

电子科技大学微嵌实验最新版

电子科技大学微嵌实验最新版

电子科技大学 实验报告 修正了M00和旧版答案的错误,代码使用Keil uVision5 均已调试通过。课程名称微处理器系统结构与嵌入式系统设计_____________________ 实验名称ARM基础编程实验_____________________________________ 任课教师________ 实验教师 ________ 姓名 ______ 学号__________ 实验地点分组号时间年月日、实验目的 1.熟悉并掌握常用ARM匚编指令 2.熟悉并掌握C+汇编混合编程技术 3.熟练使用ARM软件开发调试工具Keil _、实验内容 1.学习使用Keil开发工具 2.使用ARM匚编语言,编程头现1+2+ ...... +N累加运算功冃匕 3.使用C调用汇编函数,实现字符串拷贝功能 4.使用汇编调用C函数,实现求和运算功能 5.使用ARM匚编语言,实现冒泡排序算法(选做) 三、实验步骤

1.实验1.1 :运行Keil ,建立工程文件,单步运行调试演示示例程 序,深刻理解每一条指令,观察寄存器,内存空间的变化。 2.实验1.2 :用汇编语言实现1+2+...+N的累加: a)建立新工程,加入实验1.2文件夹中的sum.s。 b)用汇编补充算法核心部分,代码参考流程图如下图 1.1所示。 c)使用单步调试,仔细观察过程中关键寄存器值的变化。 R0暂存累加和 图 3.实验1.3 : C调用汇编实现字符串拷贝功能: a)建立新工程,加入实验1.3文件夹中的ma in .c和 testfile.s(同一个工程下添加两个文件一起编 译)。 b)补充完成源代码中缺失的部分,分别实现 1.拷贝源字符串的一个字节到R2中; 2.将拷贝的字节复制到目标空间。 c)运行Debug进行调试。 4.实验1.4 :汇编调用C实现求和1+2+...+10 : a)建立新工程,加入实验1.4文件夹中的sum.c和 testfile.s(同一个工程下添加两个文件一起编 译)。 b)补充完成源代 码中缺失的部分,通过调用c函数 g()实现1+2+3+glovb1,结果存在R8中。 c)运行Debug进行调试

电子科技大学微机原理大题(含答案)

目录 第一章概述 (4) 阐述摩尔定律,它有什么限制? (4) 什么是Soc?什么是IP核?它有哪几种实现形式? (4) 什么是嵌入式系统?它有哪些特点? (4) 第二章计算机系统的结构组成与工作原理 (5) 说明RISC架构与CISC架构之间的区别 (5) 举例说明计算机体系结构、组成和实现之间的关系 (5) 试说明现代计算机系统中常用的并行技术及其效果? (5) 某时钟频率为1.25GHz、平均CPI为5的非流水线式处理器,其升级版本引入了6 级流水线,但因存在诸如锁存延迟等流水线内部延迟,升级版处理器的时钟频率必 须降到1GHz。 (5) 简述冯.诺依曼体系结构的核心,并分析冯.诺依曼计算机存在的瓶颈? (6) 简述冯.诺依曼计算机的实质 (6) 第三章微处理器体系结构及关键技术 (6) 试比较计算机各体系结构的优缺点 (6) 常见的流水线冒险包括哪几种?如何解决? (7) 试比较随机逻辑和微码体系结构的优缺点 (7) 什么是微码体系结构?微指令的作用是什么? (7) 第四章总线技术与总线标准 (7) 比较串、并行通信的特点,为什么现代计算机中有总线串行化的趋势? (7) 试比较同步、半同步、异步总线时序的优缺点 (8) RAM与CPU的连接有哪几类信号线?简述电路设计时需要考虑的几个问题? (8) 计算机系统的总线仲裁有哪几种类型?请简述串行总线仲裁。 (8) 什么是总线?微机中三总线是指?微机系统采用总线的好处是? (8) 第五章存储器系统 (9) 简述Cache-主存层次与主存-辅存层次的不同点。 (9) 什么是高速缓存技术和虚拟存储器技术?采用它们的目的是什么? (9) 什么是虚拟地址?试简述虚拟存储器的基本工作原理。 (9) 什么是存储器访问的局部性原理?它有哪几种含义? (9) 试为某8位计算机系统设计一个具有8KB ROM和40KB RAM的存储器。要求ROM 用EPROM芯片2732组成,从0000H地址开始;RAM用SRAM芯片6264组成,从 4000H地址开始。 (10) 为某模块设计端口地址译码电路,已知该模块的端口数为64,端口地址占用从 1130H开始的连续地址段。试给出分析过程及简单的硬件连接示意图。 (10) 简述计算机的存储器分层体系结构,并说明分层原因及各层次的主要特点 (10) DRAM为何要刷新?如何刷新? (11) 设某系统地址总线宽度为20位,数据总线宽度为8位。现采用8Kx4芯片实现32KB 存储器,要求其地址空间连续,且该扩展存储器的地址从0B0000H开始。(1)需 要多少片芯片?分几组?(2)片内地址线需要多少位?应该用哪种片选方式?多 少位高位地址线?以表格方式描述每组芯片的地址范围。(3)画出系统硬件连接图。 (11)

电子科技大学 C语言第一次上机实验报告

电子科技大学学院 标准实验报告(实验)课程名称高级语言程序设计实验

电子科技大学 实验报告 实验时间:10月12日晚 一、实验室名称:校公共机房 二、实验项目名称:顺序和分支程序设计 三、实验学时:4学时 四、实验原理: 使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。通过上机练习掌握在C编译器中编辑、编译、连接、和运行C程序的方法和过程。 五、实验目的: 1.熟悉C程序开发环境,熟悉C程序的编辑、编译、连接和运行的过程。 2.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型、指针型 变量,以及对它们赋值的方法。 3.掌握C语言的各种运算符,以及这些运算符的混合使用。 4.掌握简单顺序程序设计方法。 5.学会使用scanf和printf函数。 6.掌握分支结构各种语句的一般功能和执行过程,会使用分支结构编程。 六、实验内容: 上机完成以下编程实验,调试运行程序并完成报告。 1.编写一个C程序,输入三个整数,计算三个整数的和,并将结果输出。 2.编写一个C程序,输入一个字符,找到这个字符前后各隔一个字符的字符。 例如,输入‘d’,显示:‘b’和‘f’。 3.习题2.22(p91)

4.习题2.23(p91) 5.习题3.3(p134) 6.输入一个两位数,输出对应的英文单词。 七、实验器材(设备、元器件): 硬件要求:普通pc机,1G内存,100G硬盘空间即可。软件要求:Windows 7,包括C编译器的IDE。 八、实验步骤、实验编程与运行结果: 1.程序文件名为ex1_1,源程序清单如下: #include int main() { int a,b,c,d; scanf("%d %d %d",&a,&b,&c); d=a+b+c; printf("%d",d); } 典型测试数据(输入): 25 26 27 应输出(上机前自己分析的结果):78 上机时遇到的问题:wu 实际运行结果:78 2.程序文件名为ex1_2,源程序清单如下: #include void main() { int x,y,z; scanf("%c",&x); y=x+2; z=x-2;

电子科技大学《微机原理》指定教材课后参考答案

“微机系统原理与接口技术”第七章习题解答(部分) 1.8086系统采用向量式中断,试简述8086系统中中断类型码、中断向量、中断向量表的含义及其之间的关系。 答: 中断类型码:用于区分不同的中断源,即系统中每个中断源都应该对应一个唯一的类型码。8086系统中的中断类型码以8位无符号数(00H~0FFH)表示,一共可以区分256个不同的中断源。 中断向量:中断服务程序(ISR)的入口地址,也就是ISR的第一条指令在存储器中的位置。8086系统中的中断向量由两个字(4个字节)组成,低位字表示入口的偏移地址,高位字表示入口的段基址。显然,每个中断类型码对应一个中断向量,则8086系统中共应有256个中断向量。 中断向量表:中断向量的存放地。8086系统将最低的1KB(00000H~003FFH)RAM 空间用于存放这256个中断向量。 三者之间的关系是:利用中断类型码n可以很容易地从中断向量表中找到该中断源所对应的中断向量,即:中断向量存放的起始地址m =n×4,从中断向量表的m地址单元开始连续取出的四个字节就是n号中断的ISR入口地址。8086CPU正是用这种方法完成中断索引的。 2.判断下列说法是否正确,如有错,指出错误原因并改正: (1)优先级别高的中断总是先响应、先处理。 (2)8086系统中,中断向量表存放在ROM地址最高端。 (3)PC系统中的主机总是通过中断方式获得从键盘输入的信息。 (4)80486系统和8086系统一样,将中断分为可屏蔽中断和不可屏蔽中断两种。 (5)IBM PC/XT中,RAM奇偶校验错误会引起类型码为2的NMI中断。 答: (1)可以算对。不过这个题说法本身就不太明确,应该是:“一个系统中有多个中断源同时提出中断请求时,优先级别高的中断总是先响应、先处理。” (2)错。应该是:“8086系统中,中断向量表存放在RAM地址最低端。” (3)对。 (4)错。应该是:“8086系统将中断分为内(软)中断和外(硬)中断两大类,而80486系统将广义中断分为异常和狭义中断两大类。” (5)对。 4. 8086系统的RAM存储单元中,从0000H:002CH开始依次存放23H、0FFH、00H和0F0H 4个字节的中断向量,该向量对应的中断类型码是多少?而中断类型码为14H的中断向量应存放在哪些存储单元中? 答:中断向量0F000:0FF23存放在0002CH双字单元中,说明其对应的中断类型码N=2CH÷4=0BH。 14H号中断向量的起始存放地址为4×14H=00050H,即该中断向量的偏移量部分存放在0050H和0051H单元中,段基址部分存放在0052H和0053H单元中。 5. 以下是PC机为某外设中断源装载中断服务子程序的代码,请问该外中断的类型码是

四川大学微机原理实验报告..

微机原理实验报告 学院: 专业班级: 姓名 学号

实验一汇编语言编程基础 1.3汇编语言程序上机操作和调试训练 一.功能说明 运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。 运用MASM﹒EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ文件。 运用LINK.EXE文件进行连接,形成*.EXE文件。 仔细阅读和体会DEBUG调试方法,掌握各种命令的使用方法。 运用DEBUG。EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。 再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正。 二.程序流程图 设置被除数、商的地址指针 设置单位除法次数计数器 取被除数一位作十进制调整 作字节除法、存商 N 被除数各位已除完? Y 显示运算结果 结束 三.程序代码 修改后的程序代码如下: DATA SEGMENT A D B 9,6,8,7,5 B DB 5 C DB 5 DUP (0) N EQU 5 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX

MOV ES,AX CLD LEA SI,A LEA DI,C MOV CX,N MOV AH,0 LP1: LODSB AAD DIV B STOSB LOOP LP1 MOV CX,N LEA DI,C LP2: MOV DL,[DI] ADD DL,30H MOV AH,2 INT 21H INC DI LOOP LP2 MOV AH,4CH INT 21H CODE ENDS END START 四.实验感想和收获 通过这次试验,我对微机原理上级试验环境有了初步的认识,可以较为熟练地对汇编语言进行编译,汇编及连接,同时也学会了用DEBUG调试程序,收获很大。 在这次试验中我也遇到了一些困难。在刚开始我发现自己无法打开MASM.EXE,计算机提示是由于版本不兼容。我这才想起来我的操作系统是64位的,和该软件版本不兼容。不过我并没有放弃,经过我的摸索之后,我发现用DOSBOX这个程序可以解决我的电脑运行不了该程序的问题。在解决了第一个难题后,我开始着手改正试验1.3中的语法错误和逻辑错误,但是无论我怎么修改却始终都无法通过编译,并且基本上每句话都有编译错误。根据我多年编程的经验来看,这应该是中文输入法在搞鬼,之后我耐心地把程序重新输了一遍,果然通过了编译,并且之后的连接也进行的很顺利。在用DEBUG调试时发现得出的结果也很正确。 尽管这次的实验内容非常简单,仅仅是教会我们一些基本的操作,但我却明显感觉到了汇编语言和C语言等高级语言所不同的地方。越是底层,基础的东西就越不人性化,用C语言一行代码就能实验的功能在汇编语言中可能要花上数十行。看来汇编语言的学习不是几周就能速成的,必须要有长年累月的积淀才能掌握。

计算机组成原理实验报告 电子科技大学

计算机专业类课程 实 验 报 告 课程名称:计算机组成原理 学院专业:计算机科学与工程计算机科学与技术学生姓名:** 学号:20120600***** 指导教师:吴晓华 日期:2014年11月30日

实验报告 实验一 一、实验名称: ALU设计实验 二、实验内容和目的: (1)实验内容: 设计一个4bit ALU,实现两个4bit二进制数的算术运算和逻辑运算 1、算术运算(加、减); 2、逻辑运算(与、或、置1、清0); (2)实验目的: 1.熟悉ALU的工作原理;

2. 掌握用硬件描述语言设计ALU的方法; 三、实验原理: 利用veilog hdl语言编写实现实验要求的逻辑功能实现代码。要求实现两个四位二进制数的算数运算和逻辑运算,有三个输入,分别是输入的两个四位二进制数和一个控制信号,有两个输出,分别是仅为信号和运算结果的输出。考虑到是电路的逻辑代码设计简化,

采用case语句来实现。所有的输入都会对最终的结果和进位输出产生影响。在连线时,八个开关分为两组,分别控制两个四位二进制数的各位,有五个指示灯,四个显示结果的输出,一个用来显示进位信号。 四、实验器材(设备、元器件) 硬件平台:pc 软件平台:windows xp 五、实验步骤: 先利用仿真软件进行程序的编写,编译调试运行,结果无误后,在仿真软件上绑定对应开关和连线,打开电路板电源,进行控制操作,观察指示灯的亮灭情况,根据实际的逻辑结果来验证实验代码及连线的正确性,若与实际结果不相符,检查连线以及实验代码,重新进行处理。

六、实验数据及结果分析:(1)实验代码: module pz(in1,in2,se,count,c); input[3:0] in1,in2; input[2:0] se; output[3:0] count; output c; reg[3:0] count; reg c; always@(in1,in2,se) begin case(se) 3'b000:{c,count}=in1+in2; 3'b001:{c,count}=in1-in2; 3'b010:count=in1 & in2; 3'b011:count=in1 | in2; 3'b100:count=0000; 3'b101:count=1111; default:count=5'bx; endcase end

电子科技大学微机原理2012-2013期末A卷及答案

电子科技大学2012-2013学年第 1 学期期 末 考试 A 卷 课程名称:微处理器系统结构与嵌入式系统设计 考试形式:一本书开卷 考试日期:2013年1月16日 考试时长:120分钟 平行班课程成绩构成:平时 10 %, 期中 15 %, 实验 15 %, 期末 60 % 英才班课程成绩构成:平时 30 %, 期中 0 %, 实验 20 %, 期末 50 % 本试卷试题由 3 部分构成,共 4 页。 注意:请将第一、二题答案填入指定位置。 一、单选题答案(共30分,共30空,每空1分) 二、填空题答案(共28分,共28空,每空1分) 1. ① 存储器 ② I/O 端口 (可交换顺序) 2. ① 一条机器指令由一段微程序来解释执行 3. ① 指令 ② 总线 4. ① IRQ ② FIQ (可交换顺序) 5. ① 1.78 ② 44.94 ③ 2.88 6. ① 1100 0011 0000 1010 ② 1010 0010 1001 1010 ③ 1 ④ 1 ⑤ 1 ⑥ 0 (说明:该题评阅时按上述答案给分,但实际ARM 是32位CPU ,基本没有同学考虑到) 7. ① 非流水线执行时间相对流水线执行时间之比 8. ① 一段时间内,计算机工作时所需的指令和数据总是集中存放在临近地址的存储单元 9. ① 复位 ② 电源 ③ 时钟 ④ 存储系统 ⑤ 调试接口 (可交换顺序) 10. ① 异常 (或中断) 11. ① BIC ② ORR 12. ① =ULCON0(或=0x50000000) ② #0x2B (或#0xAB )

一、单选题(共30分,共30空,每空1分) 1.以下常用总线标准中,不属于片内总线的是()。 A、Core Connect B、AMBA C、Avalon D、SATA 2.计算机系统中,以下不属于“异常”的是()。 A、系统复位 B、软件中断 C、未定义指令陷阱 D、函数调用 3.一般地,微机接口电路一定是()。 A.可编程的B.可寻址的C.可中断的D.可定时的 4.某减法定时/计数器的输入时钟周期为Ti,若计数初值为N,则定时时间为()。 A、1/(Ti*N) B、Ti/N C、N/Ti D、N*Ti 5.一般来说,CPU处于()状态时功耗最低。 A、正常工作 B、暂停 C、中断 D、时钟停止 6.遵循“程序存储与控制原理”的计算机属于(①)机。按其思想,计算机将要执行的程序(包括代码和数据)应 安排在计算机的(②)部件中。 ①A、冯.诺依曼B、向量C、规约D、数据流 ②A、硬盘B、内存C、寄存器D、端口 7.某微处理器的结构之所以称为超标量结构,是因为该微处理器()。 A、不仅能进行32位运算,也能进行64位运算 B、内部含有多条指令流水线和多个执行部件 C、数据传输速度很快,每个总线周期最高能传送4个64位数据 D、芯片内部集成的晶体管数超过100万个,功耗很大 8.总线上多个主设备同时发送信息导致的工作异常一般称为()。 A、总线冲突 B、总线仲裁 C、总线请求 D、总线握手 9.总线是一种(①),由系统中各部件所共享,在(②)的控制下完成与(③)的信息传送。 A、公共信号通道 B、专用地信号连线 C、主设备 D、中断源 E、从设备 F、信号源 10.在采用查询方式的输入输出接口中,状态寄存器一般用来存放(①),其中信息则通过系统(②)传送给CPU。 ①A、CPU给外设的命令B、外设给CPU的命令C、外设的工作状态D、CPU的工作状态 ②A、控制总线B、数据总线C、地址总线D、专用总线 11.下图所示半导体存储芯片的容量为(①)bits。若用其构建容量为32K*16的存储体,共需(②)片,并应分成(③)组。 ①A、2K*4 B、2K*8 C、8K*4 D、8K*8 ②A、2 B、4 C、8 D、16 ③A、1 B、2 C、4 D、8 12.SoC设计技术中,以版图形式提交、灵活性差、但可靠性高的IP核是()。 A、硬核 B、固核 C、软核 D、以上都不对 13.计算机系统中,一个外设的接口至少应具备一个(①)端口,最多可以有(②)个端口。 ①A、数据B、状态C、控制D、其他 ②A、3 B、4 C、8 D、不定 14.RISC执行程序的速度优于CISC的主要原因是( )。 A、程序在RISC上编译的目标程序较短 B、RISC的指令数较少 C、RISC的指令平均周期数较少 D、RISC的指令编码不等长 15.以下所列提高微机系统性能的技术,说法不正确的是()。 A、提高主机时钟频率后加快了指令执行速度。 B、采用流水线结构后每条指令的执行时间明显缩短。 C、增加Cache存储器后CPU与内存交换数据的速度得到提高。 D、引入虚拟存储技术后扩大了用户可用内存空间。 16.ARM处理器比较无符号数大小时是根据()标志位来判断的。 A、C和N B、C和V C、C和Z D、Z和V 17.以下ARM指令中,()的源操作数采用了立即数寻址方式。 A、MOV R0,#2 B、LDR R0,[R1] C、BL SUB1 D、ADD R0,R1,R2,LSL #1 18.在CPU内部,通常()用于存放将要执行的指令代码。 A、PC寄存器 B、SP寄存器 C. 指令寄存器 D. 指令译码器 19.两个同符号补码数相加时,对产生“溢出”的正确叙述为()。 A、和的符号位与加数相反 B、结果的符号位为1 C、结果的最高位有进位 D、结果的符号位为0 20.在计算机系统三总线结构中,用于产生存储器和外设片选信号的是()。 A、地址总线 B、数据总线 C、控制总线 D、以上都不对

相关主题
文本预览
相关文档 最新文档