搜档网
当前位置:搜档网 › 微机原理实验指导一(2015-2)

微机原理实验指导一(2015-2)

微机原理实验指导一(2015-2)
微机原理实验指导一(2015-2)

一、系统认识实验

1.1 实验目的

掌握QASM轻松汇编(TD系列微机原理及接口技术教学实验系统)的操作,熟悉QASM(Wmd86联机集成开发调试软件)的操作环境。学习和掌握程序编写,汇编,调试的方法和技术。

1.2 实验设备

PC机一台,(TD-PITE实验装置或TD-PITC实验装置一套)。

1.3 实验内容

编写实验程序,将00H~0FH共16个数写入内存03000H开始的连续16个存储单元中。

1.4 实验步骤

1. 进入QASM编程环境:将TDASM和ASMPRO文件夹复制到D盘根目录上,运行TDASM下的QASM,进入集成开发环境。

2.输入汇编源程序:编写输入实验程序,如图所示,并保存为A1,此时系统会提示输入新的文件名,输完后点击保存。可以用打开文件方式将以前保存的源程序调入。

程序编辑界面

3. 程序的汇编与连接:点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方运行调试程序。

编译输出信息界面

4.观察程序及变量分配:点击“交叉文件”,观察源程序代码与机器代码与存储形式。

点击“汇编程序”返回汇编程序窗口。

操作练习:1、对上述程序进行观察。看汇编源程序的指令与机器码指令的对应关系及程序存放形式。

2、打开程序EX1,观察变量定义及存放关系。

3、打开EX3—2,观察变量定义及内存分配。

5.集成调试环境的使用:

单步执行:点击“调试”菜单下的“单步”,可以一条一条的执行指令。

查看修改寄存器:在调试过程中,可能通过调试窗口的“调试”选单,观察和修改CPU中寄存器的内容。

查看变量和存储单元内容:在调试过程中,可能通过调试窗口的“查看”选单,可以添加要查看的存储单元或者变量的的内容。

断点设置:在程序的对应指令行点击行号,可以设置程序断点(出现红色园点)。或者取消断点。

连续运行:点击调试菜单下的“GO”,或让程序连续运行到断点处停止。

操作练习:1、打开程序EX1,单步运行程序,观察寄存器及存储单元变化。并记录。

3、打开EX3—2,观察变量定义及内存分配。单步运行程序,观察寄存器及存储单元变化。并记录。

6.TRUBODEBUGGER的使用:(详细说明见TRUBODEBUGGER一览表)

进入TD:汇编连接完成后,点击“调试”菜单下的“TD。。。”可进入TRUBODEBUGGER调试环境。

单步执行:点击“STEP”,可以一条一条的执行指令。

查看修改寄存器:点击“VIEW”菜单下的“REGISTER”选单,可以观察和修改CPU中寄存器的内容。

查看和修改变量单元内容:点击“VIEW”菜单下的“VARIABLE”选单,可以观察和修改变量单元的内容。

查看和修改存储单元内容:点击“VIEW”菜单下的“DUMP”选单,可以观察和修改存储单元的内容。

断点设置:在程序的对应指令行点击,再点击“BKPT ”,可以在该得设置断点。 连续运行:点击 “RUN ”,让程序连续运行到断点处停止。

操作练习: 1、打开程序A1,单步和设置断点运行程序,观察寄存器及存储单元变化。 程序观察程序运行前后 0000:3000开始的十六个字节单元的数据。 2、打开EX1,单步和设置断点运行程序,输入不同数,运行后检查变量X 和XXX 的值,并记录。

3、编写程序,将内存0000:3500H 单元开始的8个数据复制到0000:3600H 单元开始的数据区中。通过调试验证程序功能。使用TD 调试程序,先将0000:3500H 单元写入8个数,然后运行程序,观察程序是否将数据复制到0000:3600H 单元中。

二、数制转换实验

计算机与外设间的数制转换关系如图2-1所示,数制对应关系如表2-1所示。

二进制

图2-1 数制转换关系

1.操作练习:

1、打开程序A1,单步和设置断点运行程序,观察寄存器及存储单元变化。 程序观察程序运行前后 0000:3000开始的十六个字节单元的数据。

2、打开EX1,单步和设置断点运行程序,输入不同数,运行后检查变量X 和XXX 的值,并记录。

3、编写程序,将内存0000:3500H 单元开始的8个数据复制到0000:3600H 单元开始的数据区中。通过调试验证程序功能。使用TD 调试程序,先将0000:3500H 单元写入8个数,然后运行程序,观察程序是否将数据复制到0000:3600H 单元中。

2. 将ASCII 码表示的十进制数转换为二进制数

十进制表示为:

∑=--?=

?+???+?+?n

i i

i

01

n 1n n

n 10

D 10D 10

D 10D (1)

D i 代表十进制数0,1,2, (9)

上式转换为:

012n 1n n n

i i

