当前位置:文档之家› 微机原理与接口技术实验报告 西安邮电

微机原理与接口技术实验报告 西安邮电

微机原理与接口技术实验报告 西安邮电
微机原理与接口技术实验报告 西安邮电

西安邮电大学

(计算机学院)

微机原理与接口技术实验报告实验名称:寻址方式与基本指令实验

专业名称:

班级:

学生姓名:

学号:

指导教师:

实验日期:2017年10月31日

寻址方式与基本指令实验

1、实验目的

1.1、熟悉80x86寻址方式及基本指令的功能,进一步理解和巩固课堂学习内容。

1.2、掌握汇编语言程序设计上机过程, 掌握汇编语言源程序结构,为后续汇编语言程序设计打好基础。

1.3、熟悉Microsoft的DEBUG或Borland的Turbo DEBUG调试工具的使用方法

2 、实验预习要求

2.1、认真阅读本书第一部分第1章,熟悉汇编语言程序设计上机步骤。

2.2、认真阅读本书第三部分,熟悉DEBUG调试工具的使用方法。

2.3、复习80x86操作数寻址方式及基本指令(数据传送、算术运算和逻辑运算等)。

2.4、了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际运行环境的问题除外),以便在实验时进行验证。

3、实验内容

3.1、读懂下列源程序,使用EDIT生成名为EX11.ASM的源程序,汇编生成EX11.OBJ文件和EX11.LST文件,连接生成EX11.EXE文件;用EDIT打开EX11.LST 文件,了解.LST文件包含的信息;使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值的变化,并回答下列问题。

(1)程序装入后,代码段寄存器CS的内容为____0913__H,代码段第一条可执行指令MOV AX, DATA对应的机器代码为__B81209__H,它是一个

__3__字节指令,注意观察执行该指令时IP值的变化情况,该指令源操

作数DATA的寻址方式是__立即数寻址__,其值为__0912H__。

(2)执行完MOV DS, DATA指令后,数据段寄存器DS的内容为_0912__H,源程序在数据段中定义的数据82H、68H和88H被装入的存储单元的物理

地址分别为_09120_H、_09121__H和__09122__H。

(3)程序中第一条ADD AL, [BX] 指令对应的机器代码为___0207__H,它是一个___2__字节指令,注意观察执行该指令时IP值的变化情况;该

指令中源操作数的寻址方式为___寄存器间接寻址___,该操作数所在存

储单元的逻辑地址(DS): (BX)为_ 0912:0001___,其物理地址为

__09121___H;执行完该指令后(AL)=___EA___H,CF=___0__,OF_=__0_,ZF=__0__,SF=1,AF=0,PF=0;若两操作数为无符号数,计算结果是否

正确__是__?若两操作数为带符号数,计算结果是否正确__是__?若计

算结果正确,结果是正数还是负数___负___?

(4)执行完第二条ADD AL, [BX] 指令后(AL)=__72__H,CF=__1__,OF=__1_,ZF=_0___,SF=_0__,AF=_1__,PF=_1__;若两操作数为无符

号数,计算结果是否正确__否___?若两操作数为带符号数,计算结果是

否正确___否_____?

3.2、指令MOV SUM, AL中目的操作数的寻址方式为___寄存器寻址____。该指令执行完后,注意观察(DS):0003H单元中值的变化,该单元的值变为_72__H。

DATA SEGMENT

NUM DB 82H, 68H, 88H

SUM DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DATA

MOV DS, AX

MOV BX, OFFSET NUM

MOV AL, [BX]

INC BX

ADD AL, [BX]

INC BX

ADD AL, [BX]

MOV SUM, AL

MOV AH, 4CH

INT 21H

CODE ENDS

END START

(2)读懂下列源程序,编辑、汇编、连接生成EX12.ASM、EX12.OBJ、EX12.LST、EX12.EXE文件使用DEBUG单步调试EX12.EXE文件,并回答一下问题。

①代码的前三段指令“MOV AX, STACK”、“ MOV SS, AX”和“ MOV SP, LENGTH STL”的功能为堆栈初始化,试问执行完这三条指令后,堆栈栈底所在单元的逻辑地址(SS): (SP)为0912:0100 ;执行“PUSH AX”指令后,堆栈指针寄存器(SP)=00FEH,此时(SS): (SP+1)和(SS): (SP)单元的值为 0AH和5B H;执行完“PUSH BX”后,(SP)= 00FC H;此时(SS): (SP+1)和(SS): (SP)单元的值为 4CH和A3 H;执行完“POP AX”后,(SP)= 00FEH;执行完“POP BX”后,(SP)= 0100 H,此时(AX)=4CA3 H,(BX)= 5B0A H。请读者通过对堆栈操作指令执行情况的观察,进一步掌握进、出栈操作过程。

②执行“ADD AX, BX”指令后,(AX)=A7AD H,CF=0 ,OF= 1,ZF=0 ,SF=1,AF=0 ,PF=0,(注意考虑PF值与计算结果高8位有无关系);若两操作数为无符号数,计算结果是否正确正确?若两操作数为带符号数,计算结果是否正确不正确?

③执行“AND AX, BX”指令后,(AX)=4802H,CF=0 ,OF= 0,ZF=0 ,SF=0,AF=0 ,PF=0.

STACK SEGMENT stack

STL DW 100H DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE, SS:STACK

START: MOV AX, STACK

MOV SS, AX

MOV SP, LENGTH STL

;表达式“LENGTH STL ”的功能为计算STL中定义的变量的个数

;汇编后其值为100H

MOV AX, 0101101100001010B

MOV BX, 0100110010100011B

PUSH AX

PUSH BX

ADD AX, BX

POP AX

POP BX

AND AX, BX

MOV AH, 4CH

INT 21H

CODE ENDS

END START

(3)指出下列指令的错误原因,上机运行,观察汇编程序(MASM.EXE)给出的出错信息,改正后上机验证。

①MOV BP, BL ②MOV [BX], [BP]

③MOV [BX], 20H ④INC [SI]

⑤ADD AX,[SI+DI] ⑥SHL AX, 3

⑦PUSH 2000H ⑧POP AL

⑨MOV CS, AX ⑩MOV DS,1000H

答:

①出错信息:warning A4031:Operand types must match

错误原因:操作数类型不匹配, BP 是一个16位寄存器,而BL是一个8位寄存器。改正后:MOV BP, BX ;

②出错信息:error A2052:Improper operand type

错误原因:源操作数和目的操作数不能同时为存储器。

改正后:MOV AX, [BP] MOV [BX], AX ;

③出错信息:error: A2035:Operand must have size

错误原因:源操作数长度不明确

④出错信息:error: A2035:Operand must have size

错误原因:操作数的长度未指定

⑤出错信息:error: A2047:Multiple index registers

错误原因:同时使用了多个变址寄存器

⑥出错信息:error A2052:Improper operand type

错误原因:循环次数大于1应该间接移位

⑦出错信息:error A2056:Immediate mode illegal

