《计量经济学》上机实验参考答案

《计量经济学》上机实验参考答案
《计量经济学》上机实验参考答案

《计量经济学》上机实验参考答案

实验一:线性回归模型的估计、检验和预测(3课时)

实验设备:个人计算机,计量经济学软件Eviews,外围设备如U 盘。

实验目的:(1)熟悉Eviews 软件基本使用功能;(2)掌握一元线性回归模型的估计、检验和预测方法;正态性检验;(3)掌握多元线性回归模型的估计、检验和预测方法;(4)掌握多元非线性回归模型的估计方法;(5)掌握模型参数的线性约束检验与参数的稳定性检验。

实验方法与原理:Eviews 软件使用,普通最小二乘法(OLS),拟合优度评价、t 检验、F 检验、J-B 检验、预测原理。

实验要求:(1)熟悉和掌握描述统计和线性回归分析;(2)选择方程进行一元线性回归;(3)选择方程进行多元线性回归;(4)进行经济意义检验、拟合优度评价、参数显著性检验和回归方程显著性检验;(5)掌握被解释变量的点预测和区间预测;(6)估计对数模型、半对数模型、倒数模型、多项式模型模型等非线性回归模型。

实验内容与数据1(第2章思考与练习:三、简答、分析与计算题第12小题):12. 表1数据是从某个行业的5个不同的工厂收集的,请回答以下问题:

(1)估计这个行业的线性总成本函数:t t x b b y 10???+=;(2)0?b 和1?b 的经济含义是什

么?;(3)估计产量为10时的总成本。

表1 某行业成本与产量数据

总成本y 80 44 51 70 61 产量x

12 4 6 11 8

参考答案:

(1)总成本函数(标准格式):

t t x y

25899.427679.26?+= s = (3.211966) (0.367954) t = (8.180904) (11.57462)

978098.02=R 462819.2.=E S 404274.1=DW 9719.133=F

(2)0?b =26.27679为固定成本,即产量为0时的成本;1

?b =4.25899为边际成本,即产量每增加1单位时,总成本增加了4.25899单位。

(3)产量为10时的总成本为:

t t x y

25899.427679.26?+==1025899.427679.26×+=68.86669

实验内容与数据2(第2章思考与练习:三、简答、分析与计算题第15小题):15. 我国1978-2001年的财政收入(y )和国民生产总值(x )的数据资料如表4所示:

表4 我国1978-2001年财政收入和国民生产总值数据

obs x y obs

x y

1978 3624.101132.26199018598.402937.101979 4038.201146.38199121662.503149.481980 4517.801159.93199226651.903483.371981 4860.301175.79199334560.504348.951982 5301.801212.33199446670.005218.101983 5957.401366.95199557494.906242.201984 7206.701642.86199666850.507407.991985 8989.102004.82199773142.708651.141986 10201.402122.01199876967.209875.951987 11954.50

2199.35

1999

80579.40

11444.08

1988 14922.302357.24200088254.0013395.231989 16917.80

2664.90

2001

95727.90

16386.04

试根据资料完成下列问题:

(1)给出模型t t t u x b b y ++=10的回归报告和正态性检验,并解释回归系数的经济意义;

(2)求置信度为95%的回归系数的置信区间;

(3)对所建立的回归方程进行检验(包括估计标准误差评价、拟合优度检验、参数的显著性检验);

(4)若2002年国民生产总值为103553.60亿元,求2002年财政收入预测值及预测区间(05.0=α)

。 参考答案:

(1) t t x y