i D 10)D 10)D 10)D 10D (((10

D +?+???+?+?+????=?--=∑ (2)

由式(2)可归纳十进制数转换为二进制数的方法:从十进制数的最高位D n 开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。

程序流程图如图2-2所示。实验参考程序如下。 实验程序清单(例程文件名:A2-1.ASM )

SSTACK SEGMENT STACK

DW 64 DUP(?) SSTACK ENDS DATA SEGMENT

SADD DB 30H,30H,32H,35H,36H ;十进制数:00256

DATA ENDS CODE SEGMENT

ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX

MOV AX, OFFSET SADD MOV SI, AX MOV BX, 000AH MOV CX, 0004H MOV AH, 00H MOV AL, [SI] SUB AL, 30H A1: IMUL BX

MOV DX, [SI+01]

AND DX, 00FFH

图2-2 转换程序流程图

ADC AX, DX

SUB AX, 30H

INC SI

LOOP A1

A2: JMP A2

CODE ENDS

END START

实验步骤

(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统。

(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H。

(3)在A2处设置断点,然后运行程序。

(4)到断点后查看AX寄存器,即为转换结果,应为:0100 。

(5)数据区的数据修改为自己学号的后四位数据(如:03526),按照上面步骤运行程序,记录结果。

(6)修改数据区数据,按照上面步骤运行程序,验证程序的正确性,记录结果。

4. 将十进制数的ASCII码转换为BCD码

从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转换为BCD码后,再按位分别存入350AH起始的内存单元内。若输入的不是十进制的ASCII码,则对应存放结果的单元内容为“FF”。由表2-1可知,一字节ASCII码取其低四位即变为BCD码。

实验程序清单(例程文件名:A2-2.ASM)

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: XOR AX,AX

MOV DS,AX

MOV CX, 0005H ;转换位数

MOV DI, 3500H ;ASCII码首地址

A1: MOV BL, 0FFH ;将错误标志存入BL

MOV AL, [DI]

CMP AL, 3AH

JNB A2 ;不低于3AH则转A2

SUB AL, 30H

JB A2 ;低于30H则转A2

MOV BL, AL

A2: MOV AL, BL ;结果或错误标志送入AL

MOV [DI+0AH],AL ;结果存入目标地址

INC DI

LOOP A1

MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

实验步骤

(1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统。

(2)在0000:3500H~0000:3504H单元中存放五位十进制数的ASCII码,即:31,32,33,34,35。

(3)在MOV AX,4C00H指令处设置断点,运行程序到断点。

(4)0000:350AH单元,显示运行结果,应为:

0000:350A 01 02 03 04 05 CC …

(5)反复测试几组数据,验证程序功能。

5. 将十六位二进制数转换为ASCII 码表示的十进制数

十六位二进制数的值域为0~65535,最大可转换为五位十进制数。 五位十进制数可表示为:

01223344D 10D 10D 10D 10D N +?+?+?+?=

D i :表示十进制数0~9

将十六位二进制数转换为五位ASCII 码表示的十进制数,就是求D1~D4,并将它们转换为ASCII 码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H 、3501H 中,转换结果存放于3510H ~3514H 单元中。

实验程序清单(例程文件名:A2-3.ASM )

SSTACK SEGMENT STACK

DW 64 DUP(?) SSTACK ENDS CODE SEGMENT

ASSUME CS:CODE START: MOV SI,3500H ;源数据地址 MOV DX,[SI] MOV SI,3515H

;目标数据地址

A1: DEC SI MOV AX,DX MOV DX,0000H MOV CX,000AH ;除数10

DIV CX ;得商送AX, 得余数送DX XCHG AX,DX ADD AL,30H ;得Di 的ASCII 码 MOV [SI],AL ;存入目标地址

CMP DX,0000H JNE A1 ;判断转换结束否,未结束则转A1 A2: CMP SI,3510H ;与目标地址得首地址比较

JZ A3

;等于首地址则转A3,否则将剩余地址中填30H

DEC SI MOV AL,30H MOV [SI],AL JMP A2

A3: MOV AX,4C00H INT 21H ;程序终止

CODE ENDS

END START

实验步骤

(1)编写程序,经编译、链接无误后,装入系统。 (2)在3500H 、3501H 中存入0C 00。 (3)运行程序,待程序运行停止。

(4)检查运行结果,键入D3510,结果应为:30 30 30 31 32。 (5)可反复测试几组数据,验证程序的正确性。

6. 十六进制数转换为ASCII 码

由表2.1中十六进制数与ASCII 码的对应关系可知:将十六进制数0H ~09H 加上30H 后得到相应的ASCII 码,AH ~FH 加上37H 可得到相应的ASCII 码。将四位十六进制数存放于起始地址为3500H 的内存单元中,把它们转换为ASCII 码后存入起始地址为350AH 的内存单元中。自行绘制流程图。

实验程序清单(例程文件名为A2-4.ASM )

SSTACK

SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX,0004H

MOV DI,3500H ;十六进制数源地址

MOV DX,[DI]

A1: MOV AX,DX

AND AX,000FH ;取低4位

CMP AL,0AH

JB A2 ;小于0AH则转A2

ADD AL,07H ;在A~FH之间,需多加上7H

A2: ADD AL,30H ;转换为相应ASCII码

MOV [DI+0DH],AL ;结果存入目标地址

DEC DI

PUSH CX

MOV CL,04H

SHR DX,CL ;将十六进制数右移4位

POP CX

LOOP A1

MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

实验步骤

(1)编写程序,经编译、链接无误后装入系统。

(2)在3500H、3501H中存入四位十六进制数203B,即键入E3500,然后输入3B 20。

(3)先运行程序,待程序运行停止。

(4)键入D350A,显示结果为:0000:350A 32 30 33 42 CC …。

(5)反复输入几组数据,验证程序功能。

7. BCD码转换为二进制数

将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,自行绘制流程图并编写程序。

实验程序清单(例程文件名为:A2-5.ASM)

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: XOR AX, AX

MOV CX, 0004H

MOV SI, 3500H

MOV DI, 3510H

A1: MOV AL, [SI]

ADD AL, AL

MOV BL, AL

ADD AL, AL

ADD AL, AL

ADD AL, BL

INC SI

ADD AL, [SI]

MOV [DI], AL

INC SI

INC DI

LOOP A1

MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

实验步骤

(1)编写程序,经编译、链接无误后装入系统。

(2)将四个二位十进制数的BCD码存入3500H~3507H中,即:

先键入E3500,然后输入01 02 03 04 05 06 07 08。

(3)先运行程序,待程序运行停止。

(4)键入D3510显示转换结果,应为:0C 22 38 4E。

(5)反复输入几组数据,验证程序功能。

8.提高练习

将上述程序数据部分全部改为变量形式,然后运行,通过变量查看运行结果。

(例如:将十进制数的ASCII码转换为BCD码

实验程序清单(例程文件名:A2-2A.ASM)

SSTACK ENDS

DATA SEGMENT

ASCN DB 31H,32H,33H,34H,35H

BCDN DB 5 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE ,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX, 0005H ;转换位数

MOV DI, OFFSET ASCN ;ASCII码首地址

A1: MOV BL, 0FFH ;将错误标志存入BL

MOV AL, [DI]

CMP AL, 3AH

JNB A2 ;不低于3AH则转A2

SUB AL, 30H

JB A2 ;低于30H则转A2

MOV BL, AL

A2: MOV AL, BL ;结果或错误标志送入AL

MOV [DI+BCDN],AL ;结果存入目标地址

INC DI

LOOP A1

MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

三、分支程序设计实验

设计一数据块间的搬移程序。设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,如图2.14所示。

源数据块

目的数据块

0H

FFFFFH

源数据

目的数据块

0H

FFFFFH

源数据

目的数据块

0H

FFFFFH

(a ) (b ) (c )

图4-1 源数据块与目的数据块在存储中的位置情况

对于两个数据块分离的情况,如图4-1(a ),数据的传送从数据块的首地址开始,或从数据块的末地址开始均可。但是对于有重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭到破坏,可有如下结论:

当源数据块首地址<目的块首地址时,从数据块末地址开始传送数据,如图4-1(b )所示。 当源数据块首地址>目的块首地址时,从数据块首地址开始传送数据,如图4-1(c )所示。 实验程序流程图如图4-2所示。

图4-2 程序流程图

实验程序清单(例程文件名为:A4-1.ASM )

SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE

SEGMENT

ASSUME CS:CODE

START: MOV CX, 0010H

MOV SI, 3100H

MOV DI, 3200H

CMP SI, DI

JA A2

ADD SI, CX

ADD DI, CX

DEC SI

DEC DI

A1: MOV AL, [SI]

MOV [DI], AL

DEC SI

DEC DI

DEC CX

JNE A1

JMP A3

A2: MOV AL, [SI]

MOV [DI], AL

INC SI

INC DI

DEC CX

JNE A2

A3: MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

实验步骤

1. 按流程图编写实验程序,经编译、链接无误后装入系统。

2. 用E命令在以SI为起始地址的单元中填入16个数。

3. 运行程序,待程序运行停止。

4. 通过D命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同。

5. 通过改变SI、DI的值,观察在三种不同的数据块情况下程序的运行情况,并验证程序的功能。

四、循环程序设计实验

实验内容及步骤

1. 计算S =1+2×3+3×4+4×5+…+N (N +1),直到N (N +1)项大于200为止。 编写实验程序,计算上式的结果,参考流程图如图5-1所示。 实验程序清单(例程文件名为:A5-1.ASM )

SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT

ASSUME CS:CODE START: MOV DX,0001H MOV BL,02H A1: MOV AL,BL INC BL MUL BL ADD DX,AX ;结果存于DX 中

CMP AX,00C8H ;判断N(N+1)与200的大小

JNA A1

MOV AX,4C00H INT 21H ;程序终止

CODE ENDS

END START

实验步骤

(1)编写实验程序,编译、链接无误后装入系统。 图5-1 程序流程图 (2)运行程序,待程序运行停止。

(3)运算结果存储在寄存器DX 中,查看结果是否正确。

(4)可以改变N (N +1)的条件来验证程序功能是否

正确,

但要注意,结果若大于0FFFFH 将产生数据溢出。

2. 求某数据区内负数的个数

设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得到区内所包含负

数的个数。

实验程序流程图如图5-2所示。

实验程序清单(例程文件名为:A5-2.ASM )

SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DI, 3000H ;数据区首地址 MOV CL, [DI] ;取数据个数

XOR CH, CH MOV BL, CH INC DI ;指向第一个数据

A1: MOV AL, [DI]

TEST AL, 80H ;检查数据首位是否为1

JE A2

INC BL ;负数个数加1

A2: INC DI

LOOP A1

MOV [DI], BL ;保存结果

MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

实验步骤

(1)按实验流程编写实验程序。

(2)编译、链接无误后装入系统。

(3)键入E3000,输入数据如下:

3000=06 (数据个数)

3001=12

3002=88

3003=82

3004=90

3005=22

3006=33 图5-2 程序流程图(4)先运行程序,待程序运行停止。

(5)查看3007内存单元或寄存器BL中的内容,结果应为03。

(6)可以进行反复测试来验证程序的正确性。

五、排序程序设计实验

实验内容及步骤

1. 气泡排序法

在数据区中存放着一组数,数据的个数就是数据缓冲区的长度,要求采用气泡法对该数据区中的数据按递增关系排序。

设计思想:

(1)从最后一个数(或第一个数)开始,依次把相邻的两个数进行比较,即第N个数与第N-1个数比较,第N-1个数与第N-2个数比较等等;若第N-1个数大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。此时,N个数中的最小数将被排在N个数的最前列。

(2)对剩下的N-1个数重复(1)这一步,找到N-1个数中的最小数。

(3)再重复(2),直到N个数全部排列好为止。

实验程序清单(例程文件名为:A6-1.ASM)

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX, 000AH

MOV SI, 300AH

MOV BL, 0FFH

A1: CMP BL, 0FFH

JNZ A4

MOV BL, 00H

DEC CX

JZ A4

PUSH SI

PUSH CX

A2: DEC SI

MOV AL, [SI]

DEC SI

CMP AL, [SI]

JA A3

XCHG AL, [SI]

MOV [SI+01H], AL

MOV BL, 0FFH

A3: INC SI

LOOP A2

POP CX

POP SI

JMP A1

A4:MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

实验步骤

(1)分析参考程序,绘制流程图并编写实验程序。

(2)编译、链接无误后装入系统。

(3)键入E3000命令修改3000H~3009H单元中的数,任意存入10个无符号数。

(4)先运行程序,待程序运行停止。

(5)通过键入D3000命令查看程序运行的结果。

(6)可以反复测试几组数据,观察结果,验证程序的正确性。

2. 学生成绩名次表

将分数在1~100之间的10个成绩存入首地址为3000H的单元中,3000H+I表示学号为I的学生成绩。编写程序,将排出的名次表放在3100H开始的数据区,3100H+I中存放的为学号为I的学生名次。

实验程序清单(例程文件名为:A6-2.ASM)

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,0000H

MOV DS,AX

MOV ES,AX

MOV SI,3000H ;存放学生成绩

MOV CX,000AH ;共10个成绩

MOV DI,3100H ;名次表首地址

A1: CALL BRANCH ;调用子程序

MOV AL,0AH

SUB AL,CL

INC AL

MOV BX,DX

MOV [BX+DI],AL

LOOP A1

MOV AX,4C00H

INT 21H ;程序终止

;===扫描成绩表,得到最高成绩者的学号===

BRANCH: PUSH CX

MOV CX,000AH

MOV AL,00H

MOV BX,3000H

MOV SI,BX

A2: CMP AL,[SI]

JAE A3

MOV AL,[SI]

MOV DX,SI

SUB DX,BX

A3: INC SI

LOOP A2

ADD BX,DX

MOV AL,00H

MOV [BX],AL

POP CX

RET

CODE ENDS

END START

实验步骤

(1)绘制流程图,并编写实验程序。

(2)编译、链接无误后装入系统。

(3)将10个成绩存入首地址为3000H的内存单元中。

(4)调试并运行程序。

(5)检查3100H起始的内存单元中的名次表是否正确。

微机原理实验指导书

微机原理及应用实验指导书 南京理工大学机械工程学院 2011年10月10日

实验1 基本操作实验 1. 实验目的 (1) 掌握TD-PITC 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。 (2) 掌握使用运算类指令编程及调试方法; (3) 掌握运算类指令对各状态标志位的影响及其测试方法; (4) 学习使用软件监视变量的方法。 2. 实验设备 PC机一台,TD-PITC 实验装置一套。 3. 实验内容及步骤 通过对样例程序的操作,学会在TD-PITC境下,如何输入汇编语言程序,如何进行汇编语言源程序的汇编、连接、下载和运行;在调试程序的学习过程中,应学会: ●如何设置断点; ●如何单步运行程序; ●如何连续运行程序; ●怎样查看寄存器的内容; ●怎样修改寄存器的内容; ●怎样查看存储器的内容; ●怎样修改存储器的内容。 3.1 实验内容1――――BCD码转换为二进制数 实验内容: 将四个二位十进制数的BCD 码存放于3500H 起始的内存单元中,将转换的二进制数存入3510H 起始的内存单元中,自行绘制流程图并编写程序。 参考实验程序清单如下: SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: XOR AX, AX MOV CX, 0004H MOV SI, 3500H MOV DI, 3510H A1: MOV AL, [SI] ADD AL, AL MOV BL, AL

ADD AL, AL ADD AL, AL ADD AL, BL INC SI ADD AL, [SI] MOV [DI], AL INC SI INC DI LOOP A1 A2: JMP A2 CODE ENDS END START 实验步骤: 1)运行Wmd86 软件,进入Wmd86 集成开发环境。 2)根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1所示。语言选择后,下次再启动软件,语言环境保持这次的修改不变。在这里,我们选择汇编语言。 图1-1 语言环境选择界面 3)语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-2所示。默认文件名为Wmd861。 图1-2 新建文件界面 4)编写实验程序,如图1-3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。

《操作系统原理》信管专业实验指导书资料

《操作系统原理》实验指导书 班级:_______________ 学号:_______________ 姓名:_______________ 山东建筑大学管理工程学院 信息管理与信息系统教研室

目录 引言 (1) 实验题目一 (2) 实验题目二 (4) 实验题目三 (6) 实验题目四 (8) 实验题目五 (10) 实验题目六 (12)

引言 操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。 操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。 本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。

实验题目一:模拟进程创建、终止、阻塞、唤醒原语 一、题目类型:必做题目。 二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进 程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境: 1、硬件:PC 机及其兼容机。 2、软件:Windows OS ,Turbo C 或C++、VC++、https://www.sodocs.net/doc/a818862585.html, 、Java 等。 四、实验内容: 1、设计创建、终止、阻塞、唤醒原语功能函数。 2、设计主函数,采用菜单结构(参见后面给出的流程图)。 3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供 随时查看各队列中进程的变化情况。 五、实验要求: 1、进程PCB 中应包含以下内容: 2、系统总体结构: 其中: 进程名用P1,P2标识。 优先级及运行时间:为实验题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB 。

微机原理实验指导

微机原理实验一简单I/O口扩展实验 一、实验目的 1. 熟悉74LS273、74LS244的应用接口方法。 2. 掌握用锁存器、三态门扩展简单并行输入输出口的方法。 二、实验内容 用逻辑电平开关作为74LS244(U10)的输入,用发光二极管作为74LS273的输 出,编写程序,使得逻辑电平开关的输入状态从发光二极管上显示出来。 三、实验器材 微机、EL型微机教学实验箱 四、实验原理图 4LS273 4 4LS02 S O S I C S U 1 R K1-K8是开关的输出插孔,L1-L8是发光二极管的输入插孔,SI0-SI7是74LS244 的输入插孔,SO0-SO7是74LS273的输出插孔,CSU10\是74LS244的地址译码输入插孔,CSU8\是74LS273译码输入插孔,以上插孔实验时均需连线,原理图中其它已注的和未标注的引脚均以连好或实验不需要。 74LS244

五、实验步骤 1.连线:将74LS244的输入SI0-SI7分别与逻辑电平开关电路的 K1-K8相连,从I/O地址片选信号 CS0\~CS7\中任选一个与 U10的片选信号相连(例如CS0\)。将74LS273(U8或U9)的输出(CS0\~CS7\)分别与发光二极管电路的 L1~L8相连,从I/O地址片选信号CS0\~CS7\中任选一个与U8或U9的片选信号相连。(如CS1\)2.编辑程序,单步运行,调试程序 3.调试通过后,全速运行,观察实验结果 4.编写实验报告 六、编程提示 逻辑电平开关拨上时为5V,拨下时为0V,发光二极管输入‘1’为亮,‘0’为灭。从U10读入的数据后从输出口输出。 七、程序框图

微机原理及应用实验

实验报告1 实验项目名称:I/O地址译码;简单并行接口同组人: 实验时间:实验室:微机原理实验室K2-407 指导教师:胡蔷 一、实验目的: 掌握I/O地址译码电路的工作原理,简单并行接口的工作原理及使用方法。 二、预备知识: 输入、输出接口的基本概念,接口芯片的(端口)地址分配原则,了解译码器工作原理及相应逻辑表达式,熟悉所用集成电路的引线位置及各引线用途;74LS245、74LS373的特性及作用。 三、实验内容245输入373输出 使用Protues仿真软件制作如下电路图,使用EMU8086编译软件编译源程序,生成可执行文件(nn . exe),在Protues仿真软件中加载程序并运行,分析结果。 编程实现:读8个开关的状态,根据输入信号控制8个发光二极管的亮灭。 图1-1 245输入373输出 四、程序清单

五、实验结果 六、结果分析 七、思考题: 1、如果用74LS373作输入接口,是否可行?说明原因;用74LS245作输出接口,是否可行?说明原因。

实验报告2 实验项目名称:可编程定时器/计数器;可编程并行接口同组人: 实验时间:实验室:微机原理实验室K2-407 指导教师:胡蔷 一、实验目的: 掌握8253的基本工作原理和编程应用方法。掌握8255的工作原理及使用方法。 二、预备知识: 8253的结构、引脚、控制字,工作方式及各种方式的初始化编程及应用。 8255的内部结构、引脚、编程控制字,工作方式0、1、2的区别,各种方式的初始化编程及应用。 三、实验内容: ⑴8253输出方波 利用8253的通道0和通道1,设计产生频率为1Hz的方波。设通道0的输入时钟频率为2MHz,8253的端口地址为40H,42H,44H,46H。通道0的输入时钟周期0.5μs,其最大定时时间为:0.5μs×65536 = 32.768ms,要产生频率为1Hz(周期= 1s)的方波,利用;一个通道无法实现。可用多个通道级连的方法,将通道0的输出OUT0作通道1的输入时钟信号。设通道0工作在方式2(频率发生器),输出脉冲周期= 10 ms,则通道0的计数值为20000(16位二进制)。周期为4 ms的脉冲作通道1的输入时钟,要求输出端OUT1输出方波且周期为1s,则通道1工作在方式3(方波发生器),计数值为100(8位;二进制)。硬件连接如图2-1。

操作系统实验指导书

实验前准备工作:Linux的安装 一. 实验目的 1.掌握Red Hat Linux操作系统的安装步骤。 2.掌握启动、关闭操作系统的方法。 二.实验准备 Red Hat Linux操作系统既可以单独安装在一个计算机系统中;也可以与其它操作系统如windows操作系统一起安装在一个计算机系统中,但注意在安装时要先装windows操作系统,再装Linux;或者利用主机的资源(如CPU、内存、硬盘),模拟出的一台新计算机。然后在虚拟机中安装windows、Linux等系统,使用虚拟机对主机的要求比较高,建议内存512MB以上。 1.硬盘分区 理解硬盘、分区的名称: ?IDE硬盘名称: /dev/hda, /dev/hdb …… ?SCSI硬盘名称:/dev/sda, /dev/sdb …… 分区名称:/dev/hda1, /dev/hda2 …… 一个硬盘最多分4个主分区和扩展分区,扩展分区最多只能建1个,扩展分区不能直接放数据,还必须建立逻辑分区才能使用。 安装Red Hat Linux至少需要两个硬盘分区:一个或多个―Linux native‖类型的分区,一个―Linux swap‖类型的分区。即使将Linux安装在一个专门的硬盘上,或者一台不安装其他操作系统的计算机上,仍然需要为其创建分区。在安装过程中,会提示用户为Red Hat Linux 创建分区,必须保证有足够的硬盘空间来创建分区。推荐以下分区配置: (1)一个根分区 (2)一个交换分区 (3)一个/usr分区 (4)一个/home分区。 2. 安装类型 Red Hat Linux提供了三种类型的安装: (1)客户机类型安装(workstation) (2)服务器类型安装(server system) (3)自定义类型的安装(custom system) 三.实验内容 请在虚拟机中安装Linux。 1. 安装虚拟机软件 常用的虚拟机软件有Vmware和VPC,如果主机性能较好,还能同时虚拟出多台虚拟机;一台虚拟机对应主机上的一个目录,删除该目录就删除了虚拟机;该目录拷到其它电脑

微机原理实验报告

汇编语言程序设计实验 一、实验内容 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

微机原理及接口技术习题解答与实验指导

第一部分学习指导与习题解答 (3) 第1章计算机基础 (3) 1.1 学习指导 (3) 1.2 单项选择题 (3) 1.3 判断题 (6) 1.4填空题 (6) 1.5 简答题 (7) 第2章微处理器 (9) 2.1 学习指导 (9) 2.2单项选择题 (11) 2.3判断题 (15) 2.4填空题 (17) 2.5 简答题 (19) 第3章80x86指令系统 (22) 3.1学习指导 (22) 3.2单项选择题 (23) 3.3 判断题 (29) 3.4 填空题 (30) 3.5 简答题、 (34) 3.6. 分析程序题 (40) 3.7 编程题 (43) 第四章 (45) 4.3 判断题 (52) 4.4 填空题 (54) 4.5 简答题 (64) 4.6 分析程序题 (76) 4.7 编程题 (85) 第5章半导体存储器及其接口技术 (118) 5.1 学习指导 (118) 5.2单项选择题 (118) 5.3判断题 (121) 5.4填空题 (122) 5.5简答题 (123) 5.6应用题 (126) 第6章微型计算机接口技术 (134) 6.1 学习指导 (134) 6.2单项选择题 (135) 6.3判断题 (138) 6.4填空题 (139) 6.4填空题 (141) 6.5简答题 (141) 第7章,简单接口电路设计 (148) 7.1 学习指导 (148) 7.2单项选择题 (149) 7.3判断题 (149) 7.5应用题 (150)

第8章可编程接口技术 (156) 8.1可编程计数器8253/8254 (156) 8.1.1学习指导 (156) 8.1.2单项选择题 (157) 8.1.3判断题 (159) 8.1.4填空题 (159) 8. 1 . 5 简答题 (160) 8.1.6 应用题 (160) 8.2 并行通信接口8255A (163) 8.2.1 学习指导 (163) 8.2.2 单选题 (163) 8.2.3 判断题 (164) 8.2.4 填空题 (165) 8.2.5应用题 (165) 8.3串行通信接口8250/8251 (170) 8.3.2 单项选择题 (172) 8.3.3判断题 (172) 8.4可编程中断控制器8259A (178) 8.4.1 学习指导 (178) 8.4.2单选题 (178) 8.4.3 判断题 (180) 8.4.4 填空题 (181) 8.4.5 简答题 (182) 8.4.6 应用题 (184) 第9章自检试卷 (187) 9.1 自检试题一 (187) 自检试题二 (192)

80x86微机原理与接口技术实验指导书

80x86微机原理与接口技术 实验指导书 长安大学信息工程学院电子信息与通信工程实验室

第1章 80X86 微机原理及其程序设计实验 本章主要介绍汇编语言程序设计,通过实验来学习80X86 的指令系统、寻址方式以及程序的设计方法,同时掌握联机软件的使用。 1.1 系统认识实验 1.1.1 实验目的 掌握TD-PITE 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。 1.1.2 实验设备 PC机一台,TD-PITE 实验装置一套。 1.1.3 实验内容 编写实验程序,将00H~0FH 共16 个数写入内存3000H 开始的连续16 个存储单元中。 1.1.4 实验步骤 1. 运行Wmd86 软件,进入Wmd86 集成开发环境。 2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1-1所示。语言选择后,下次再启动软件,语言环境保持这次的修改不变。在这里,我们选择汇编语言。 图1-1-1 语言环境选择界面 3. 语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-1-2所示。默认文件名为Wmd861。 图1-1-2 新建文件界面 4. 编写实验程序,如图1-1-3所示,并保存,此时系统会提示输入新的文件名,输完后

点击保存。 图1-1-3 程序编辑界面 5. 点击,编译文件,若程序编译无误,则输出如图1-1-4所示的输出信息,然后再点击进行链接,链接无误输出如图1-1-5所示的输出信息。 图1-1-4 编译输出信息界面图1-1-5 链接输出信息界面 6. 连接PC与实验系统的通讯电缆,打开实验系统电源。 7. 编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。可以通过端口列表中的“端口测试”来检查通讯是否正常。点击下载程序。为编译、链 接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。起始运行语句下会有一条绿色的背景。如图1-1-6所示。

操作系统实验-实验指导书

3 《操作系统》实验指导书 实验学时:16 适用专业:计算机科学与技术,软件技术 操作系统上机实验 一、实验目的 主要目的是配合操作系统课程的学习,模拟实现操作系统的功能,有助于对操作系统的理解,同时加强学生对系统设计、程序编写、代码调试、软件开发过程基本技能的掌握。 上机作业应作到:覆盖讲授的所有原理内容,使得学生通过上机实践对原理有更深的理解;每一道上机作业,都要求学生必须完成一个完整的、可运行的小型软件,籍此提升基本的软件开发技能。 二、实验要求 (1)上机实验之前,学生应当为每次上机的内容作好充分准备。对每次上机需要完成的题目进行认真的分析,选择合适的算法,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容以及思考题的要求进行上机操作。录入程序,编译调试,反复修改,直到使用要求的算法,使程序正常运行,得出正确的输出结果为止。 (3)上机作业要求提交原始代码、设计文档和可运行程序。以完整的作业包的形式提交。实验报告应当包括:实验题目,程序清单,运行结果,所选取的算法及其优缺点以及通过上机取得了哪些经验。程序清单要求格式规范,注意加注释(包含关键

字、方法、变量等),在每个模块前加注释,注释不得少于20% 三、实验内容 上机实验包括:操作系统使用、SHELL编程、进程管理、进程调度、死锁处理、存储管理、文件系统几个部分。 实验1: SHELL编程 实验目的 熟悉linux常用命令,为以后的实验打下良好基础; 熟悉vi编辑器的使用; 了解Shell程序的语法规则,能编写简单的Shell程序。 实验内容 1、使用常用的Linux命令,主要包括如下命令: date, mail, write, man, ls, cat, mv, grep, tail, head, cp, wc, pwd, who等; 2、使用vi编辑器编辑文件,熟悉vi编辑器的各种操作模式和常用命令。 3、使用vi编辑器编写一段Shell程序,取名为mycal,实现与Linux中cal命令类 似的功能,当输入: $mycal [月份名] 年时,屏幕输出指定的年月的月历。例如: $mycal October 2009 屏幕输出2009年10月的月历。 注:参数可以是英文或者是数字。 实验2:观察Linux的行为 实验目的 了解Linux proc文件系统; 加深对Linux系统的理解; 增强Linux系统管理知识。 实验内容 在Linux中,proc文件系统提供了一套在用户态检查内核状态和系统特征的机制。proc文件系统将进程的地址空间、系统的硬件信息、系统相关机制(中断、I/O)等内容全部设置为虚拟的Linux文件,为访问系统内核数据的操作提供接口。 1、以root登录系统,并进入/proc目录,键入ls命令,查看/proc下的内容,同时 查看每个文件的读写权限。 2、根据/proc下的信息,回答:CPU的类型和型号、当前Linux版本、从启动到当 前时刻所经过的时间、当前内存状态。

微机原理实验指导

实验一 MASM For Windows 的使用及顺序程序设计 一、实验目的 1、熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。 2、熟悉masm for windows调试环境及DEBUG常用命令的使用 二、实验内容 1.DEBUG常用命令(U、R、D、E、F、T、G、Q)的操作使用 2.编程实现两个16位无符号数的加、减、乘、除运算。 有两个两字节无符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显示。相加若有进位不存入存储单元。 三、实验设备 PC机一台、masm for windows 汇编语言集成环境 四、实验准备 1) 分析题目,将程序中的原始数据和最终结果的存取方法确定好。 2) 画出流程图。 3) 写出源程序。 4) 对程序中的结果进行分析,并准备好上机调试与用汇编程序及汇编调试的过程。 五、实验步骤 1) 输入源程序。 2) 汇编、连接程序,生成 .EXE文件,执行文件,检查结果。 六、学生实验报告的要求 1) 列出源程序,说明程序的基本结构,包括程序中各部分的功能。 2) 说明程序中各部分所用的算法。