错误原因:不能对立即数进行栈操作

⑧出错信息:error A2058:Byte register illegal

错误原因:要求用字寄存器而使用了字节寄存器

⑨出错信息:error A2059:Illegal use of CS register

错误原因:CS不能作为目的操作数

⑩出错信息:error A2056:Immediate mode illegal

错误原因:立即数不能送入数据段

4、实验总结

这是第一次上机实验,并不知道具体怎样做,通过老师讲的知识和操作,理解和巩固了课堂学习内容,基本掌握了汇编语言程序设计上机过程和汇编语言源程序结构,为以后汇编语言程序设计打好基础。初步掌握了调试工具的使用方法。

西安邮电大学

(计算机学院)

微机原理与接口技术实验报告实验名称:字符及字符串输入输出与顺序程序设计

专业名称:

班级:

学生姓名:

学号:

指导教师:

实验日期:2017年11月14日

字符及字符串输入输出与顺序程序设计

1、实验目的

1.1、学习和掌握字符及字符串的输入输出方法。

1.2、掌握顺序程序设计方法。

1.3、进一步掌握调试工具的使用方法。

2、实验内容

从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。

2.1、问题分析

比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H 和36H。由于数字09的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD 指令对它们进行相加后结果为0EH(00001110B),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个非压缩型BCD数01H 和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来。综上所述,需要考虑以下问题。

(1)从键盘输入一个一位十进制数的方法

通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下:

MOV AH, 01H

INT 21H ;此时程序等待用户键入,键入字符的ASCII码值存在AL中

SUB AL, 30H ;减去30H后得到键入数字所代表的数值(2)提示信息字符串的显示

通过功能号为9的DOS功能调用实现字符串显示,注意字符串的最后一个字符必需为‘$’。指令格式如下:

MOV DX, OFFSET INFOR1 ;INFOR1为在数据段中定义的要显示的字符串

MOV AH, 09H

INT 21H

(3)非压缩型BCD数加法调整指令的使用

设从键盘输入的数值已存放在寄存器AL, BL中,可用下列程序完成数据相加和调整操作:

XOR AH,AH

ADD AL, BL

AAA ;执行该指令后,AH中为和的十位上的数字,AL中为个位上的数字

请读者考虑,为什么要使用指令“XOR AH,AH”,不用行否?

(4)计算结果的显示

执行完AAA指令后,只需分别将AH(十位上的数值)和AL(个位上的

数值)加上30H,并依次调用功能号为2的DOS功能调用来显示字符。

2.2、原程序框架

DATA SEGMENT

INFOR1 DB”PLEASE INPUT THE FIRST DATA(<10):$”

INFOR2 DB 0AH,0DH,”PLEASE INPUT THE SECOND DATA(<10):$”

INFOR3 DB 0AH,0DH,”THE RESULT IS:$”

;0DH和0AH分别为非显示字符回车和换行的ASCII码值,

;美元符号”$”为字符串结束标志,不能省略。

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

SUB AL,30H

POP AX

PUSH AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

2.3、程序调试

源程序编写完成后,先静态检查,无误后,对源程序进行汇编和连接,生成可执行文件。在DOS命令提示符下运行该程序,分析运行结果是否正确。若结果不正确,使用DEBUG对其进行调试。

2.4、源代码

1)、源程序框架补全源代码

ASSUME CS:CODE, DS:DATA

DATA SEGMENT

INFOR1 DB "PLEASE INPUT THE FIRST DATA(<10):$"

INFOR2 DB 0AH, 0DH, "PLEASE INPUT THE SECOND DATA(<10):$"

INFOR3 DB 0AH, 0DH, "THE RESULT IS:$"

DATA ENDS

CODE SEGMENT

START: MOV AX, DATA

MOV DS, AX

LEA DX, INFOR1 ;获取第一个数

MOV AH, 09H

INT 21H

MOV AH, 01H

INT 21H

SUB AL, 30H

MOV BL, AL

LEA DX, INFOR2 ;获取第二个数

MOV AH, 09H

INT 21H

MOV AH, 01H

INT 21H

SUB AL, 30H

MOV AH, 0 ;计算结果

ADD AL, BL

AAA

PUSH AX ;显示结果

LEA DX, INFOR3

MOV AH, 09H

INT 21H

POP AX

PUSH AX

MOV DL, AH

OR DL, 30H

MOV AH, 02H

INT 21H

POP AX

MOV DL, AL

OR DL, 30H

MOV AH, 02H

INT 21H

MOV AH, 4CH ;返回DOS

INT 21H

CODE ENDS

END START

选做题:从键盘输入两个一位十进制数,计算这两个数之积,并将结果在屏幕上显示出来。

ASSUME CS:CODE, DS:DATA

DATA SEGMENT

INFOR1 DB "PLEASE INPUT THE FIRST DATA(<10):$"

INFOR2 DB 0AH, 0DH, "PLEASE INPUT THE SECOND DATA(<10):$"

INFOR3 DB 0AH, 0DH, "THE RESULT IS:$"

DATA ENDS

CODE SEGMENT

START: MOV AX, DATA

MOV DS, AX

LEA DX, INFOR1 ;获取第一个数

MOV AH, 09H

INT 21H

MOV AH, 01H

INT 21H

SUB AL, 30H

MOV BL, AL

LEA DX, INFOR2 ;获取第二个数

MOV AH, 09H

INT 21H

MOV AH, 01H

INT 21H

SUB AL, 30H

MOV AH, 0 ;计算结果

MUL BL

AAM

PUSH AX ;显示结果

LEA DX, INFOR3

MOV AH, 09H

INT 21H

POP AX

PUSH AX

MOV DL, AH

OR DL, 30H

MOV AH, 02H

INT 21H

POP AX

MOV DL, AL

OR DL, 30H

MOV AH, 02H

INT 21H

MOV AH, 4CH ;返回DOS

INT 21H

CODE ENDS

END START

设A,B,C,D为四个压缩型BCD数,它们被存放在内存DBCD开始的4个存储

单元中,计算A+B+C+D,并将结果在屏幕上显示出来(注意压缩型BCD数的表示方法:十进制数38表示成压缩型BCD数时应写成38H)。程序编写完成并运行正确后,打开源程序,改变A,B,C,D的内容,然后重新进行汇编、连接并运行程序,检查程序运行结果与手工计算结果是否相符。下面给出几组实验用数据: (1) A=11, B=23, C=25, D=31 (2) A=10, B=20, C=30, D=40 (3) A=45, B=45, C=45, C=45 (4) A=88, B=99, C=77, D=66

(注意压缩型BCD数的表示方法:十进制数38表示成压缩型BCD数时应写成38H)2、从键盘输入两个一位十进制数,计算这两个数之积,并将结果在屏幕上显示出来。

3、从键盘输入0—9中任意一个自然数,将其平方值在屏幕上显示(使用查表法实现)。

3、实验结果

两个一位十进制数之和程序运行结果

2、求两个一位十进制数的积

1) 部分反汇编结果