133561.06844.324?+= =)?(i

b s (317.5155) (0.007069) =)?(i

b t (1.022578) (18.89340) 941946.02

=R 056.1065?==σ

SE 30991.0=DW 9607.356=F 133561.0?1

=b ,说明GNP 每增加1亿元,财政收入将平均增加1335.61万元。 (2))?()2(?0

2/00b s n t b b ??±=α=324.6844±2.0739×317.5155=(-333.8466 983.1442) )?()2(?1

2/11b s n t b b ??±=α=0.133561±2.0739×0.007069=(0.118901 0.148221) (3)①经济意义检验:从经济意义上看,0133561.0?1

?=b ,符合经济理论中财政收入随着GNP 增加而增加,表明GNP 每增加1亿元,财政收入将平均增加1335.61万元。

②估计标准误差评价: 056.1065?==σ

SE ,即估计标准误差为1065.056亿元,它代表我国财政收入估计值与实际值之间的平均误差为1065.056亿元。

③拟合优度检验:941946.02

=R ,这说明样本回归直线的解释能力为94.2%,它代表我国财政收入变动中,由解释变量GNP 解释的部分占94.2%,说明模型的拟合优度较高。

④参数显著性检验:=)?(1b t 18.8934?0739.2)22(025

.0=t ,说明国民生产总值对财政收入的影响是显著的。

(4)6.1035532002=x , 41.141556.103553133561.06844.324?2002=×+=y

根据此表可计算如下结果:

1022

21027.223)47.32735()1((×=×=??=?∑n x x

x t

σ

92220021002.5)47.327356.103553()(×=?=?x x ,

10

9

2

22/1027.21002.52411506.10650739.241.14155)()(1

1?)2(?××+

+××±=??++???±∑x x x x n n t y

t f f σα

=(11672.2 16638.62)

实验内容与数据3(第3章思考与练习:三、简答、分析与计算题第12小题):12. 表1给出某地区职工平均消费水平t y ,职工平均收入t x 1和生活费用价格指数t x 2,试根据模型

t t t t u x b x b b y +++=22110作回归分析报告。

表1 某地区职工收入、消费和生活费用价格指数 年份

t y t x 1 t

x 2年份

t y t x 1 t x 2

198520.10 30.00 1.00199142.1065.20 0.90 198622.30 35.00 1.02199248.8070.00 0.95 198730.50 41.20 1.20199350.5080.00 1.10 198828.20 51.30 1.20199460.1092.10 0.95 198932.00 55.20 1.50199570.00102.00 1.02 1990

40.10 61.40

1.05

1996

75.00

120.30

1.05

参考答案:

(1) t t t x x y

21963759.8634817.045741.10??+= =)?(i

b s (6.685015) (0.031574) (5.384905) =)?(i

b t (1.564306) (20.10578) (-1.664608) 980321.02

=R 975948.02

=R 5572.208?==σ

SE 1705.224=F (2) ①经济意义检验:从经济意义上看,16348.0?01

?=?b ,符合经济理论中绝对收入假说边际消费倾向在0与l 之间,表明职工平均收入每增加100元,职工消费水平平

均增加63.48元。0964.8?2

??=b ,符合经济意义,表明职工消费水平随着生活费用价格指数的提高而下降,生活费用价格指数每提高1单位时,职工消费水平将下降8.964个单位。

②估计标准误差评价: 5572.208?==σ

SE ,即估计标准误差为208.5572单位,它代表职工平均消费水平估计值与实际值之间的平均误差为208.5572单位。

③拟合优度检验:975948.02

=R ,这说明样本回归直线的解释能力为97.6%,它代表职工平均消费水平变动中,由解释变量职工平均收入解释的部分占97.6%,说明模型的拟

合优度较高。

④F 检验:1705.224=F 26.4)1212,2()1,(=??=???ααF k n k F ,表明总体回归方程显著,即职工平均收入和生活费用价格指数对职工消费水平的影响在整体上是显著的(或用p 值进行检验:在5%显著性水平上,F 统计量对应的p 值为0.0000,明显小于0.05,说明职工平均收入和生活费用价格指数对职工消费水平的共同影响是显著的)。

⑤t 检验:=)?(1b t 20.10578?262.2)9(025.0=t ,说明职工平均收入对职工消费水平的影响是显著的;?=664608.1)?(2b t 262.2)9(025

.0=t ,说明生活费用价格指数对职工消费水平的影响是不显著的(或用p 值进行检验:在5%显著性水平上,t 统计量对应的p 值为:)?(1

b p =0.0000<0.05,)?(2

b p =0.1303<0.05,说明职工平均收入对职工消费水平的影响是显著的,而生活费用价格指数对职工消费水平的影响是不显著的)。

实验内容与数据4(第3章思考与练习:三、简答、分析与计算题第14小题):14. 某地区统计了机电行业的销售额y (万元)和汽车产量1x (万辆)以及建筑业产值2x (千万元)的数据如表2所示。试按照下面要求建立该地区机电行业的销售额和汽车产量以及建筑业产值之间的回归方程,并进行检验(显著性水平05.0=α)

。 表2 某地区机电行业的销售额、汽车产量与建筑业产值数据

年份 销售额y 汽车产量1

x 建筑业产值2

x 1981 280.0 3.909 9.43 1982 281.5 5.119 10.36 1983 337.4 6.666 14.50 1984 404.2 5.338 15.75 1985 402.1 4.321 16.78 1986 452.0 6.117 17.44 1987 431.7 5.559 19.77 1988 582.3 7.920 23.76 1989 596.6 5.816 31.61 1990 620.8 6.113 32.17 1991

513.6

4.258

35.09

1992 606.9 5.591 36.42 1993 629.0 6.675 36.58 1994 602.7 5.543 37.14 1995 656.7 6.933 41.30 1996 998.5 7.638 45.62 1997

877.6

7.752

47.38

(1)根据上面的数据建立对数模型:

t t t t u x b x b b y +++=22110ln ln ln (1)

(2)所估计的回归系数是否显著?用p 值回答这个问题。 (3)解释回归系数的意义。

(4)根据上面的数据建立线性回归模型:

t t t t u x b x b b y +++=22110 (2)

(5)比较模型(1)、(2)的2

R 值。

(6)如果模型(1)、(2)的结论不同,你将选择哪一个回归模型?为什么? 参考答案: (1)回归结果

t t t x x y

21ln 56847.0ln 387929.0734902.3?++= (1) =)?(i

b s (0.212765) (0.137842) (0.055677) =)?(i

b t (17.5541) (2.814299) (10.21006) 925105.02=R 097431.0?==σ

SE 81632.99=F

(2) t 检验:=)?(1b t 2.814299?145.2)14(025.0=t ,05.00138.01?=p ,说明汽车产量对机电行业销售额的影响是显著的;=)?(2b t 10.21006?145.2)14(025.0=t ,05.00000.02

?=p ,说明建筑业产值对机电行业销售额的影响是显著的。

F 检验:81632.99=F 74.3)1217,2()1,(=??=???ααF k n k F ,05.00000.0?=p 表明总体回归方程显著,即汽车产量、建筑业产值对机电行业销售额的影响在整体上是显著的。

(3)387929.0?1

=b ,说明汽车产量每增加1%,机电行业的销售额将平均增加0.39%;56847.0?2

=b ,说明建筑业产值每增加1%,机电行业的销售额将平均增加0.57%。 (4)回归结果

t t t x x y

2193339.1170558.4545496.57?++?= (2) =)?(i b s (81.02202) (15.66885) (1.516553) =)?(i

b t (-0.709128) (2.916971) (7.868761) 89017.02=R 08261.64?==σ

SE 83991.65=F

(5) 模型(1)的934467.02=R 、925105.02=R ,模型(2)的903899.02=R 、

89017.02=R 。因此,模型(1)的拟合优度大于模型(2)的拟合优度。

(6)从两个模型的参数估计标准误差、S.E 、t 、F 、2

R 统计量可以看出,模型(1)优于模型(2),应选择模型(1)。

实验内容与数据5(第3章思考与练习:三、简答、分析与计算题第16小题):16. 表3给出了一个钢厂在不同年度的钢产量。找出表示产量和年度之间关系的方程:bx

ae y =,并预测2002年的产量。

表3 某钢厂1991-2001年钢产量 (单位:千吨)

年度 1991 1992 1993 1994199519961997199819992000 2001 千吨 12.2 12.0 13.9 15.917.9

20.1

22.7

26.0

29.0

32.5 36.1

参考答案:

t t x y

1167.0307562.2?ln += =)?(i b s (0.021946) (0.003236) =)?(i

b t (105.1484) (36.06598) 993128.02=R 033937.0=SE DW=1.888171 F=1300.755

122002=x ,707958.3121167.0307562.2?ln 2002=×+=y

,77.40?707958.32002==e y

实验内容与数据6(第3章思考与练习:三、简答、分析与计算题第21小题):21. 表8列出了中国2000年按行业分的全部制造业国有企业及规模以上企业制造业非国有企业的工业总产值Y ,资产合计K 及职工人数L 。设定模型为

u e L AK Y βα=

(1)利用表8资料,进行回归分析。

(2)中国2000年的制造业总体呈现规模报酬不变状态吗?

表8 中国2000年制造业业总产值、资产、职工人数统计资料

序号

工业总产值Y (亿元)资产合计K (亿元)职工人数L (万人)1 3722.73078.221132 1442.521684.43673 1752.372742.77844 1451.291973.82275 5149.35917.013276 2291.161758.771207 1345.17939.1588 656.77694.94319 370.18363.481610 1590.362511.996611 616.71973.735812 617.94516.012813 4429.193785.916114 5749.028688.0325415 1781.372798.98316 1243.071808.443317 812.71118.814318 1899.72052.166119 3692.856113.1124020 4732.99228.2522221 2180.232866.658022 2539.762545.639623 3046.954787.922224 2192.633255.2916325 5364.838129.6824426 4834.685260.214527 7549.587518.7913828 867.91984.524629 4611.3918626.9421830 170.3610.911931 325.53

1523.19

45

参考答案:(1)回归结果:

样本回归方程为

L K Y

ln 361.0ln 609.0154.1?ln ++= t = (1.586) (3.454) (1.790)

810.02=R 796.02=R F=59.655 DW=0.793

对回归方程解释如下:

经济意义检验:在5%显著性水平上,t 统计量对应的p 值为:)?(α

p =0.018<0.05,表示资本投入对GDP 有显著影响,)?(β

p =0.084>0.05,表示劳动投入对GDP 影响不显著。 在5%显著性水平上,F 统计量对应的p 值为0.000,明显小于0.05,说明模型整体显著成立,劳动投入与资本投入对Y 的整体影响是相当显著的。

修正的样本决定系数796.02=R ,表明劳动投入(对数)和资本投入(对数)对产出(对数)的解释能力为79.6%。

(2)从上述回归结果看,1??≈+βα

,即资本与劳动的产出弹性之和近似为1,表明中国制造业在2000年基本呈现规模报酬不变的状态。下面进行对数的约束性检验。检验的零假设为:1:0=+βαH 。

如果原假设为真,则可估计如下模型:u L K c L Y ++=)/ln()/ln(α,根据表6数据,可得如下估计结果。

有约束条件的C-D 生产函数估计结果

由此可知,无约束条件的回归模型的残差平方和0703.5=U RSS ,受约束条件的回归模型的残差平方和0886.5=R RSS ,样本容量31=n ,无约束条件回归模型解释变量个数

2=U k ,约束条件个数112=?=?R U k k 。于是

)

1/()/()(????=

U U R U U R k n RSS k k RSS RSS F =)1231/(0703.51

/)0703.50886.5(???=0.1011 在5%的显著性水平下,自由度为(1,28)的F 分布的临界值F=4.20,显然有αF F ?,不拒绝原假设,表明中国C-D 生产函数呈现规模报酬不变的状态。

在EViews 软件中,当估计完C-D 生产函数后,在方程结果输出窗口,点击View 按钮,然后在下拉菜单中选择Coefficient Test\Wald Coefficient Restrictions,屏幕出现图对话框。在对话框中输入系数的约束条件,若有多个,则用逗号分开。本例中输入:C(2)+C(3)=1,得检验结果见下表。

Wald 检验输出结果

由此可知,在0.05显著性水平下,两个检验均仍然不能拒绝和为1的原假设,原假设为真。

实验二:异方差性、自相关性、多重共线性检验(3课时)

实验设备:个人计算机,计量经济学软件Eviews,外围设备如U 盘。

实验目的:(1)掌握异方差性模型的检验方法和处理方法;(2)掌握自相关性性模型的检验方法和处理方法;(3)掌握多重共线性模型的检验方法和处理方法。

实验方法与原理:Goldfeld and Quandt 检验、White 检验、DW 检验和LM 检验、辅助回归模型检验和方差膨胀因子检验,加权最小二乘法、广义最小二乘法、广义差分法。

实验要求:(1)熟悉图形检验法;(2)熟悉戈德菲尔德——匡特检验、怀特检验、戈里瑟检验和帕克检验,掌握加权最小二乘法;(3)熟悉DW 检验和LM 检验,掌握广义差分法。(4)熟悉辅助回归模型检验和方差膨胀因子检验,掌握逐步回归法(Frisch 综合分析法)。

实验内容与数据7(第4章思考与练习:三、简答、分析与计算题第11小题):11. 试根据表2中消费(y )与收入(x )的数据完成以下问题:

(1)估计回归模型:t t t u x b b y ++=10;(2)检验异方差性(可用怀特检验、戈德菲尔德——匡特检验);(3)选用适当的方法修正异方差性。

表2 消费与收入数据

y

x

y

x

y

x

55

80

1522209514065 10014421010814570

85

17524511315080 11018026011016079 12013519012516584 11514020511518098 13017826513018595 14019127013519090 12513723012020075

90

18925014020574 1055380140210110 1607085152220113 1507590140225125 165

65

100

137

230

108 14574105145240115 18080110175245140 22584115189250120 20079120180260145 24090125178265130 185

98

130

191

270

参考答案:(1)首先将x 排序,其次根据表2数据估计模型,回归结果如下:

t t x y

63797.0157515.9?+= s = (3.6480) (0.01996) t = (2.5102) (31.970)

9463.02=R S.E=9.0561 DW=1.813 F=1022.072

(2)检验异方差:①怀特检验:99.5)2(57.10205.02=?=χnr ,模型存在异方差;

②戈德菲尔德——匡特检验:将样本x 数据排序,n=60,154/==n c ,取c=16,从中间去掉16个数据,确定子样1(1-22),求出4138.6301=RSS ;确定子样2(39-60),求出

840.24952=RSS ,计算出959.34138

.63084

.249512===

RSS RSS F ,给定显著性水平05.0=α,查12.2)20,20(05.0=F ,得:αF F ?,所以模型存在异方差。

(3)采用加权最小二乘法进行估计。在方程窗口求残差,生成序列resid e =,取权数

)(/1e abs w =,得回归结果:

t t x y

633427.01511.10?+= t = (23.36098) (303.7639)

999995.02=R DW=2.046 F=12908997

用怀特检验判断:

99.5)2(425945.0205.02=?=χnr ,模型已不存在异方差(从p 值也容易得出此结论)。

实验内容与数据7(第4章思考与练习:三、简答、分析与计算题第15小题):15. 表6列出了2000年中国部分省市城镇居民每个家庭平均全年可支配收入x 与消费性支出y 的统计数据。

(1)利用OLS 法建立人均消费支出与可支配收入的线性模型。 (2)检验模型是否存在异方差性。

(3)如果存在异方差性,试采用适当的方法加以消除。

表6 中国城镇居民人均可支配收入与消费性支出(单位:元) 地区 可支配收入x 消费性支出y 地区可支配收入x 消费性支出y

北 京 10349.69 8493.49 浙 江9279.16 7020.22 天 津 8140.50 6121.04 山 东6489.97 5022.00 河 北 5661.16 4348.47 河 南4766.26 3830.71 山 西 4724.11 3941.87 湖 北5524.54 4644.50 内蒙古 5129.05 3927.75 湖 南6218.73 5218.79 辽 宁 5357.79 4356.06 广 东9761.57 8016.91 吉 林 4810.00 4020.87 陕 西5124.24 4276.67 黑龙江 4912.88 3824.44 甘 肃4916.25 4126.47 上 海 11718.01 8868.19 青 海5169.96 4185.73 江 苏 6800.23

5323.18 新 疆

5644.86

4422.93

参考答案:(1)首先将x 排序,其次根据表6数据估计模型,回归结果如下:

(2)检验异方差:①怀特检验:

99.5)2(65.122

05.02=?=χnr ,模型存在异方差(从p 值也容易得出此结论)

; ②戈德菲尔德——匡特检验:将样本x 数据排序,n=20,54/20==c ,取c=4,从中间去掉4个数据,确定子样1(1-8),求出6.1265281=RSS ;确定子样2(13-20),求出

0.6154722=RSS ,计算出86.43

.1265280

.61547212===

RSS RSS F ,给定显著性水平05.0=α,查28.4)6,6(05.0=F ,得:αF F ?,所以模型存在异方差。

(3)采用加权最小二乘法进行估计。在方程窗口求残差,生成序列resid e =,取权数

)(/1e abs w =,得回归结果:

t t x y

729026.06603.415?+= t = (3.553288) (32.50349)

999889.02=R DW=2.3678 F=171155.9

用怀特检验判断:

99.5)2(07642.02

05.02=?=χnr ,模型已不存在异方差(从p 值也容易得出此结论)

。 采用加权最小二乘法得到的回归方程,不存在异方差性,模型拟合优度较高,回归系数显著,其经济意义:415.66(元)为城镇居民的自发消费,0.729为边际消费倾向,即我国城镇居民人均可支配收入每100元时,居民消费性支出将增加72.9元。

注:通过模型的对数变换,也可以消除异方差性。对数线性回归模型回归结果如下:

怀特检验结果如下,易知对数模型已不存在异方差性,具体分析略。

实验内容与数据8(第5章思考与练习:三、简答、分析与计算题第13小题):13. 天津市城镇居民人均消费性支出(CONSUM),人均可支配收入(INCOME),以及消费价格指数(PRICE)见表4。定义人均实际消费性支出Y= CONSUM/PRICE,人均实际可支配收入X= INCOME/PRICE。

表4 天津市城镇居民人均消费与人均可支配收入数据

年份 CONSUM(元)INCOME(元)PRICE

1978 344.88 388.32 1.000

1979 385.20 425.40 1.010

1980 474.72 526.92 1.062

1981 485.88 539.52 1.075

1982 496.56 576.72 1.081

1983 520.84 604.31 1.086

1984 599.64 728.17 1.106

1985 770.64 875.52 1.250 1986 949.08 1069.61 1.336 1987 1071.04 1187.49 1.426 1988 1278.87 1329.7 1.667 1989 1291.09 1477.77 1.912 1990 1440.47 1638.92 1.970 1991 1585.71 1844.98 2.171 1992 1907.17 2238.38 2.418 1993 2322.19 2769.26 2.844 1994 3301.37 3982.13 3.526 1995 4064.10 4929.53 4.066 1996 4679.61 5967.71 4.432 1997 5204.29 6608.56 4.569 1998 5471.01 7110.54 4.546 1999 5851.53 7649.83 4.496 2000

6121.07

8140.55

4.478

(1)利用OLS 估计模型t t t u x b b y ++=10

(2)根据DW 检验法、LM 检验法检验模型是否存在自相关性。

(3)如果存在一阶自相关性,用DW 值来估计自相关系数ρ?。 (4)利用估计的ρ

?值,用OLS 法估计广义差分方程: t t t t t v x x b b y y +?+?=???)?()?1(?1101ρρρ

(5) 利用OLS 估计模型:t t t u x b b y ++=ln ln 10,检验此模型是否存在自相关性,如果存在自相关性,如何消除?

参考答案:(1)利用OLS 得模型估计结果:

(2)自相关检验:由DW=0.59857,给定显著性水平05.0=α查Durbin-Watson 统计表,

n =20,k =1,得下限临界值2.1=L d 和上限临界值41.1=U d ,因为DW=0.59857?2.1=L d ,

根据判断区域可知,这时随机误差项存在一阶正自相关。

LM 检验法检验结果如下:

由于LM(1)=9.794,临界概率p=0.001751,所以存在1阶自相关。

(3)由于DW=0.59857,所以700715.05.01?=?=DW ρ

(4)利用估计的ρ

?值,用OLS 法估计广义差分方程: )700715.0(678174.016602.45700715.011???+=?t t t t x x y y

t = (3.684869) (19.92107)

949622.02=R DW=2.310345 F=396.8489

容易验证模型已不存在自相关。

(5)对数线性回归结果如下

容易验证检验模型存在1阶自相关。

自相关的修正:用广义差分法,在命令窗口直接键入:LS lny c lnx AR(1) 得如下回归结果

同济大学微机原理实验报告

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

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

实验报告:(包括目的、方法、原理、结果或实验小节等)。 一、实验目的 掌握简单并行接口的工作原理及使用方法。 二、实验内容 1、按下面图一简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。 3、按下面图二简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。 图一图二 三、实验中使用到的程序 对于简单并行输出接口: stack1 segment stack 'stack' dw 32 dup(0) stack1 ends data segment baseport equ 0ec00h-280h;实际基址 port equ baseport+2a8h;基址+偏移地址 data ends code segment assume ss:stack1,ds:data,cs:code start: mov ax,data mov ds,ax again: mov ah,1 int 21h

西电微机原理大作业

科目:微机原理与系统设计授课老师:李明、何学辉 学院:电子工程学院 专业:电子信息工程 学生姓名: 学号:

微机原理硬件设计综合作业 基于8086最小方式系统总线完成电路设计及编程: 1、扩展16K字节的ROM存储器,起始地址为:0x10000; Intel 2764的存储容量为8KB,因此用两片Intel 2764构成连续的RAM存储区域的总容量为2 8KB=16KB=04000H,鉴于起始地址为10000H,故最高地址为 10000H+04000H-1=13FFFH 电路如图

2、扩展16K 字节的RAM 存储器,起始地址为:0xF0000; Intel 6264的存储容量为8KB ,因此用两片Intel 6264构成连续的RAM 存储区域的总容量为2 8KB=16KB=04000H ,鉴于起始地址为F0000H ,故最高地址为 F0000H+04000H-1=F3FFFH 片内地址总线有13根,接地址总线的131~A A ,0A 和BHE 用于区分奇偶片,用74LS155作译码电路,如图所示 3、设计一片8259中断控制器,端口地址分别为:0x300,0x302; 鉴于端口地址分别是300H 和302H ,可将82590A 接到80861A ,其他作译码。电路如图:

4、设计一片8253定时控制器,端口地址分别为:0x320,0x322,x324,0x326; 根据端口地址可知,825301,A A 应该分别接到8086的12,A A ,其余参与译码。电路如图:

5、设计一片8255并行接口,端口地址分别为:0x221,0x223,x225,0x227; 由于端口地址为奇地址,8086数据总线应该接158~D D ,且BHE 参与译码。根据端口地址可得825501,A A 应该分别接到8086的12,A A ,其余参与译码。电路如图:

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

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

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

内蒙古工业大学微机原理实验指导答案.doc

被嗅材尊机原理与旅用实验指导布实验 程禹够告 沽说:信息工程修陇班披, 电8 77-7班g生名:Eg 样号,2011202030 实验一编辑、汇编、 连接、调试程序的使用 程序设计A 设计要求 (1)将FFFFH 送到AX, SI, DI, BP, DS, ES 寄存器 (2)编程(利用DEBUG调试程序,每执行一次T命令后,记录相关寄存器

内容,并判断是否正确。)程序如下: CODE SEGMENT ASSUME CS:CODE START PROC FAR STTPUSH DS SUB AX,AX PUSH AX MOV AX,0FFFFH MOV SI,AX MOV DI,AX MOV BP,AX MOV DS,AX MOV ES,AX RET STARTENDP CODE ENDS END STT B、设计要求 ⑴将1,2,3,4,5分别送到数据段偏移地址为1000H, 1001H, 1002H, 1003H, 1004H,单元中。 ⑵编程 DATA SEGMENT ORG 1000H DATA ENDS CODE SEGMENT ASSUME CS:CODE START PROC FAR STTPUSH DS SUB AX,AX PUSH AX MOV AX, DATA MOV DS,AX MOV AL,1 MOV DS:[1000H],AL

MOV AL,2 MOV DS:[1001H],AL MOV AL,3 MOV DS:[1002H],AL MOV AL,4 MOV DS:[1003H],AL MOV AL,5 MOV DS:[1004H],AL RET STARTENDP CODE ENDS END STT 实验二、加法程序设计 设计内容A、设计要求 (1)在数据段偏移地址1000H处开始,连续存放有3字节的数据(高位对应高地 址,低位对应低地址),1003H处开始连续存放有两字节的数据(高对高,低 对低),求这两数据之和,并将结果放在流量数据之后。(eg: 1234 56H+78 9AH=12 AC FOH) (2)编程 DATA SEGMENT ORG 1000H H1 DB56H J34H,12H,9AH,78H H2 DB 3DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START PROC FAR STTPUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOVSIJOOOH MOV DI,1003H MOV BX,1005H MOV CX,2 CLC LP:MOVAL,[SI] MOV DL,[DI[ ADCAL,DL MOV [BX],AL INC SI

西电微机原理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.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。 3、熟悉和掌握DEBUG 常用命令的使用 二、实验要求: 1、上机前,要认真阅读前言和课本相关章节 2、上机前,画好流程图,编写好程序 3、上机时,注意出现的错误,记录下出错信息,翻译之 4、完成好实验报告 三、实验内容: 在内存TAB 开始的16个单元连续存放了0-15的平方值(0-225),任给一个数X(0 ≤ X ≤ 15),求X 的平方值,并把结果存放在Y 单元中。 (2).分析 X 平方的值是tab 为首地址且x 的值为有效地址中的值。 data segment x db 8 y db data ends stack segment para'stack' db 100 dup(0) stack ends code segment assume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax xor ax,ax

mov al,x lea si,tab add si,ax mov al,[si] mov y,al mov ah,4ch int 21h code ends end start (3).程序调试: 4.心得体会 了解了顺序结构,掌握了程序的运行,调试。 实验二分支程序设计 一、实验目的: 熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法;掌握条件转移、无条件转移指令的使用方法。掌握分支程序设计、编写、调试和运行的方法。 二、实验要求: 1、上机前认真分析题意,找出算法,画出流程图,依据流程图,编好程序。 2、认真调试程序,对程序可能存在的所有分支都要进行运行,只有这样才能证明程序的正确性。 二、实验内容

西电微机原理实验报告

微机系统实验报告 班级:031214 学号:03121370 姓名:孔玲玲 地点:E-II-312 时间:第二批

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握DOS功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验设备 PC机一台。 三、实验内容 (1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能 调用完成必要提示信息的显示。 (2) 在屏幕上显示自己的学号姓名信息。 (3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到 输入“Q”或“q”时结束。 (4)自主设计输入显示信息,完成编程与调试,演示实验结果。 考核方式:完成实验内容(1)(2)(3)通过, 完成实验内容(4)优秀。 实验中使用的DOS功能调用:INT 21H 表3-1-1 显示实验中可使用DOS功能调用 AH 值功能调用参数结果 1 键盘输入并回显AL=输出字符 2 显示单个字符(带Ctrl+Break检查) DL=输出字符光标在字符后面 6 显示单个字符(无Ctrl+Break检查) DL=输出字符光标在字符后面 8 从键盘上读一个字符AL=字符的ASCII码 9 显示字符串DS:DX=串地址,‘$’为结束字符光标跟在串后面 4CH 返回DOS系统AL=返回码

四、实验步骤 (1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。 (2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。 (3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。按F9连续运行。 (4)更改数据区的数据,考察程序的正确性。 五、实验程序 DATA SEGMENT BUFFER DB '03121370konglingling:',0AH,0DH,'$' BUFFER2 DB 'aAbBcC','$' BUFFER3 DB 0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START: MOV AX,DA TA MOV DS,AX mov ah,09h mov DX,OFFSET BUFFER int 21h

微机原理上机实验(一)实验报告数据传输传送实验

微机原理上机实验(一)实验报告 主题:数据传送 一、实验目的 熟悉星研集成环境软件的使用方法。熟悉Borland公司的TASM编译器 熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。 二、实验内容 1、熟悉星研集成环境软件。 2、编写程序,实现数据段的传送、校验。 三、实验代码 _STACK SEGMENT STACK DW 100 DUP() _STACK ENDS DATA SEGMENT DATA ENDS CODE SEGMENT START PROC NEAR ASSUME CS:CODE, DS:DATA, SS:_STACK MOV AX, DATA ;将数据段的地址存入AX寄存器。AX=004DH MOV DS,AX ;对DS段寄存器赋值。DS=004DH MOV ES,AX ;对ES段寄存器赋值。ES=004DH NOP ;空指令

MOV CX,100H ;把100H送到CX寄存器。CX=0100H MOV SI,3000H ;把3000H送到SI寄存器。SI=3000H MOV DI,6000H ;把6000H送到DI寄存器。DI=6000H CALL Move ;调用Move子程序 MOV CX,100H ;把100H送到CX寄存器。CX=0100H MOV SI,3000H ;把3000H送到SI寄存器。SI=3000H MOV DI,6000H ;把6000H送到DI寄存器。DI=6000H CLD ;将DF标志位置0。设置SI、DI为递增移动,DF=0 REPE CMPSB ;比较[SI]和[DI],CX减1,ZF=0或CX=0跳出 ;若ZF=0或CX=0不成立,则继续比较。SI和DI持续递增 1 JNE ERROR ;若ZF=0,跳到ERROR子程序 TRUE: JMP $ ;跳到目前地址 ERROR: JMP $ ;跳到目前地址 Move PROC NEAR ;Move子程序 CLD ;将DF标志位置0。设置SI、DI为递增移动。DF=0 CMP SI,DI ;比较SI、DICF=SF=PF=1,仅有该三个标志位变化JZ Return ;如果相等,跳到Return JNB Move1 ;如果SI大于等于DI,跳到Move1 ADD SI,CX ;SI=SI+CX。SI=3100H DEC SI ;SI减1。SI=30FFH

微机原理实验报告

微机原理 实验报告 学校:湖北文理学院、班级:电子1413 姓名:杨仕浩 学号:2014111347 指导老师:吉向东

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 四、实验程序清单 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 A DDA 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: M OV AL,[SI] MOV BL,[DI] ADC AL,BL AAA MOV [SI],AL DEC SI DEC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05H AD3: ADD BYTE PTR [SI],30H ADD BYTE PTR [DI],30H DEC SI

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 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循环右移四位

西电微机原理上机

4.37 (上机题)编写程序实现,将缓冲区BUFFER中的100个字按递增排序,并按下列格式顺 序显示: 数据1 <原序号> 数据2 <原序号> …… 算法流程图: 调试问题、心得体会: 通过这道题,熟悉了流程图画法,掌握了产生随机数,“冒泡法”排序,子函数编写调用等的基本过程,尤其对于中断调用,并利用ASCII码回显和对课本字节型数据“冒泡法”排序改进为字形排序的过程,是我受益匪浅。并且亲身实践了源程序的汇编、调试也连接。 问题:将字节型冒泡法直接应用于该题,导致出错,该题存储的是字型数据!

原因在于只是排列的AL中的数值,并不是产生的随机数! 同时对于字型与字节型在运算类指令中的应用还是有误,以及其他的一些小错误,应加以改善! 运行结果: 程序代码: STACK SEGMENT STACK 'STACK' DW 100H DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT BUFFER LABEL WORD

X=17 REPT 100 X=(X+80)mod 43 DW X ENDM BUF DW 100 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX LEA SP,TOP MOV CX,100 LEA SI,BUFFER LEA DI,BUF L1: MOV AX,[SI] INC SI INC SI MOV [DI],AX INC DI INC DI LOOP L1 MOV CX,100 DEC CX LEA SI,BUFFER PUSH CX ADD CX,CX ADD SI,CX POP CX L2: PUSH CX PUSH SI L3: MOV AX,[SI] CMP AX,[SI-2] JAE NOXCHG XCHG AX,[SI-2] MOV [SI],AX NOXCHG:

微机原理及应用实验报告

微机原理及应用实验报告标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

微机原理及应用实验报告 班级: 姓名: 学号: 中南大学 机电工程学院精密测控实验室

实验二软件程序设计 1.实验目的: 1、掌握MCS-51单片机指令系统及用汇编语言编程技巧; 2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。 2.实验内容: 1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。 2.、编写多字节加法程序并上机调试通过。 8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结 果存入以20H为起始地址的区域中(低字节在前)。 3.实验设备名称、型号: 4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单: 程序1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次 后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。如 果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列 了。则可以退出循环,结束程序。 程序结构框图和程序代码如下:

西电机电院微机原理上机答案

汇编语言上机题 姓名:学号:成绩: 实验一、上机过程及DEBUG应用 编写程序,建立数据段DATA,将你的姓名(汉语拼音)及学号存入DATA数据段的BUFFER1区域,然后利用程序将BUFFER1区域中的字符串(姓名及学号)依次传送到从BUFFER2开始的内存区域中去。 上机过程与要求 1.建立原程序: 源程序文件名为,源程序清单如下: data segment buffer1 db 'hepan04105038' buffer2 db 13 dup() data ends code segment ASSUME CS:CODE,DS:DATA START: mov ax,data mov ds,ax mov es,ax lea si,buffer1 lea di,buffer2 mov cx,0d cld rep movsb mov ah,4ch int 21h code ends end start 2.汇编后生成的obj文件名为buffer .OBJ 3.连接后生成的目标文件名为buffer .EXE 4.DEBUG调试:在DEBUG下,利用U、D、G、R等命令对EXE文件进行调试后,相关信息如下: (1)表1-1 反汇编清单中所反映的相关信息 *注:最后一条指令是对应于代码段中最后一条指令 (2)在未执行程序之前,用D命令显示内存区域BUFFER1及BUFFER2中的内容, 其相关信息如表1-2所示。 表1-2 未执行程序之前的数据区内容

(3)执行程序以后用D命令显示内存区域的相关信息,如表1-3。 表1-3 执行程序之后的数据区内容 (4)用R命令检查寄存器的内容如表1-4所示。 回答问题 a)宏汇编命令MASM的作用是什么 答:产生OBJ文件。 b)连接命令LINK的作用是什么连接后生成什么文件 答:产生EXE文件,生成EXE文件。 c)DEBUG下U命令的作用是什么 答:反汇编被调试命令。 d)DEBUG下D命令的作用是什么 答:显示内存单元的内容。 e) 在DEBUG下如何执行.EXE文件,写出执行命令的常用格式。 答:DEBUG 。 实验二、寻址方式练习 掌握8086/8088的寻址方式是学习汇编语言的基础,因此,我们以数据传送指令为例编写了下面的程序,通过该程序对主要的几种寻址方式进行练习。 DATA1 SEGMENT M1 DB 0A0H,0A1H,0A2H,0A3H,0A4H,0A5H M2 DB 0A6H,0A7H,0A8H,0A9H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFH DATA1 ENDS DATA2 SEGMENT N1 DB 0B0H,0B1H,0B2H,0B3H, 0B4H,0B5H N2 DB 0B6H,0B7H, 0B8H,0B9H,0BAH,0BBH, 0BCH,0BDH,0BEH,0BFH DATA2 ENDS STACK SEGMENT PARA STACK ‘STACK’ DB 0C0H,0C1H,0C2H,0C3H, 0C4H,0C5H DB 0C6H,0C7H, 0C8H,0C9H,0CAH,0CBH, 0CCH,0CDH,0CEH,0CFH

微机原理实验报告

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

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在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.题目:编程将(AX)=2387、(BX)=192FH、(CX)=9256中的无符号数按由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。 CODE SEGMENT ASSUME CS:CODE START: MOV AX,2387 MOV BX,192FH MOV CX,9256 CMP AX,BX JAE NEXT1 XCHG AX,BX NEXT1: CMP AX,CX JAE NEXT2 XCHG AX,CX NEXT2: CMP BX,CX JAE NEXT3 XCHG BX,CX NEXT3: MOV AH,4CH INT 21H CODE ENDS END START 2.题目:编程将(BX)=8600H、(CX)=3489H、(DX)=9235按有符号数由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。 ;CODE SEGMENT ASSUME CS:CODE START: MOV BX,8600h MOV CX,3489H MOV DX,9235 CMP BX,CX JGE NEXT1 XCHG BX,CX NEXT1: CMP BX,DX JGE NEXT2 XCHG BX,DX NEXT2: CMP CX,DX JGE NEXT3 XCHG CX,DX NEXT3:

MOV AH,4CH INT 21H CODE ENDS END START 3.题目:在数据段中定义如下数据:32,34,89H,,编程将以上数据按有符号数进行排序,并将程序和结果记录下来。 DATA SEGMENT NUM DB 32,34,89H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DAT START: MOV AX,DATA MOV DS,AX ;初始化DS LEA BX,NUM ;取有效地址到BX,以便访问要排序的数 MOV AL,[BX] CMP AL,[BX+1] JGE NEXT1 ;若第一个数大则跳转,否则将第一个与第二个数交换 XCHG AL,[BX+1] MOV [BX],AL NEXT1: CMP AL,[BX+2] JGE NEXT2;若第一个数大则跳转,否则将第一个与第三个数交换 XCHG AL,[BX+2] MOV [BX],AL NEXT2: MOV AL,[BX+1];将第二个和第三个数比较 CMP AL,[BX+2] JGE NEXT3;若第二个数大则跳转,否则将第二个与第三个数交换 XCHG AL,[BX+2] MOV [BX+1],AL NEXT3: MOV AH,4CH INT 21H CODE ENDS END START 4.题目:在数据段中定义如下数据:99,25,86,编程将以上数据按无符号数进行排序,上机调试出程序,并将程序和结果记录下来。 data segment num db 99h,25h,86h data ends code segment assume cs:code,ds:data start:mov ax,data

西电微机原理上机作业第三

微机上机作业三 容: 编写如下程序,并在机器上调试成功。程序采用菜单式选择,可以接收用户从键盘输入的五个命令(1-5),各命令功能分别为: (1)按下“1”键,完成字符串小写字母变成大写字母。 (2)按下“2”键,完成找最大值(二选一)。 (3)按下“3”键,完成排序(二选一)。 (4)按下“4”键,显示时间。 (5)按下“5”键,结束程序运行,返回系统提示符。 汇编程序: STACK SEGMENT STACK DB 256 DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT TABLE DW G1, G2, G3, G4, G5 STRING0 DB' Form the school ID is 02111460 Li Cheng',0DH,0AH,'$' STRING1 DB '1. Change small letters into capital letters of string;', 0DH, 0AH, '$' STRING2 DB '2. Find the maximum of string;', 0DH, 0AH, '$' STRING3 DB '3. Sort for datas;', 0DH, 0AH, '$' STRING4 DB '4. Show Time;', 0DH, 0AH, '$' STRING5 DB '5. Exit.', 0DH, 0AH, '$' STRINGN DB 'Input the number you select (1-5) : $' IN_STR DB 'Input the string (including letters & numbers, less than 60 letters) :', 0DH, 0AH, '$' PRESTR DB 'Original string : $' NEWSTR DB 'New string : $' OUT_STR DB 'The string is $' MAXCHR DB 'The maximum is $' IN_NUM DB 'Input the numbers (0 - 255, no more than 20 numbers) : ', 0DH, 0AH, '$' OUT_NUM DB 'Sorted numbers : ', 0DH, 0AH, '$' IN_TIM DB 'Correct the time (HH:MM:SS) : $' HINTSTR DB 'Press ESC, go back to the menu; or press any key to play again!$' KEYBUF DB 61 DB ? DB 61 DUP (?) NUMBUF DB ? DB 20 DUP (?) DATA ENDS

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

北京理工大学微机原理实验报告

微机原理与接口技术 实验报告 实验内容:汇编语言程序设计实验 组别:12 姓名: 班级: 学号:

一、实验目的 1、熟悉IDE86集成开发环境的使用。 2、通过编程、上机调试,进一步理解汇编语言的设计思路与执行过程。 3、熟悉DOS命令调用,以达到输入输出、返回DOS系统等目的。 4、掌握利用汇编实现求和与求最值的方法。 5、掌握利用汇编实现数制转换的方法。 6、巩固理论知识,锻炼动手编程,独立思考的能力。 二、实验内容(具体内容) 1、求从TABLE开始的10个无符号字节数的和,并将结果放在SUM字单元中。并查看前5个,前8 个数之和以及各寄存器和内存的状态。 2、在1的基础上修改程序,求出10个数中的最大值和最小值,最后将最大最小值分别赋给MAX及 MIN。 3、求1到 100 的累加和,并用十进制形式将结果显示在屏幕上。要求实现数据显示,并返回DOS 状态。 三、实验方法 1、设计思路 (1)实验1的设计思路:先将10个要相加的数存在以TABLE为首的10个连续的存储单元中,然后利用循环结构依次取出数值放在AL中并累加,若有进位则加到AH中直至循环10次累加结束,将累加的结果放在SUM中并返回DOS状态。 (2)实验2的设计思路:先将10个要比较的数放在以TABLE为首的10个连续的存储单元中。 将第一个数首先赋给AL和AH(分别存储相对最小和最大值)在利用LOOP循环结构,依次和下面的数进行比较,每次把相对的最大值与最小值存储到AH和AL中直至循环9次比较结束,将AH和AL里面的最大值与最小值赋给MAX和MIN,返回DOS状态 (3)实验3的设计思路:先在内存中定义COUNT=100,表示1-100求和,若相求1-n的和并显示只需COUNT的值为n即可,同时定义一块以DNUM为首地址的数据区用于存储累加和的十进制数对应的ASCII码。先利用AX和LOOP求出1-COUNT的累加和存在AX中;在进行数值转化,AX 依次除10取余数保存,将16进制数转化为10进制ASCII码值并存在DUNM中。最后在屏幕上显示并返回DOS状态。 2程序流程图 实验一、二和三的流程图分别如图1、图2和图3所示

微机原理实验参考答案(航大)

《微机原理》实验参考答案 实验1 汇编基本指令及顺序程序设计实验 实验2 分支与DOS中断功能调用程序设计实验 实验3 循环结构程序设计实验 实验4 存储器扩展实验 实验5 8259应用编程实验 实验1汇编基本指令及顺序程序设计实验 一、实验目的 1、掌握汇编语言的开发环境和上机过程; 2、掌握DEBUG命令; 3、掌握顺序程序设计方法; 4、掌握寻址方式; 5、理解和掌握汇编基本指令的功能。 二、实验内容 1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。要求:用3种方法实现。 答:方法一CODE SEGMENT ASSUME CS:CODE START: MOV AX,3000H MOV BX,5000H MOV CX,AX MOV AX,BX MOV BX,CX CODE ENDS END START 方法二CODE SEGMENT ASSUME CS:CODE START: MOV AX,3000H MOV BX,5000H XCHG AX,BX CODE ENDS END START

方法三CODE SEGMENT ASSUME CS:CODE START: MOV AX,3000H MOV BX,5000H PUSH AX PUSH BX POP AX POP BX CODE ENDS END START 2、分别执行以下指令,比较寄存器寻址,寄存器间接寻址和相对寄存器寻址间的区别。 MOV AX,BX 寄存器寻址,将BX内容送AX MOV AX,[BX] 寄存器间接寻址,将DS:BX内存单元内容送AX MOV AX,10[BX] 寄存器相对寻址,将DS:BX+10内存单元内容送AX 在DEBUG调试模式,用A命令直接编辑相应指令并用T命令单步执行,执行后查询相应寄存器的值并用D命令查内存。 3、已知有如下程序段: MOV AX,1234H MOV CL,4 在以上程序段的基础上,分别执行以下指令: ROL AX,CL AX=2341H ROR AX,CL AX=4123H SHL AX,CL AX=2340H SHR AX,CL AX=0123H SAR AX,CL AX=0123H RCL AX,CL 带进位标志位的循环左移 RCR AX,CL 带进位标志的循环右移 4、设有以下部分程序段: TABLE DW 10H,20H,30H,40H,50H ENTRY DW 3 ┇ LEA BX,TABLE ADD BX,ENTRY MOV AX,[BX] ┇ 要求:(1)将以上程序段补充成为一个完整的汇编程序。

相关文档
最新文档