3) 说明主要符号和所用到寄存器的功能。 4) 上机调试过程中遇到的问题是如何解决的。 5) 对调试源程序的结果进行分析。 4) 说明标志位CF、SF和OF的意义。 DEBUG的常用命令 1、R 显示或修改寄存器的内容命令格式:-R 2、 D 显示存储单元的内容命令格式:-D[地址1, 地址2] 3、E修改存储单元的内容 命令格式:-E[地址1, 地址2] 4、U反汇编 命令格式:-U[地址1, 地址2] 5、T单步执行 命令格式:-T 6、G连续执行 命令格式:-G[=起始地址, 结束地址] A小汇编 命令格式:-A 7、Q退出DEBUG,返回DOS 实验一源程序 EXAM1-2 .ASM DATA SEGMENT A D B 34H,18H,2 DUP(0),’$’ B DB 56H,83H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,A MOV BL,B ADD AL,BL

微机原理实验指导书

微机原理实验指导书汕头大学机电系摘录

实验一P1口实验及延时子程序设计 1.实验目的 利用单片机的P1口作为I/O口进行实验验证,掌握利用P1口作为输入口和输出口的编程方法,理解并掌握延时子程序的设计方法。 2.实验设备及器件 IBM PC机一台 DP-51PRO单片机综合仿真实验仪一台 3.实验内容 (1)编写一段程序,用P1口作为控制端口,使D1区的LED轮流点亮。 (2)编写一段程序,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭(P1.7接按键,按下时LED 亮,不按时LED灭)。 图 1 4.实验要求 学会使用单片机的P1口作I/O口。如果时间充裕,也可以考虑利用P3口作I/O口来做该实验。 5.实验步骤 ①用导线把A2区的J61接口与D1区的J52接口相连。原理如图1所示。 ②先编写一个延时程序。 ③将LED轮流点亮的程序编写完整并调试运行。 ④使用导线把A2区J61接口的P1.0~P1.6与D1区J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区J53的KEY1相连。原理如图3.2(b)所示。 ⑤编写P1.7控制LED的程序,并调试运行(按下K1看是否全亮)。 ⑥A2区J61接口P1.7与D1区J54的SW1相连,然后再运行程序,拨动开关SW1查看结果。