输入第一个数8后, AL=38H

输入第二个数6后,AL = 36H

乘法指令执行后,AL=30H

乘法调整后,AX=0408

6*8=48,与实际计算结果一致

最终结果图

3、实验总结

通过本次实验,我学习并掌握了字符及字符串的输入输出以及顺序相关知识。虽然中途错误百出,但最终还是完成了任务要求。语言还是需要不断练习才能掌握的东西,实践比理论更为重要。对于汇编语言程序的基本结构我已经有了更深的理解。

西安邮电大学

(计算机学院)

微机原理与接口技术实验报告实验名称:宏指令及子程序实验

专业名称:

班级:

学生姓名:

学号:

指导教师:

实验日期:2017年11月21日

1、实验目的:

1.1、掌握分支程序的设计方法。

1.2、掌握宏定义及宏调用的基本方法。

1.3、了解小写和大写字母的ASCII码表示及其转换方法。了解数字及其

它字符在的ASCII码表示方法。

1.4、进一步掌握调试工具的使用方法

2、实验预习要求:

2.1、复习比较指令、条件转移指令的用法。

2.2、复习宏定义及宏调用的基本方法。

2.3、根据“2.

3.3 实验内容”中给出的流程图和程序框架编写源程序,

以便上机调试。

2.4、程序框架中显示提示信息的指令序列用宏调用实现。

2.5、从“2.

3.4 实验习题”中任选一道题目,编写源程序,以便上机调试。

3、实验内容:

问题:从键盘输入一字符,判断该字符是小写字母、大写字母、数字或其它字符。若输入为小写字母,显示“You Input a Lowercase Letter!”;若输入为大写字母,显示“You Input a Uppercase Letter!”;若输入为数字,显示“You Input a Digit!”;若输入为其它字符,显示“You Input Other Letter!”。

1.编程指导

数字0~9的ASCII码为30H~39H;大写字母的ASCII码为41H~5AH,小写字母的ASCII码为61H~7AH。本题目将字符分为小写字母、大写字母、数字及其它字符,根据键入字符的ASCII码值判断其所属类型,并显示相应的信息。字符串显示使用功能号为09H的DOS功能调用,接收键盘输入的单个字符使用功能号为01H的DOS功能调用。

2.代码:

DATA SEGMENT

INFOR1 DB 0AH,0DH,"Please Press Any Key to input a letter:$"

INFOR2 DB 0AH,0DH,"You Input a Lowercase Letter!$"

INFOR3 DB 0AH,0DH,"You Input a Uppercase Letter!$"

INFOR4 DB 0AH,0DH,"You Input a Digit!$"

INFOR5 DB 0AH,0DH,"You Input Other Letter!$"

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

CMP AL,'0'

JB OTHER

CMP AL,'9'

JBE DIGIT

CMP AL,'A'

JB OTHER

CMP AL,'Z'

JBE UPPER

CMP AL,'a'

JB OTHER

CMP AL,'z'

JBE LOWER

JMP PEND

LOWER:

JMP PEND ;注意执行完一个分支后应使程序跳出UPPER:

JMP PEND

DIGIT:

JMP PEND

OTHER:

PEND: MOV AH,4CH

INT 21H

CODE ENDS

END START

4、实验总结:

通过本次实验,我熟练掌握了宏定义和宏调用的使用方法,并巩固了ASCII 码的表示和转换方法,以及掌握了使用分支程序,运用跳转指令跳转到子程序,在子程序结束处跳回主程序的方法。收获很多。

西安邮电大学

(计算机学院)

微机原理与接口技术实验报告实验名称:课后题:计算1+2+……n=?

专业名称:

班级:

学生姓名:

学号:

指导教师:

实验日期:2017年11月28日

1、实验目的:

1.1、掌握循环程序的设计方法。

1.2、掌握比较指令、转移指令和循环指令的使用方法。

1.3、进一步掌握调试工具的使用方法。

2、实验要求:

2.1、复习比较指令、条件转移指令和循环指令。

2.2、复习循环程序的结构、循环控制方法等知识。

2.3、读懂“2.4.3 实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。

2.4、根据“2.4.3 实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。

2.5、从“2.4.4 实验习题”中任选一道题目,编写源程序,以便上机调试。

3、实验内容:

计算1+2+……n=?,其中n通过键盘输入。累加和小于216。要求在屏幕上提供如下信息:

Please input a number(1 361): ;出现此信息后通过键盘输入一个小于362的无符号整数,使累加和小于一个16位无符号二进制数所能表示的范围1+2+…..n=sum其中n为用户输入的数,sum为所求的累加和。

1.编程指导

键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放的,如何将它们转换为一个二进制数101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题。

代码:(,将存储在AX寄存器中的二进制数转换为十进制数并显示)

DATA SEGMENT

INF1 DB "Please input a number (0-65535):$"

IBUF DB 7,0,6 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS:DATA

START: MOV AX, DATA

MOV DS, AX

MOV DX, OFFSET INF1

MOV AH, 09H

INT 21H

MOV DX, OFFSET IBUF ;键入一个十进制数(<65535)

MOV AH, 0AH

INT 21H

MOV CL, IBUF+1 ;十进制数的位数送CX

MOV CH, 0

MOV SI, OFFSET IBUF+2 ;指向输入的第一个字符(最高位)MOV AX, 0 ;开始将十进制数转换为二进制数

AGAIN: MOV DX, 10 ; ((0?10+a

4) ?10+…) ?10+a

MUL DX

AND BYTE PTR [SI], 0FH

ADD AL, [SI]

ADC AH, 0

INC SI

LOOP AGAIN

MOV AH, 4CH

INT 21H

CODE ENDS

END START

//将存储在AX寄存器中的二进制数转换为十进制数并显示。

DATA SEGMENT

OBUF DB 6 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START: MOV AX, DATA

MOV DS, AX

MOV BX, OFFSET OBUF+5

MOV BYTE PTR [BX],'$'

MOV CX, 10 ;做(DX):(AX)/10运算

LOOP1: MOV DX, 0 ;被除数高16位清0

DIV CX

ADD DL, 30H ;将DL中的一位十进制数转换为ASCII 码

DEC BX

MOV [BX], DL

OR AX, AX

JNZ LOOP1

;判断商是否为0,不为0继续

MOV DX, BX

MOV AH, 09H

INT 21H

;显示转换得到的十进制数

MOV AH, 4CH

INT 21H

CODE ENDS

END START

2.源程序代码:

DATA SEGMENT

INF1 DB"Please input a number(1-361):$"

INF2 DB"1+2+...+N=$"

IBUF DB 7,0,6 DUP(?)

OBUF DB 6 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,OFFSET INF1

MOV AH,09H

INT 21H

MOV DX,OFFSET IBUF

MOV AH,0AH

INT 21H

MOV CL,IBUF+1

MOV CH,0

MOV SI,OFFSET IBUF+2

MOV AX,0

AGAIN: MOV DX,10

MUL DX

AND BYTE PTR[SI],0FH