6.实验预习要求 阅读附录内容,理解实验的硬件结构。可以先把程序编好,然后在Keil C51环境下进行软件仿真。 7.实验参考程序 程序1: ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0000H LJMP M ain ORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0100H Main: MOV A,#0FFH CLR C MainLoop: CALL Delay RLC A MOV P1,A ;把A的值输出到P1口 SJMP MainLoop Delay: MOV R7, #0 ;延时 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop RET ; END 程序2: ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0000H LJMP Main ORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0100H Main:JB P1.7,SETLED ;按键没有按下时,跳转到SETLED CLRLED: CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SJMP Main SETLED: SETB P1.0 SETB P1.1

北邮微机原理与接口技术硬件实验报告

微原硬件实验报告 班级:07118 班 学号:070547 班内序号:26 姓名:杨帆

实验一熟悉实验环境及IO的使用 一,实验目的 1. 通过实验了解和熟悉实验台的结构,功能及使用方法。 2. 通过实验掌握直接使用Debug 的I、O 命令来读写IO 端口。 3. 学会Debug 的使用及编写汇编程序 二,实验内容 1. 学习使用Debug 命令,并用I、O 命令直接对端口进行读写操作, 2.用汇编语言编写跑马灯程序。(使用EDIT 编辑工具)实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度 等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) 三,实验步骤 1.实验板的IO 端口地址为EEE0H 在Debug 下, I 是读命令。(即读输入端口的状态---拨码开关的状态) O 是写命令。(即向端口输出数据---通过发光管来查看) 进入Debug 后, 读端口拨动实验台上八位拨码开关 输入I 端口地址回车 屏幕显示xx 表示从端口读出的内容,即八位开关的状态ON 是0,OFF 是 1 写端口 输入O 端口地址xx (xx 表示要向端口输出的内容)回车 查看实验台上的发光二极管状态,0 是灯亮,1 是灯灭。 2. 在Debug 环境下,用a 命令录入程序,用g 命令运行 C>Debug -a mov dx, 端口地址 mov al,输出内容 out dx, al