ADD AL,[SI]

ADC AH,0

INC SI

LOOP AGAIN

MOV CX,AX

MOV AX,0

MOV BX,1

LOOP2: ADD AX,BX

INC BX

LOOP LOOP2

MOV BX,OFFSET OBUF+5

MOV BYTE PTR[BX],'$'

MOV CX,0AH

LOOP1: MOV DX,0

DIV CX

ADD DL,30H

DEC BX

MOV [BX],DL

OR AX,AX

JNZ LOOP1

MOV DL,0AH

MOV AH,02H

INT 21H

MOV DX,OFFSET INF2

MOV AH,09H

INT 21H

MOV DX,BX

MOV AH,09H

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

4、实验总结:

通过本次实验,我熟悉了循环程序的应用方法,和条件转移指令与循环指令的应用。将课堂上学习的理论知识进行了实践应用,对学到的知识了解得更加透彻。

操作系统实验内存分配

西安邮电大学 (计算机学院) 课内实验报告 实验名称:内存管理 专业名称:软件工程 班级: 学生姓名: 学号(8位): 指导教师: 实验日期:

实验五:进程 1.实验目的 通过深入理解区管理的三种算法,定义相应的数据结构,编写具体代码。充分模拟三种算法的实现过程,并通过对比,分析三种算法的优劣。 (1)掌握内存分配FF,BF,WF策略及实现的思路; (2)掌握内存回收过程及实现思路; (3)参考给出的代码思路,实现内存的申请、释放的管理程序,调试运行,总结程序设计中出现的问题并找出原因,写出实验报告。 2.实验要求: 1)掌握内存分配FF,BF,WF策略及实现的思路; 2)掌握内存回收过程及实现思路; 3)参考本程序思路,实现内存的申请、释放的管理程序,调试运行,总结程序设计中出现的问题并找出原因,写出实验报告。 3.实验过程: 创建进程:

删除其中几个进程:(默认以ff首次适应算法方式排列) Bf最佳适应算法排列方式:

wf最差匹配算法排列方式: 4.实验心得: 这次实验实验时间比较长,而且实验指导书中对内存的管理讲的很详细,老师上课的时候也有讲的很详细,但是代码比较长,刚开始的时候也是不太懂,但是后面经过和同学一起商讨,明白几种算法的含义: ①首次适应算法。在采用空闲分区链作为数据结构时,该算法要求空闲分区链表以地址递增的次序链接。在进行内存分配时,从链首开始顺序查找,直至找到一个能满足进程大小要求的空闲分区为止。然后,再按照进程请求内存的大小,从该分区中划出一块内存空间分配给请求进程,余下的空闲分区仍留在空闲链中。 ②循环首次适应算法。该算法是由首次适应算法演变而形成的,在为进程分配内存空间时,从上次找到的空闲分区的下一个空闲分区开始查找,直至找到第一个能满足要求的空闲分区,并从中划出一块与请求的大小相等的内存空间分配给进程。 ③最佳适应算法将空闲分区链表按分区大小由小到大排序,在链表中查找第一个满足要求的分区。 ④最差匹配算法将空闲分区链表按分区大小由大到小排序,在链表中找到第一个满足要求的空闲分区。 实验中没有用到循环首次适应算法,但是对其他三种的描述还是很详细,总的来说,从实验中还是学到了很多。 5.程序源代码: #include #include #include

微机原理与接口技术实验报告

微机原理与接口技术实验报告 班级:自动化(铁道信号) 姓名: ***** 学号: 1121**** 授课教师:福恩

目录 1.实验一 (3) 2. 实验二 (8) 3.实验三 (13) 4.实验四 (22) 5.实验五 (26) 6.实验六 (33) 7.参考文献 (38)