mov ah, 0bh int 21h or al, al jz 0100 int 20h -g 运行查看结果,修改输出内容 再运行查看结果 分析 mov ah, 0bh int 21h or al, al jz 0100 int 20h 该段程序的作用 3.利用EDIT 工具编写汇编写跑马灯程序程序 实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) C>EDIT 文件名.asm 录入程序 按Alt 键打开菜单进行存盘或退出 编译文件 C>MASM 文件名.asm 连接文件 C>LINK 文件名.obj 运行文件或用Debug 进行调试。 四,程序流程图

2013微机原理实验指导书

微机原理实验报指导书 实验一数据传送实验 1.实验名称实验一数据传送实验 2.实验目的 1、掌握微型计算机汇编软件调试汇编源程序的基本操作; 2、熟悉传送指令、简单运算类指令来编写汇编语言源程序; 3、掌握调试过程及实验结果分析; 3.实验仪器 微型计算机一台 4.实验原理或内容 1.数据段从3500H单元开始建立0---15共16个数据区,程序中见此段存入 数据00H,01H,02H---0AH---0FH,运行之,检查并记录结果。 2.将内存3500H开始的共10个单元内容传送到3600H单元开始的数据区中,运行之,记录结果。 5.实验步骤 1.启动Masm for Windows 集成实验环境2009.6。显示如下: 2.输入源程序 在模板处将程序完成,其中模板中段名可以自己修改定义,没有涉及的段可省略不写。 输入汇编语言源程序后,保存程序(规定扩展名为.asm)

3.汇编 编译/汇编成目标文件,单击运行菜单下“编译成目标文件(obj)”,等待系统汇编,若有错误,修改再编译,直至无错误为止。

4.连接 生成可执行文件。单击运行菜单下“生成可执行文件(exe)”,等待系统对汇编生成的.obj文件进行连接,生成相应的可执行文件。若有错误,修改错误重复3和4操作,直至无错误为止。

5.在DEBUG调试环境下进行程序的调试 1、反汇编。u回车 -u0000回车 2、单步运行。-T=0000回车 -T回车 3、连续运行。G=起始偏移地址结束偏移地址 4、内存单元内容显示。-Dds:3500回车 5、内存单元内容的修改。-EDS:3500回车.键入修改后内容再空格 完成后回车 6、查看修改寄存器。-R回车 -R跟寄存器名,显示寄存器内容:后可跟修改内容 -R IP 可查看修改IP值 7、退出debuf。Q命令 6.数据与结果 将运行结果记录于此处

Linux操作系统实验指导书

《Linux系统管理与维护》实验指导书 实验一初识Linux操作系统 一实验名称 初识Linux操作系统 二实验目的与要求 掌握Linux的启动、登录与注销。 三实验内容 1.以root用户和普通用户两种不同身份登录Linux,说出其登录后得差异。 2.图形模式下的注销、重启与关机。 3.学会在虚拟机上登录和注销Linux。 四操作步骤与结果分析 五问题与建议