实验一交通灯控制实验 一.实验目的 通过应用接口技术设计十字路口、复杂路口交通灯控制系统,学会应用“微机原理与接口技术”课程所学的X86汇编语言和接口技术掌握可编程并行接口芯片的硬件设计、软件编程,实现十字路口交通灯的模拟控制并思考计算机如何应用在各种控制系统中。 (1)掌握利用X86汇编语言技巧 (2)掌握X86微处理器与可编程并行接口芯片8255A硬件电路设计 (3)熟悉模拟交通灯控制的实现方法并思考如何应用在实际中。 二.实验容 设计一个交通控制系统,该控制系统工作后,交通灯按照如下规律变化: (1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。 (2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。 (3)南北路口的红、东西路口的绿灯同时亮3秒。 (4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。 (5)返回(1)依次循环。 三.实验电路 如下图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。 8255动态分配地址: 控制寄存器:0EC0BH A口地址: 0EC08H C口地址: 0EC0AH

红黄绿红黄绿 图1-1 交通灯实验电路图四.程序流程图 五.源程序 CODE SEGMENT ASSUME CS:CODE ;********************************** 工作状态控制字设置 START: MOV DX,0EC0BH ;写控制端口,地址0EC0BH MOV AL,10010000B ;C口方式0输出 OUT DX,AL

微机原理课程设计抢答器

西安郵電大学 硬件课程设计报告题目:抢答器 院系名称:计算机学院 专业名称: 班级: 学生姓名: 学号(8位): 指导教师: 设计起止时间

一.设计目的 用逻辑开关模拟竞赛抢答器按钮(共8个开关:K0 ~ K7)当某个逻辑开关置“1”时,相当某组抢答按钮按下。在七段数码管上将其组号(0~7)显示出来,若为0表示无人抢答。从键盘上按空格键开始下一轮抢答,按 键退出程序。 二. 设计内容 1.选用元器件: (1)、并行接口8255:通过编程来指定它要完成的功能,是并行数字设备与微机间的接口。8255用于输入抢答信息,并输出正确的序号给数码管,以及控制LED灯的亮灭。本设计中8255A的地址范围设置为1400H—1403H,其中控制口地址为1403H。而且使用了8255A的A口,B口和C口。它们均工作在方式0下,其中A口和C口为输出,B口为输入。 (2)、数码管:指示先抢答的组号。 (3)、二极管:指示抢答。 (4)、开关:作为抢答者的按钮。 2.基础实验一:8255基本输入输出 能够在自行设计的接口开发板上,实现拨动开关控制LED的亮灭。(软件代码命名为:8255.ASM,代码要求用小写字母,且必须经过优化,源代码小于<95行,每条指令算1行,伪指令也算1行) 3.基础实验二:流水灯设计实现 能够在自行设计的接口开发板上,实现拨动不同开关控制LED灯的变化。例如,K1从左往右,K2从右往左,K3从中间向两边,K4从两边向中间依次亮灭变化,按主机键盘任意键退出。(软件代码命名为:TEST2.ASM,代码要求用小写字母,且必须经过优化,源代码小于<85行,每条指令算1行,伪指令也算1行) 4.基础实验三:数码管应用 能够在自行设计的接口开发板上,上电数码管显示0到7,实现拨动不同开关,数码管显示该开关位置值(1-8);若同时拨动两个以上开关,则数码管显示“E”。(软件代码命名为:8SEGMENT.ASM,代码要求用小写字母,且必须经过优化,源代码小于<100行,每条指令算1行,伪指令也算1行) 5.抢答器: 用逻辑开关模拟竞赛抢答器按钮(共8个开关:K0 ~ K7)当某个逻辑开关置“1”时,相当某组抢答按钮按下。在七段数码管上将其组号(0~7)显示出来,若为0表示无人抢答。从键盘上按空格键开始下一轮抢答,按 键退出程序。三.概要设计 1.功能模块图;

某厂排气管车间生产计划的优化分析实验报告

某厂排气管车间生产计划的优化分析实验报告

————————————————————————————————作者: ————————————————————————————————日期:

西安理工大学实验报告 成绩 第1页(共页) 课程: 实验日期: 年月日 专业班号:组别:交报告日期:年月日 姓名:学号:报告退发: (订正、重做) 同组者: 教师审批签字: 实验名称: 某厂排气管车间生产计划的优化分析 实验内容: 1、制定利润最大的生产计划 (1)建立线性规划数学模型; 车间基本生产工人工时计算如下: S=27×(22×8 – 2 – 4 ) =4590(小时/月) 按产量1%的工废实际可用时间:4590×(1– 1% )=4544(小时/月) 每种设备月实际可利用工时(减去工废后的可用时间)如下表所示: 设备名称月可利用工时(小时/月)设备名称月可利用工时(小时/月) 1.平面铣床1392×( 1– 1% )=1378 2.卧铣床1400×(1 – 1% )=1386 2082×( 1 – 1%)=2061 4.单面铣床700×( 1–1% )=693 3.组合钻 床 5.攻丝床2088×(1– 1% )=2067 6.精铣床1396×( 1 – 1%)=1382 1376×(1– 1%)=1362 8.摇臂钻床1384×( 1 –1% )=13707.扩孔钻 床 9.去毛刺 700×(1– 1% )=693 10.清洗机700×( 1 – 1%)=693 机 每种排气管利润(减去料废后的利润)如下表所示:

品 项目 1 2 3 4 5 6 7 8 毛坯价格 ① 9817104102 料废成本(① ×2%) 1.96 2.08 1.88 2.24 2.12 1.942.08 2.04辅料消耗 2 2 2 2 2 2 2 2 动能消耗110 10 工具等消耗 1 1管理费用1.45 5 1.099 1.21 1.44 1.188 1.2265 1.308 1.56 税收15 16 14.8 17 16.5 14.5 15.6 15.5 售价150 16 0.1 149 172 166 145.6 157.8 15 5.8 利润(元/根)11.58 511.921 13.111 3.32 1 3.192 10.9 335 13.812 11.7 根据给定的条件及要求,设x1,x2,…x8分别为第一种、第二种……第八种排气管的月产量,月产量单位为1000根/月。将目标函数取为每月的总产品利润,得出关于月计划生产的线性规划模型为: maxZ= 11585x1+11921x2+13110 x3+13320x4+13192 x5+10933.5x 6+13812 x7+11700x8 41.9x1+43.3x2+41.7x3+48.1x4+46.5x5+40.9 x6+47.8 x7+45.7x8 ≤ 4544 4.0 x1+4.5 x2+4.8 x3+5.8 x4+5.2x5+4.0x6+4.6x7+5.6x8 ≤1378 3.9x1+4.5 x2+4.3x3+5.0x4+4.9x5+4.4 x6+5.1 x7+4.8 x8≤1386 5.9x1+5.8x2+5.7 x3+6.3 x4+6.5 x5+6.0 x6+6.6x7+6.4x8 ≤2061 3.5x1+3.0x2+3.7x3+ 4.0x4+3.8x5+3.0 x6+4.1 x7+3.4x8≤693 5.8x1+6.2 x2+5.7x3+6.4x4+6.3 x5+6.0x6+6.5x7+6.2x8 ≤2067 5.5 x1+5.7x2+4.7x3+6.0 x4+5.9x5+5.2x6+6.2 x7+5.6x8≤1382 3.9x1+3.8x2+ 4.0x3+4.1 x4+3.7 x5+3.5 x6+4.1 x7+3.6x8 ≤1362

操作系统实验内存分配

精心整理西安邮电大学 (计算机学院) 课内实验报告 1. (1 (2 (3 原因,写出实验报告。 2.实验要求: 1)掌握内存分配FF,BF,WF策略及实现的思路; 2)掌握内存回收过程及实现思路; 3)参考本程序思路,实现内存的申请、释放的管理程序,调试运行,总结程序设计中出现的问题并找出原因,写出实验报告。

3.实验过程: 创建进程: 删除其中几个进程:(默认以ff首次适应算法方式排列) Bf最佳适应算法排列方式: wf最差匹配算法排列方式: 4.实验心得: 明 实验中没有用到循环首次适应算法,但是对其他三种的描述还是很详细,总的来说,从实验中还是学到了很多。 5.程序源代码: #include #include #include #include

#define PROCESS_NAME_LEN 32 //进程名长度 #define MIN_SLICE 10 //最小碎片的大小#define DEFAULT_MEM_SIZE 1024 //内存大小 #define DEFAULT_MEM_START 0 //起始位置 /*内存分配算法*/ #define MA_FF 1 #define MA_BF 2 #define MA_WF 3 /*描述每一个空闲块的数据结构*/ struct free_block_type { }; /* /* { }; /* /* void display_menu(); int set_mem_size(); void set_algorithm(); void rearrange(int algorithm); int rearrange_WF(); int rearrange_BF(); int rearrange_FF(); int new_process(); int allocate_mem(struct allocated_block *ab);

单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书 实验1 Keil C51的使用(汇编语言) 一.实验目的: 初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。 二.实验设备: ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。 三.实验原理及环境: 在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 四:实验内容: 1.掌握软件的开发过程: 1)建立一个工程项目选择芯片确定选项。 2)加入C 源文件或汇编源文件。 3)用项目管理器生成各种应用文件。 4)检查并修改源文件中的错误。 5)编译连接通过后进行软件模拟仿真。 6)编译连接通过后进行硬件仿真。 2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。 3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。 五:程序清单: ORG 0000H AGAIN:CPL P1.0 MOV R0,#10 ;延时0.5秒 LOOP1:MOV R1,#100 LOOP2:MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 DJNZ R0,LOOP1 SJMP AGAIN END 六:实验步骤: 1.建立一个工程项目选择芯片确定选项 如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)

微机原理与接口技术实验报告

新疆农业大学机械交通学院 实习(实验)报告纸 班级:机制072 学号: 073731234 姓名:唐伟 课程名称:微机原理及接口技术实习(实验)名称: DEBUG软件的使用 实验时间: 6.22 指导教师签字:成绩: —、实验目的 1.学习DEBUG软件的基本使用方法。 2.掌握8088/8086的寻址方式。 3.掌握数据传送、算术运算逻辑运算等类指令的基本操作。 二、实验内容与步骤 实验内容: 修改并调试以下程序,使之完成30000H开始的内存单元中存入31个先自然递增然后有自然递减的数据(00H~0F~00H)的功能。程序从CS:0100H开始存放。调试完成后程序命名为PCS.EXE并存盘。 实验步骤: (1)用A命令输入程序; (2)用反汇编U命令显示程序及目标码; 存盘程序命令为PCS1.EXE;

三、思考题 1.EXE文件程序的第一条可执行指令的IP等于多少? 答:EXE文件程序的第一条可执行指令的IP等于0010 。 2.在DEBUG环境下显示的程序和数字是什么形式?标号又是什么形式? 答: DEBUG把所有数据都作为字节序列处理。因此它可以读任何类型的文件。DEB UG可以识别两种数据: 十六进制数据和ASCⅡ码字符。它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。DEBUG总是用四位十六进制数表示地址。用两位数表示十六进制数据。不支持标号。 3.试述本次实验中你学会的DEBUG命令? 答:本次试验我学会了汇编命令(A命令)、.反汇编命令(U命令)、显示当前环境和寄存器内容(R命令、以十六进制和ASCII码形式显示内存单元内容(D命令)

大学生上网情况的调查报告

西安理工大学实验报告纸 课程:应用统计学实验日期:20 13年06月05日专业班号:组别交报告日期:20 13年06月07日姓名:学号:报告退发:(订正、重做) 同组者:__________ 教师审批签字: 实验报告格 一、预习准备:实验目的和要求、实验仪器和设备等; 二、实验过程:实验步骤和实验数据记录等; 三、实验总结:实验数据处理和实验结果讨论等。 实验名称 应用统计学综合实验 大学生上网情况的调查报告

目录 第一部分调查方案设计.................... 错误!未定义书签。 调查方案..................................... 错误!未定义书签。 报告内容: ................................. 错误!未定义书签。 第二部分........................................... 错误!未定义书签。 问卷设计..................................... 错误!未定义书签。 大学生使用电脑情况调查分析报告错误!未定义书签。 1.上网人员的性别分析 ................. 错误!未定义书签。 2.上网人员所在年级分析 ............. 错误!未定义书签。 3.每天上网时间分析 .................... 错误!未定义书签。 4.每月上网开销分析 .................... 错误!未定义书签。 5.上网用途 .................................. 错误!未定义书签。 6.上网场所的样本分析 ................. 错误!未定义书签。 7.每天上网时间和上网开销分布的特征错误!未定义书签。 8.上网对自己影响........................ 错误!未定义书签。 9.上网规划分析 .......................... .错误!未定义书签。 10.性别对使用电脑用途的分析----双因素无重复方析 (11) 11.性别对上网时间的分析----无重复双因素访查分析 (12) 12结束语 (13)

西安邮电大学课程设计报告

一. 实验目的及实验环境 实验目的:目前,对于中小超市来说,需要采取一套行之有效的超市管理系统来管理超市的日常进货、销售、员工管理等信息。本次设计的超市管理系统就是想让用户以最少的手工业务处理,来完成超市中的日常工作,增加超市业务处理的效率。 一个典型的超市管理系统,除了应该完成超市中必要的销售工作,如收银台,还应该具有后台管理的功能。 实验环境:系统的体系结构:C/S结构 前台:Java (Eclipse 3.5) 后台数据库:SQL Server 2008 二. 实验内容 超市管理系统 该系统应具备前台收银操作,还有后台对各种数据的管理。 该系统应为多用户使用的,应以用户的权限来进入系统管理模块。 友好的界面及方便简单的操作。 数据存放在数据库中,系统对数据库可进行增、删、查、改的操作。三.方案设计 系统开发的总体任务是实现Java与SQL Server 2008的组合应用,实现用JDBC 方式调用SQL数据库,且有一定的透明性。 超市管理系统需要完成的功能主要有: 1、用户分类登录系统及权限管理。 2、超市收银台的销售管理方式。 3、销售商品信息的录入、查询、修改、删除。 4、供应商信息的录入,查询,修改、删除。 5、超市员工的职位基本信息的设定。 6、员工的基本信息的录入,查询,修改和删除。 7、仓库信息的录入与查看。 8、数据间的相互联系:销售商品的数量和库存量的基本联系;商品信息和供应商的相关数据联系;员工与职位间的联系等。 9、数据存放在数据库中,任何数据操作都是对数据库的数据的操作。

系统结构图(功能模块图) 各个模块的功能描述: (1)、登录界面:本系统简单的设置有三种职位,用户使用密码登录,成功后给其相应的操作界面。 (2)、仓库管理:是仓库管理员和老板可使用的操作,主要是查看仓库的入库信息和添加入库信息。 (3)、管理商品信息:只有老板可用,主要是查看现有商品的信息、修改、删除及添加新的商品信息。 (4)、管理供应商信息:只有老板可用,主要是查看现有的供应商的信息、修改、删除及添加新供应商的信息。 (5)、管理员工信息:只有老板可用,主要是查看现有的员工信息、修改、删除及增加新员工。 (6)、查看销售纪录。 四.测试数据及运行结果 1、Java与数据库SQL 2008的链接: String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=SuperMarket"; 2、用户登陆(登陆界面,老板界面,仓库管理员界面,销售员界面):

微机原理及接口技术实验报告

实验一 DEBUG命令及其基本操作 一.实验目的: 1.熟练掌握DEBUG的常用命令,学会用DEBUG来调试程序。 2.深入了解数据在存储器中的存取方法,了解堆栈中数据的压入与弹出方法。 3.掌握各种寻址方法,了解简单指令的执行过程。 二、实验容: 1.打开计算机,在WINXP操作系统下,点击“开始”,选择“运行”,在“打开”一栏中输入“debug”,运行DEBUG应用程序,将出现DEBUG的提示符“-”。 2.在DEBUG提示符后键入字母“-a100”,回车后,屏幕上就会出现下面类似的容: (具体到每个计算机所产生的段地址和偏移地址可能有所不同) 这表示在地址1383:0100处,DEBUG等待用户键入程序助记符,下面键入程序: 3.在DEBUG的提示符后键入G,这是执行程序的命令,然后回车,就可以看到结果了。 4.现在让我们用“d”命令来看一下存储器 在100H~107H这8个单元,程序覆盖了原来的容,右边的字符是组成程序的ASCII码等价字符,圆点表示不可显示字符。 5.下面我们用反汇编命令来查看一下所键入的程序。“U”命令的格式是“U起始地址,终止地址”,即把起始地址到终止地址之间的十六进制码反汇编成汇编语言助记符语句。键入: 大家在屏幕上不仅可以看到地址和助记符,而且还可以看到与汇编语言等价的机器语言。6.现在我们修改存储单元的容,看看显示情况和变化。 我们看到显示的结果发生了变化,这是因为DOS的2号功能调用是显示输入数据的ASCII 码字符。 7.下面我们给程序命名并存盘。在键入“n”后紧跟程序名及扩展名

因为文件的字节数必须事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整个32位的数保存文件的字节数,一般来说,BX设置为0,因为CX可存放的字节数为64K,对于一般的程序已足够了。 8.结束后可用Q命令退出DEBUG程序。 三、实验习题 1.写出完成下列功能的指令序列 (1)传送20H到AL寄存器 (2)将(AL)*2 (3)传送25H到BL寄存器 (4)(AL)*(BL) 问最后的结果(AX)=? 单步执行结果: 2.分别写出完成下列指令要求的指令: (1)将BX的低4位清零; (2)将AX的高4位置1; (3)将DX的低4位取反; (4)将CX的中间八位清零; (5)将AX中与BX中的对应位不相同的位均置1.

网页设计flash制作实验报告

《多媒体网页设计》实验报告

一、实验目的 通过本实验了解网页常见多媒体动画元素的制作方法, Flash 动画目前已成为网络动画的标准,是目前动画素材制作的主要软件。 通过本实验的练习掌握flash基本动画的制作。用于网页动态banner 等有关设计。 二、实验设备及环境 操作系统:Windows 8 编辑运行环境:Flash 2004 三、实验内容 1) 用逐帧动画制作flash短片 2)音视频的加入及编辑处理 3)制作形状补间动画 4)制作动作补间动画 5)遮罩层动画的制作 6)引导层动画的制作。 四、实验流程 一:逐帧动画的制作 1.新建flash文档,下载FTP骏马飞奔动画序列,将其中的图 片7-1.Gif~7.7.gif使用”文件”-“导入”-“导入到库”中,点击窗口菜单-工具栏-将主工具栏选中