实验二Linux的桌面应用 一实验名称 Linux的桌面应用 二实验目的与要求 熟悉Linux操作系统桌面环境 熟悉Linux文件系统及常用的操作 掌握Linux下使用外部存储设备、网络设备 掌握Linux下安装应用程序 三实验内容 1.查看GNOME提供的“应用程序”、“位置”或者“系统”菜单,运行其中的应用程 序和工具。 2.查看Linux文件目录结构,学会常用的文件目录操作,如复制、粘贴、移动、删 除、更名、创建文档、创建文件夹等。 3.练习在Linux下使用光盘和U盘。 4.学会网络配置,使计算机能够进行网络浏览等操作。 5.学会在Linux下安装新的应用软件。 四操作步骤与结果分析 五问题与建议

实验三Linux操作系统的安装 一实验名称 Linux操作系统的安装 二实验目的与要求 掌握安装Linux操作系统 三实验内容 1.通过学习《项目五Linux操作系统的安装及远程服务》的内容,学会如何安装Linux。 环境:windows 系统、vmware虚拟机、Redhat Linux镜像光盘。 通过安装向导将安装分为两步:1、基本安装,2、配置及具体安装。 在第一阶段重点如何分区,在第二阶段重点掌握如何设置密码及安装桌面环境。四操作步骤与结果分析 五问题与建议

微机原理实验报告

微 机 原 理 实 验 报 告 班级: 指导老师:学号: 姓名:

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 图3-1

四、参考程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) 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 AX,TOP MOV SP,AX

MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL

微机原理与接口技术实验指导书1_[1]...

微机原理与接口技术实验指导书 编者:王亭岭 华北水利水电学院 电气学院自动化教研室 二零一二年三月

目录 实验一标志寄存器应用 (1) 实验二指令寻址方式练习 (4) 实验三分支结构程序设计 (6) 实验四循环结构程序设计 (7) 实验五子程序结构程序设计 (8) 实验六DOS系统功能调用程序设计 (10) 实验七BIOS中断调用程序设计 (12) 实验八定时器中断程序设计 (14)

实验一标志寄存器应用 一、实验目的与要求 1.掌握汇编程序的编译过程; 2.掌握8086的标志寄存器的特点。 二、实验内容 微型计算机(80x86系列)。 四、实验参考程序 DATA SEGMENT A DW 123 B DW 456 SUM DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE , DS:DATA START: MOV AX , DATA MOV DS , AX MOV AX , A SUB AX , B MOV SUM , AX MOV AH,4CH INT 21H CODE ENDS END START 五、实验步骤 步骤一、用鼠标单击开始菜单,单击运行。如下图所示:

步骤二、在运行窗口中键入cmd,回车进入命令提示符。如下图所示: 步骤三、在命令提示符中编译汇编源程序并连接*.obj文件。如下图所示:1.C:\>D: 回车 2.D:\ >CD MASM 回车 3.D:\MASM>MASM SY1.ASM 回车 4.D:\MASM>LINK SY1.OBJ 回车

步骤四、在命令提示行中运行并调试汇编程序。如下图所示:1.D:\MASM>SY1.EXE 回车 2.D:\MASM>DEBUG SY1.EXE 回车 六、实验结论 1.程序运行后变量SUM的值是多少? 2.程序运行前后标志寄存器的各标志位有何变化? 3.分析实验结果及所遇到的问题,并说明解决的方法。

《计算机操作系统》实验指导书

《计算机操作系统》 实验指导书 (适合于计算机科学与技术专业) 湖南工业大学计算机与通信学院 二O一四年十月

前言 计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。 为了收到良好的实验效果,编写了这本实验指导书。在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。 实验成绩考核: 实验成绩占计算机操作系统课程总评成绩的20%。指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。有以下情形之一者,实验成绩为不及格: 1.迟到、早退、无故缺勤总共3次及以上者; 2.未按时完成实验达3次及以上者; 3.缺交实验报告2次及以上者。

微机原理实验报告

微机原理实验报告 计算机网络的设计是一个要求动手能力很强的一门实践课程,在课程设计期间我努力将自己以前所学的理论知识向实践方面转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成老师布置的任务,同时也发现了自己的许多不足之处。 在课程设计过程中,我一共完成了11个实验,分别是1.制作直通电缆和交叉UTP、2.交换机Console口和Telnet配置、3.交换机端口和常规配置、4.虚拟局域网VLAN配置、5.路由器Console口Telnet 配置方法和接口配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、9.PPP协议配置、10路由器访问控制表(ACL)、11.网络地址转换(NAT)。 在制作直通电缆和交换UTP的实验中,我起初不能完全按照要求来剪切电缆,导致连接不通,后来在同学的帮助下,终于将实验完成。 在做到单臂路由配置和动态路由协议配置的实验,由于自身的基础知识掌握不牢,忘掉了一些理论知识,在重新翻阅课本和老师的指导之下,也成功的完成了试验。 从抽象的理论回到了丰富的实践创造,细致的了解了计算机网络连接的的全过程,认真学习了各种配置方法,并掌握了利用虚拟环境配置

的方法,我利用此次难得的机会,努力完成实验,严格要求自己,认真学习计算机网络的基础理论,学习网络电缆的制作等知识,利用空余时间认真学习一些课本内容以外的相关知识,掌握了一些基本的实践技能。 课程设计是培养我们综合运用所学知识,发现、提出、分析、解决问题的一个过程,是对我们所学知识及综合能力的一次考察。随着科学技术日新月异的不断发展,计算机网络也在不断的变化发展当中,这就要求我们用相应的知识来武装自己,夯实基础,为将来走向工作岗位,贡献社会做好充分的准备。

微机原理实验指导书(2008-11-11)

《微机原理及应用》实验指导书 张群英编写 桂林工学院电子与计算机系 2008-11-11

目录 汇编语言程序设计的实验环境及上机步骤 (3) 实验一汇编语言程序上机过程与调试 (17) 实验二顺序程序设计 (21) 实验三分支程序设计 (22) 实验四循环程序设计 (24) 实验五子程序设计 (25) 实验六显示程序设计 (26) 实验七系统认识实验 (29) 实验九中断特性及8259应用编程实验 (33) 实验十8255并行接口应用实验 (45) 实验十一8253定时/计数器应用实验 (50)

第一部分:汇编语言程序设计的实验环境及上机步骤 1.1汇编语言程序设计的实验环境 汇编语言程序设计的实验环境为:80x86系列微型计算机一台机进行汇编语言程序设计所必需的编程工具一套。目前被广泛使用的编程工具分别来自Microsoft和Borland两家公司。 1.1.1 Microsoft公司的汇编语言程序设计工具 ◆任意一种文本编辑器——用于编辑生成汇编语言源程序(*.ASM) ◆小汇编程序ASM.EXE或宏汇编程序MASM.ESE——用于将汇编语言源程序(*.ASM)翻译成机器语言文件,即目标文件(*.OBJ) ◆连接程序LINK.EXE——用于将目标文件连接生成可执行文件(*.EXE) ◆调试程序DEBUG.EXE——用于对生成的可执行文件(*.EXE)进行逻辑错误检查。 1.1.2 Borland公司的Turbo系列汇编语言程序设计工具 ◆任意一种文本编辑器——用于编辑生成汇编语言源程序(*.ASM) ◆汇编程序TASM.EXE——用于将汇编语言源程序(*.ASM)翻译成机器语言文件(*.OBJ) ◆连接程序TLINK.EXE——用于将目标文件连接生成可执行文件(*.EXE) ◆调试程序TD.EXE (Turbo Debugger) ——用于对生成的可执行文件(*.EXE)进行逻辑错误检查。 可以看出,进行汇编语言程序设计时需要的编程工具有:文本编辑器、汇编程序、连接程序以及调试程序,下面分别对它们进行简要介绍。 1.文本编辑器(Text Editor) 在文本编辑器中,用户可以通过键盘输入汇编语言源程序,并可以对源程序进行编辑、修改以及存盘等操作。不论使用哪一种文本编辑器,都应该把汇编语言源程序保存为*.ASM文件,即源程序的扩展名必须为“ASM”,否则,汇编程序将无法对其进行汇编。 2.汇编程序(Assembler) 汇编程序用于将用户编写的汇编语言源程序(*.ASM)翻译成机器语言文件(*.OBJ),其主要功能可以概括为以下三点: (1)检查源程序中的语法错误,并给出错误信息。 (2)产生目标文件(*.OBJ) (3)展开宏指令(Microsoft公司的小汇编程序ASM.EXE无此功能)

相关主题