2.在图层1的第二帧,点击右键选择插入空白关键帧,将库里的7-2.gif拖入到舞台,点击主工具栏最右端对齐按钮:依次点击“相对于舞台”、对齐下的第二个“水平中齐”、分布下的第二个“垂直中齐”, 3.重复以上步骤,建立7个关键帧,导入7幅图像; 4.按ctrl+enter进行测试

二、flash短片的制作 1、新建flash文档,将kaiyuan.gif等五幅图像导入到库中, 将kaiyuan.gif从库里拖动到舞台。利用工具箱的任意变形工具,将图像调整和舞台同样大小。 2、点击时间轴图层1的第30帧,右键选择“插入空白关键帧”, 将lvyin.jpg拖动到舞台,调整大小与舞台相当,调整大小时,可以只显示图像轮廓,并按住“alt”进行调整。 3、重复步骤2,依次将jiao9lou.jpg、jiao11lou.jpg、chunse.jpg 拖动到第60、90、120帧。右键点击第150帧“插入帧”。 4.按ctrl+enter导出动画。 三、形状补间动画 (1)1.新建flash文档,设立背景为浅蓝色,在图层1的第一帧画一不带边框的有填充色的圆,在图层1的第40帧点击右键插入空白关键帧,在舞台的中央画一矩形,在第70帧点右键插入空白关键帧,在舞台的右下画一三角形。

计算机组成原理与接口技术实验报告

计算机组成原理与接口技术 课程设计实验报告 学院:计算机科学与工程 专业:计算机科学与技术 班级:计科二班 学号: 姓名: 指导老师: 评分: 2016年12月28日

实验一验证74LS181运算和逻辑功能 1、实验目的 (1)掌握算术逻辑单元(ALU)的工作原理; (2)熟悉简单运算器的数据传送通路; (3)画出逻辑电路图及布出美观整齐的接线图; (4)验证4位运算功能发生器(74LS181)组合功能。 2、实验原理 ALU能进行多种算术运算和逻辑运算。4位ALU-74LS181能进行16种算术运算和逻辑运算。 74ls181芯片介绍: 该芯片总共由22个引脚,其中包括8个数据 输入端(~A0、~A1、~A2、~A3,~B0、~B1、~B2、 ~B3,其中八个输入端中A3和B3是高位),这八 个都是低电平有效。还包括S0、S1、S2、S3这四 个控制端,这四个控制端主要控制两个四位输入 数据的运算,例如加、减、与、或。CN端处理进 入芯片前进位值,M控制芯片的运算方式,包括 算术运算和逻辑运算。F0、F1、F2、F3是四个二 进制输出端,以一个四位二进制形式输出运算的 结果。CN4记录运算后的进位。

3、实验内容 实验电路图:

4、总结及心得体会 本实验通过一个设计一个简单的运算器,使我熟悉了Multisim软件的一些基本操作方法,并掌握了一些简单的电路设计与分析的能力,并对我做下一个运算器的实验有一定的帮助。因为是之前实验课做过的实验,再次做起来过程比较流畅,没有遇到什么大的问题,实验的测试结果与预期的一致。 该芯片总共由22个引脚,其中包括8个数据输入端(~A0、~A1、~A2、~A3,~B0、~B1、~B2、~B3,其中八个输入端中A3和B3是高位),这八个都是低电平有效。还包括S0、S1、S2、S3这四个控制端,这四个控制端主要控制两个四位输入数据的运算,例如加、减、与、或。CN端处理进入芯片前进位值,M控制芯片的运算方式,包括算术运算和逻辑运算。F0、F1、F2、F3是四个二进制输出端,以一个四位二进制形式输出运算的结果。CN4记录运算后的进位。其中AEQB、~P和~G这三个端口与本实验无关,所以这里不做额外介绍。

西安邮电大学微机原理考试试卷

一. 简答题(每小题5分,共30分) 1.假设DS=2000H,CS=2300H,BX=1256H,TABLE的偏移地址是20A1H,物理地址为232F7H处存放3280H,物理地址为262F7H处存放33A0H,试问执行下列段内寻址的转移指令后,转移的有效地址是什么? 转移的物理地址是什么? (1) JMP BX (2) JMP TABLE[BX] 2.有以下数据段定义,请画出变量的分配图。 DATA SEGMENT Mylb DB “Computer” my2w DW 3 DUP(0) my3w DW my2w DATA ENDS 3.39H=______________B=_____D,作为ASCII码表示哪个字符?作为BCD 码表示哪个数? 4.变量是用符号表示的地址,称为符号地址。请问:变量的三个基本属性是什么? 5.设有关寄存器及存储单元的内容如下: (DS)=1000H,(BX)=0100H,(SI)=0002H,(10100H)=12H,(10101H)=34H,(10102H)=56H,(10103H)=78H,(11200H)=2AH,(11201H)=4CH,(11202H)=0B7H,(11203H)=65H 试说明下列各条指令执行完后,(AX)=? 并写出源操作数为存储器寻址的物理地址。 (1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,[1200H] (4) MOV AX,[BX][SI] (5) MOV AX,[1100H+BX+SI] 6.堆栈指针寄存器SP的初值为1000H,(AX)=2000H,(BX)=3000H,试问: (1) 执行指令PUSH AX后,(SP)=? (2) 再执行指令PUSH BX和POP AX后,(SP)=? (AX)=? (BX)=? 二.单向选择题(每小题1分,共10分) 1. Intel 8086是( B )位处理器。 A. 32 B. 16 C. 8 D. 4 2.在计算机内部,一切信息的存取、处理和传送都是以(C )形式进行的。 A.ASCII码B.BCD码C.二进制 D.十六进制3.在下面几个不同进制的数中,最小的数是( A )。(Q为八进制数标识符) A.01100010B B.750Q C.500 D.FEH 4.十进制数-38的8位二进制补码是( B )。 A.01011011 B.C.D.01011010 5.有一个8位二进制数的补码是,其相应的十进制真值是( B )。 A.-3 B.-2 C.510 D.254 6.8086微处理器被设计为两个独立的部件,它们是( D )。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

2

3

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’ ;堆栈段定义 DB 512 DUP( ?) 4

机械优化设计实验指导书

机械优化设计实验指导 书 Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】

《机械优化设计》 实验指导书 武秋敏编写 院系:印刷包装工程学院 专业:印刷机械 西安理工大学 二00七年九月 上机实验说明 【实验环境】 操作系统: Microsoft Windows XP 应用软件:Visual C++或TC。 【实验要求】 1、每次实验前,熟悉实验目的、实验内容及相关的基本理论知识。 2、无特殊要求,原则上实验为1人1组,必须独立完成。 3、实验所用机器最好固定,以便更好地实现实验之间的延续性和相关性,并便于检查。 4、按要求认真做好实验过程及结果记录。 【实验项目及学时分配】 【实验报告和考核】 1、实验报告必需采用统一的实验报告纸,撰写符合一定的规范,详见实验报告撰写格式及规范。

(一)预习准备部分 1. 预习本次实验指导书中一、二、三部分内容。 2. 按照程序框图试写出汇编程序。 (二)实验过程部分 1. 写出经过上机调试后正确的程序,并说明程序的功能、结构。 2. 记录4000~40FFH内容在执行程序前后的数据结果。 3. 调试说明,包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。 (三)实验总结部分

实验(一) 【实验题目】 一维搜索方法 【实验目的】 1.熟悉一维搜索的方法-黄金分割法,掌握其基本原理和迭代过程; 2.利用计算语言(C语言)编制优化迭代程序,并用给定实例进行迭代验证。 【实验内容】 1.根据黄金分割算法的原理,画出计算框图; 2.应用黄金分割算法,计算:函数F(x)=x2+2x,在搜索区间-3≤x≤5时,求解其极小点X*。 【思考题】 说明两种常用的一维搜索方法,并简要说明其算法的基本思想。 【实验报告要求】 1.预习准备部分:给出实验目的、实验内容,并绘制程序框图; 2.实验过程部分:编写上机程序并将重点语句进行注释;详细描述程序的调过程(包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析。 3.实验总结部分:对本次实验进行归纳总结,给出求解结果。要求给出6重迭代中a、x1、x2、b、y1和y2的值,并将结果与手工计算结果进行比较。 4.回答思考题。

西安邮电大学嵌入式课后答案

嵌入式系统开发 习题1 1.什么是嵌入式系统?有何特点? 答:嵌入式系统的概念有很多种,在嵌入式系统领域中比较认同的嵌入式系统的概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 嵌入式系统的特点: ⑴嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 ⑵系统内核小。由于嵌入式系统一般是应用于小型电子装置中,系统资源相对有限,所以内核较之传统的操作系统要小得多。 ⑶专用性强。 ⑷系统精简。 ⑸系统软件(OS)要求具有高实时性。 ⑹嵌入式软件开发要走向标准化,需要使用多任务的操作系统。 ⑺嵌入式系统本身并不具备在其上进行进一步开发的能力。 2.嵌入式系统可以分为几层?每一层各完成哪些功能? 答:嵌入式系统由硬件层、中间层、软件层和功能层组成。 硬件层:以嵌入式微处理器为核心,存储器用以存储数据和执行代码,相关的设备接口和I/O接口,这些组成了一个嵌入式系统的基础,实现逻辑运算,算术运算等。 中间层:将系统上层软件和底层硬件进行分离,封装成标准的接口,在上层软件开发人员无需知道底层硬件的具体情况,完成的任务是底层硬件的初始化、数据的输入/输出操作、硬件的配置等功能。 软件层:主要由RTOS、文件系统、图形用户接口、网络系统和通用的组件模块组成,是软件开发的基础。 功能层:用来完成被控对象的控制功能。 3.嵌入式系统中硬件抽象层有什么特点? 答:硬件抽象层是介于硬件层与软件层之间的中间层,它将系统上层软件与底层硬件分离开来,具有以下两个特点: ⑴硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,硬件抽象层需要为操作系统提供操作和控制具体硬件的方法。 ⑵操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。 4.简述嵌入式处理器的硬件组成? 答:随着集成电路集成度的不断提高,嵌入式系统板级的硬件电路模块也越来越多的集成到芯片内部,目前处理器芯片内部的电路模块组成如下: ⑴处理器内核,以CPU为核心,有的还包含MMU(存储器管理单元)、Cache(高速缓存)、ICE(在线仿真)等电路模块。

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

汇编程序及接口技术实验报告

微机汇编程序及接口技术实验报告 汇编程序实验: 一、实验目的 1、熟悉汇编程序调试过程 2、掌握算术运算指令运用 3、掌握分支程序的编程和调试方法 二、实验设备 80X86微型计算机 三、实验内容 1、编程并调试显示“Hello Word!”字符串的汇编程序 TITLE HELLO DA TA SEGMENT STR DB'Hello World!$' DA TA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET STR MOV AH,9H INT 21H MOV AH,4CH INT 21H CODE ENDS END START

2、A、B、C、D、W是互不相等的在数据段中定义的16位有符号数,并假设加减运算不产生溢出。编写一个完整段定义的汇编语言程序,计算W=(A+B)×(C—D)。 title asmprogram1_1 DA TA SEGMENT A DW 1H B DW 3H C DW 4H D DW 2H W DW 2 DUP(?) DA TA ENDS ; CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AX,A ADD AX,B MOV BX,C SUB BX,D IMUL BX MOV W,AX MOV W+2,DX MOV AH,4CH INT 21H CODE ENDS END START

3、设X、Y为在数据段中定义的有符号字变量。编写一个完整段定义的汇编语言程序(包含必要的伪指令,给出必要的注释)完成以下操作:若0

微机原理与接口技术_课程设计实验报告

课程设计实验报告 课程:现代微机原理与接口技术题目:键盘扫描实验

班级:数字媒体 1004 学号: 0305100417 学生:海洋 指导老师:天天 日期: 2012.6.18 一、实验目的 (1)掌握键盘扫描的应用及编程 (2)掌握LED的应用 二、实验设备 PC计算机一台,TD-PIT + 实验系统一套。 三、实验原理 (1)8255芯片:8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置。通过cpu对8255的控制最总达到键扫的目的。每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。 (2)LED数码显示原理:数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与单片机的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。 (3)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

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