|
?' }% z7 X1 l0 u) o
《计算机原理》复习资料
- D# A) M; B+ g8 q2 O; t2 r& c. N# R: f: a; \- g0 `
一、客观部分:(单项选择、判断)5 t$ R! [+ `8 a% S
(一)、选择部分' K5 f- s. ~9 i& o
1、目前普遍使用的微型计算机采用的电路是(D)
8 e" g H, G- r5 k; jA. 电子管! @. d' J4 y8 a
B. 晶体管
* O' B9 t5 ?) \C. 集成电路/ X/ T& y0 b" H
D. 超大规模集电成路 x6 g& p0 m8 |7 G. P; E+ r
★考核知识点: 计算机发展历程,参见第一章第一节
. c Z0 j$ }% Z% c# F0 J2、[x]补=11011100B,则x的真值为(A)* v# T" t4 f/ r# _7 r! `/ [0 Y" t' ^
A. -36D
1 V, d' m( y6 h% A% zB.92D
# j+ T: \2 f, C% m* J: o3 c9 {C.-28D# P/ z3 i+ C& t! G! s3 r
D.5CH
. R: k( N* P/ K3 z7 |★考核知识点:机器数表示及补码运算。参见authorware课件第一章,第一节8 F0 w- P2 E3 [/ A3 E0 M* y) A/ H
3、二进制数1001101B的十进制数表示为(C)
# P1 W. |' _6 u- ]A. 4DH2 t% C% z5 q1 ^9 }
B.95D9 t Q6 o, W8 `8 Y* T
C.77D p/ I' ?; K1 S, M, W& u1 u. E
D.9AD
; M2 Z" x, S* K( S* C★考核知识点: 数制转换。参见authorware课件第一章,第一节
1 q8 V# F- O" Y/ T4 w0 d7 k" m4、十进制小数转换成十六进制数可采用(B)
3 j/ t0 z6 N WA.除基(10)取余法
4 Z2 n! o; ~4 Y O' O$ U1 i5 \B.除基(16)取余法4 A" O% c/ Z1 F! U, _/ z
C.乘基(10)取整法6 `. w0 Y2 @' F) [- ~5 `
D.乘基(16)取整法
|, P; a2 z) u2 N2 b★考核知识点: 数制转换。参见authorware课件第一章,第一节
4 _8 I# x1 ]* T" K5 e* u+ [5、在8421码表示的二—十进制数中,代码1001表示(C)
( m" e: B$ O/ a; c6 l% P" h/ gA. 3. J+ l; T# a2 q& y9 ^9 A
B.66 m' d0 z; \! I' z+ b
C.9+ C/ [2 ^, {( M: A; ~3 @4 \* t
D.18 K6 n7 a) @" W4 }. _6 O
★考核知识点: 数制转换。参见authorware课件第一章,第一节& C! d( x! o0 G
6、8位定点原码整数10100011B的真值为(B)
; w9 b& a7 { j9 J" i& k2 |A. +0100011
0 U6 }; N i! v7 f: F8 S+ P" d5 mB. -0100011/ E g7 f, o- r2 h8 v
C.+1011101
, G K! M8 B- X6 d: fD. -1011101
4 {; @1 M9 ^2 b★考核知识点: 数制转换。参见authorware课件第一章,第一节' y6 K: B8 p3 T% ?) M
7、采用十六进制书写二进制数,位数可以减少到原来的(C)
, h% _' `1 H( |3 SA. 1/21 d" h# S3 c5 c& Y6 i
B. 1/3( i7 E6 _1 ^. e2 W( k" C, z
C.1/4
4 p4 A7 q8 b2 O1 @9 V% QD.1/5
, ?# r: ~' K9 a! c% X8 ?★考核知识点: 数制转换。参见authorware课件第一章,第一节) L, L5 t9 E7 ]. k5 M3 f
8、用二一十进制数表示一位十进制数的二进制位是(D)
* q4 a9 y. g# Q5 l% O7 d( fA. 1位
, h0 S# F4 N: \7 ~ p% s" \B.2位( G3 v% p" L7 i. L% e
C.3位& @2 G4 H4 x& z9 W+ i# C7 G+ F
D.4位
+ k) A1 e( Z4 v+ f$ D3 g/ Z★考核知识点: 数制转换,参见authorware课件第一章,第一节( u% m6 H7 W( Z& e$ z& J
9、某数在计算机中用 8421BCD 码表示为 0011 1001 1000 ,其真值为(A)9 F, K2 h7 r# c
A. 398 m, N2 q3 Z$ Z
B.398H
! G- b. Z0 d+ m$ W: f. g [7 ]$ p3 l$ wC.1630Q5 z' Y4 Y8 l" o( f8 F+ ~
D.1110011000B
" A+ f b2 M& y. Y5 X/ W( `1 q' j★考核知识点: 数制转换,参见authorware课件第一章,第一节
2 j# M2 S2 \, _! s# e$ c4 ~* S10、十进制数-80用16位补码表示是(D)
" ?' _: W) I7 c! Y& jA. F080H
# @3 W8 \$ J) \! @. ^B.8080H& b9 W* x/ ]" x3 P/ t: P
C.FF88H
3 V9 R ~6 y7 VD.FFB0H; P1 |9 U2 t) c1 ^
★考核知识点: 数制转换,参见authorware课件第一章) W6 D: n8 b* i1 H( U3 Y
11、计算机进行运算的进制是(A)
0 X4 j2 [! T+ OA. 二进制
$ \9 k* J! p2 Z2 e- pB.十进制
# ]2 N' i6 O" Y6 I& o( M/ l! iC.八进制
/ J) S6 T* ]1 I/ t/ p# @D.十六进制2 {8 b: y( A$ N: v2 U3 g
★考核知识点: 计算机基础知识,参见authorware课件第一章,第一节
: d1 {" K7 x) E- G12、字符的编码,目前在微机中最普遍采用的是(C), e) c- v" Q1 F6 [ Y+ |+ [+ p; F
A. BCD码
6 d) k, a0 w; b- o# E% o$ \B.16进制( b4 @& h, b* h/ D, K6 T8 v& H: _
C.ASCⅡ码* h8 k. O% M6 l
D.格雷码; T) ^, g9 X* X9 E7 `/ }
★考核知识点: 计算机基础知识。参见第一章第二节
6 O& q/ ]: I5 K; u. j4 @7 U$ t6 \13、计算机软件是指(D)
7 c4 o3 F" d: f/ Z( }3 Y. GA. 操作系统
% Z# S# S+ z( I' B$ q) uB.汇编程序
: I. E3 Y# r7 @C.用户程序
+ g6 p" O6 e- ~ T# t6 rD.所有程序及文档的统称
& H. I+ Z& u& Y C; s, b★考核知识点: 计算机基础知识,参见第一章第三节 7 g% o0 B u" u4 l& h$ `( Q
14、目前微型机系统上广泛使用的机械式鼠标是一种(A)
# ~( l& U4 b C7 E/ c9 `A. 输入设备
- u8 ?! `2 F, ?5 c' { _B.输出设备
% V$ c' |. ?8 dC.输入输出设备7 T3 r: ^& g4 D' K" n
D.显示设备
( J4 D/ g- ^; b# ^★考核知识点: 计算机基础知识,参见第一章第四节
x3 b' u' g3 |( c; Q2 \" B15、在主机与外围设备进行数据交换时,为解决两者之间的同步与协调、数据格式转换等问题,必须要引入(C)
" I$ w+ r% s! C6 H/ YA.数据缓冲寄存器
# k) j1 k) w. t+ B4 d- dB.I/O总线
% c/ ?$ E s4 } BC.I/O接口
6 B1 n6 Q, q- N2 H* X: `4 `: yD.串并移位器$ f, b/ A3 D. k$ N
★考核知识点: 微型计算机系统概念,参见第一章第四节 . P9 W# c! w- a+ o
16、家用电脑是指(D). r4 C8 ~* m T- k
A. 家用电器
- o, q0 @% | k" E3 }! W. ^ aB.家庭电影院
' H8 ~; b& V; {7 ` X9 a; nC.家庭音响设备
0 N+ O0 _$ A- p* J# WD.家用计算机 u5 x- U1 v5 h$ ]
★考核知识点: 多媒体计算机概念,参见第一章第五节 3 @+ B1 S' `! J9 P+ L. g# u
17、当8086进行取指令操作时,使用的段基值是在(B)
8 M, m) d/ Z3 Q) {* Q6 w4 [! `A. DS中
5 w- U8 J' v9 P5 K3 x) s$ nB.CS中3 J5 X9 K4 ?# o% ]
C.SS中# T4 {& ~; r& M4 n
D.ES中2 h" G& E, \' p) x
★考核知识点: 8086寄存器结构 . c% S9 J; k a% m4 m) j. M5 n
18、CPU包括(C)两部分
1 @/ G" T, x4 p7 Z0 YA.ALU和累加器
1 q- ?# y& C! P- u. h$ z7 oB.ALU和控制器
/ }7 A C1 C& l) O, Q; {8 d- `( ^0 }9 BC.运算器和控制器
. d; O$ A& u9 O5 T& t8 \D.ALU和主存储器: Z# L2 ^: ?) T
★考核知识点: 8086CPU的结构
* s3 s7 N: h6 p. W, N19、在机器内部操作中,CPU与存贮器之间信息交换使用的是(B)' _/ ^9 x* D5 s( f. v5 I
A. 逻辑地址
5 A. G2 I. ^4 B& J! X' f; \+ b2 ]% VB.物理地址! ^/ f/ V' f# N% ]
C.有效地址3 Z9 v! B% U$ v/ { K2 [
D.相对地址1 c4 ]' p7 k7 |: d7 f
★考核知识点: 物理地址与逻辑地址的关系 * g/ b4 P- h }. K- t( |, t
20、堆栈指针SP的内容是(B)
* D5 \+ r# H: L- {" `) b/ eA. 栈顶单元内容9 z% |7 m& l; x4 r3 W" F3 [
B.栈顶单元地址0 |/ K; N8 M# }
C.栈底单元内容
- C, U; G( j4 V5 L$ H3 }' h! ^& CD.栈底单元地址
; Y( l# M( W( j# J0 a★考核知识点: 8086寄存器结构 ( e9 c! j: U( o8 S$ j; ^5 \
21、现代计算机通常是将处理程序存放在连续的内存单元中,CPU在执行这个处理程序时,使用一个寄存器来指示程序的执行顺序,这个寄存器为(D)' n4 E$ s1 w9 t
A. 指令寄存器
3 a8 @) A; N% ?' Z# T, F& IB.指令译码器
4 E' I3 e& Y2 nC.指令缓冲寄存器
, `* ^) @0 S. I) @D.指令指针寄存器
+ u5 p% b T" o$ W! ~★考核知识点: 8086寄存器结构 . i' p C. S. ?# f
22、若指令的运算结果不为0且低8位中“1”的个数为偶数,则标志寄存器中ZF和PF的状态为(B)
. q5 }; I) L4 ^7 `2 F* D- U0 `A. 0,0
& }0 b4 F o- `/ W( P' J( SB.0,14 P0 q1 G5 F0 N) U) W3 ]1 W, |
C.1,08 v0 P/ y6 P% @. m' B: Z; _+ b
D.1,1- ^( Y% L3 e1 y/ |. r& I0 J
★考核知识点: 8086标志寄存器结构 " H* E% g- I) r$ o
23、如果指令中的地址码就是操作数的有效地址,那么这种寻址方式称为(B) \* ]; B9 N5 U1 o( C5 D8 `
A. 立即寻址5 C3 z* ]7 w& o; L5 m8 }
B.直接寻址
, Q% F: D" p/ o0 F% }* C( EC.间接寻址( ]9 ^. I) @' y& M" {
D.寄存器寻址: a8 i8 {& a5 L0 p$ D
★考核知识点: 8086操作数的寻址方式 # @: X' x- ?! x# i
24、在基址寻址方式中,操作数的有效地址是(B)
! i! e+ u3 g! B. TA. 程序计数器内容加上位移量
$ P O: T9 V3 e, T8 NB.基址寄存器内容加上位移量) W# l$ \$ Z2 v, `( \# Y1 }
C.变址寄存器的内容加上位移量- R$ L% z* n# Y- G# H2 l! j
D.地址寄存器内容加上位移量
9 N3 M- y# ^6 _& U% b★考核知识点: 8086操作数的寻址方式 . ~4 t; A/ L- L: P0 |* |
25、如指令中的地址码就是操作数,那么这种寻址方式称为(A): f- A' ?; x( F; t1 }7 \
A. 立即寻址
9 \& A! ^! o4 T) k7 \- bB.直接寻址
9 y3 H* z# |! d% D$ I( UC.间接寻址
$ B, k x/ S0 s LD.寄存器寻址
/ C$ t0 @& T) M. l★考核知识点: 8086操作数的寻址方式 4 [% ?* D6 L/ r7 f. D
26、指令“MOV AX,[BX+20H]”源操作数的寻址方式为(C)0 k' {2 h( T; I
A. 寄存器寻址. U! t8 s3 g% n( g0 H3 z$ t
B.寄存器间接寻址# d' F n( O2 J X% H( C
C.寄存器相对寻址0 a+ N2 H' E0 F- h. w" k
D.以上均不对1 k! y6 V+ ^8 ]7 @$ ^8 @
★考核知识点: 8086操作数的寻址方式
' {( l/ A2 ]7 m6 \, I27、假设VAR为变量,指令MOV BX,OFFSET VAR源操作数的寻址方式是(C)
, u6 J) _+ I9 d. rA. 直接寻址
9 B/ X$ t1 X! AB.间接寻址
+ ~& u& C; L2 J, pC.立即数寻址4 Y: t" l" G$ @& m c9 d* C
D.存贮器寻址
& a) E. Z1 m5 x, v★考核知识点: 8086操作数的寻址方式 6 I; E* G& \+ H
28、下列操作中,允许段超越的是(C)
' ?* C) E' A- G% b5 l7 C) {A. 取指令1 q' h! f% k$ D P! n* ?$ t
B.存目的串
( y( z8 ^+ V/ s$ Z" j7 W5 eC.以BP为基础存取操作数3 g7 o5 k; [9 z1 X( z) G0 J
D.堆栈操作
; f) N- O! K. z+ Q★考核知识点: 8086操作数的寻址方式 , k( ^# N& z4 e9 @3 Z# ~9 F- m
29、堆栈是一种(B)存贮器。9 c) @: H5 o/ q( F
A. 顺序$ G# }8 ? L, ~3 d- N* w
B.先进后出2 z' u2 r/ I' {- [( @5 P
C.只读
+ w4 N' A& r+ HD.先进先出8 t% z t, c! @0 h/ o
★考核知识点: 8086通用指令 " Z+ m: n& W+ J- A; ~5 [
30、在8086系统的中断向量表中,若从0000H:005CH单元开始由低地址到高地址依次存放10H、20H、30H和40H四个字节,则相应的中断类型码和中断服务程序的入口地址分别为(A)
* e$ F) e% S4 }$ c, DA. 17H,4030H:2010H* M/ Y# h# Z( q5 R% ^7 K
B.17H,2010H:4030H
! A9 K) R1 A* `# k$ mC.16H,4030H:2010H
) d) G- `- D3 cD.16H,2010H:4030H0 F+ i, ~% J( ?! c, u
★考核知识点: 8086通用指令 # |) _+ q1 d$ a. L2 D
31、中断向量可提供(D)2 E( j0 s* ]$ m1 d6 |8 w& |% r
A. 被选中设备的地址" H: J$ p- }: T6 A$ B
B.传送数据的起始地址$ H4 O7 z8 D7 R+ \1 Y
C.主程序的断点地址% o. m: c* r4 @* `
D.中断服务程序的入口地址
, x# l) G* O2 c( r& q. C% p1 @★考核知识点: 8086通用指令
L* v4 ^& v2 q: f2 |" l( x32、寄存器BX和DX中存放有32位二进制数,其中BX中放高16位,下列程序段完成对这32位数扩大4倍的功能,那么该程序段中方框里应填的语句是(C)
, p/ I% {% j) H5 n7 K* r' x% B7 e/ W3 x: rMOV CX,2
, A! {8 b7 ^. ?LOP:SHL DX,1. c+ r0 |3 ^& V
; T K- d- }- L: |. Q9 T' O- l" v
LOOP LOP' u. l& ?& m; v
4 X8 I- d; }( u0 R0 q0 e& aA. ROL BX,1/ h. Q# K+ K5 c% S T$ e& }
B.ROR BX,1
% a. v8 L, {, P3 c9 JC.RCL BX,12 j# x1 D4 O- Y% ]* y
D.RCR BX,1
0 {. c' n. [2 v- Z. [★考核知识点: 8086通用指令 ' X2 T3 n( r& r! }' ^( d: D2 ^
33、下列第(D)条是合法的访问I/O端口指令。
2 c* x9 o: L. K& SA. IN AL,100H4 q N& I4 W0 E0 M: O1 y/ R
B.IN AL,BX7 ?# G0 c, p, o# Q
C.IN AL,BL
% ]' D* l. d8 p: t6 cD.IN AL,DX: O- n( M! f& H4 G% k- [# Q, b
★考核知识点: 8086通用指令 6 T L& @0 M. ^3 P4 e
34、在指令“MOV AX,0”执行后,CPU状态标志位IF的值(D)
: q0 K3 @9 ?0 \3 Z% Y7 X9 v9 D; ?A. 为0
+ A% s: j5 J" H" g! f. A9 b2 @- iB.为l6 C1 v/ P. q! K5 F, h$ h
C.不确定
+ z; y7 d4 o2 v$ SD.不变
+ W' } U# K# ]; b" M* u★考核知识点: 8086通用指令
4 G+ e5 ^2 _) H8 W35、下列指令执行后能使BX中数据必为奇数的是(B)
! U3 e9 ^8 d# CA. XOR BX,01H
) L. L E0 H5 ^+ L* m( p) fB.OR BX,01H ; x2 s+ m5 y( \. t( G; t
C.AND BX,01H
( n) v2 V. S% ]3 v) p4 SD.TEST BX,01H4 a0 p- Q( Y' P
★考核知识点: 8086通用指令 4 q- Z% v8 X# X
36、设CL=05H,要获得CL=0AH,可选用的指令是(A)# [' m% o2 f1 T- S) c3 {
A. XOR CL,0FH
. D+ y' d6 c" ?5 nB.NOT CL. R& Q) K8 S o E+ f1 j" y2 ]
C.OR CL,0AH
: f3 F+ V! _/ w5 KD.AND CL,0FH
8 A- d S: `4 M7 \8 @% ^" j★考核知识点: 8086通用指令 : o1 O6 X1 J C0 B4 _
37、8086系统可寻址I/O端口的最大地址为(C)
8 |. o5 j& d s1 W- aA. 0FFH 8 Q8 r7 h; x5 E
B.0FFFH
" g' W5 |/ p. G" X. i1 _ x5 qC.0FFFFH
( \" \1 e! J3 s9 j) Z' N0 BD.10000H
( W" Y, w1 ]6 d! c7 \ ^★考核知识点: 8086寻址方式 9 E; a. l+ z2 q5 n3 R4 r- g" R9 z2 [
38、设SP=50H,执行段间返回指令RET 后,寄存器SP的内容是(C)/ y) Y( F2 o& p$ w5 _& l
A. 5AH1 A9 d2 E) T; v6 J0 A* C( H
B.5CH( `- G) c2 L1 ?2 i- ?7 g2 ^$ R$ Y, t
C.54H
' G* [+ g8 x0 S9 uD.44H- ^/ z5 e% E% k4 \* y' m3 ^
★考核知识点: 8086通用指令 u3 W$ A4 {( s8 Z3 g! P: Y9 L3 _
39、在汇编语言中,定义如下变量,其中合法的变量是(A)
! M- m9 i2 b; T7 [( TA. _GO
8 R; `, i) p9 }B.4M
# B3 |2 I+ Q, O$ a" B# I! s- SC.+ONE
4 `" ]" s, ~8 D, F" AD.AAA& V$ g: M3 Y# ]+ T, {, X
★考核知识点: 汇编语言基础
; l( `6 T* q# j' d( R: s) s- Z40、在指令“MOV AX,ES:[BX]”中,源操作数采用的寻址方式是(B)
- s" Y: z+ a' E8 i8 d, W9 u) V }A. 寄存器间接寻址. W2 v9 j, ^+ _3 Q- g- A$ z
B.寄存器相对寻址0 L* p2 n3 l* d9 f B; \" d! {. Z
C.寄存器寻址 e- N5 ^- n! p3 H8 ~1 C
D.直接寻址
7 R! E+ ?9 E/ t" j! }# ~- |, D, u★考核知识点: 8086寻址方式 4 l3 h$ U+ m e/ D# T* B& s @
41、下列语句中能与“DA1 DB 32H,34H”语句等效的是(A)& O' q# E; O3 Z! n! A* C
A. MOV DA1,32H MOV DA1+1,34H6 C8 A; H" f0 X8 m* N# H$ d
B.MOV DA1,32 MOV DA1+1,34
9 n% K2 i1 i4 U0 r. ZC.MOV WORD PTR DA1,3234H
: W0 Y! `2 m+ \9 y2 JD.MOV WORD PTR DA1,’24’
& S$ o1 Z( B+ u4 p★考核知识点: 汇编语言伪指令 " H8 N, g5 g3 G
42、伪指令ENDP告诉汇编程序(B)
( ^8 @) I0 ^$ r6 i# I* v) J! b/ zA. 宏定义结束
" I. ^! g6 Q* O' B8 z* c' K+ G8 j/ d6 zB.过程定义结束6 ]: t V$ L" F+ E# a7 N5 t
C.段定义结束
* r7 D/ W% I& Z/ u3 k# ID.过程运行结束
5 m* U8 Y/ L! h★考核知识点: 汇编语言伪指令 " H* u1 u1 `# f# t" t* N0 _1 I: b
43、若MASK和F为符号名,则下列指令语句不正确的是(D)4 T8 I: t8 H, N6 }; K
A. MASK EQU l0$ W6 }$ H3 K9 o) S L" R
B.MASK EQU 5*8
2 D7 V/ |" L% }6 [C.MASK = 10
" t* p1 T( |0 E4 r$ `D.MASK EQU F*8+ ?2 [" G1 }6 [( v. V# x
★考核知识点: 汇编语言伪指令
) _ c) q2 g4 T& t8 H: S44、使用DOS功能调用时,子程序编号应放在(B)寄存器中。* e+ z) Z( z; B
A. AL
: T4 c6 h! n z7 d0 Q+ SB.AH
+ g' o- s- f7 q c# ^) q1 N& ?C.AX
" F" F1 E& x) H7 q' v! e, nD.任意指定. \4 D E* s v! Z; p5 I
★考核知识点: DOS功能调用
4 s+ ~( j) [ I3 F+ Z& F. {45、根据下面定义的数据段:# D5 G5 O+ |, E" v5 U
DSEG SEGMENT' y* F0 R/ v+ j$ J) @. ^2 \; j+ b
DAT1 DB `1234`) N1 T0 z2 U" _, N: o$ o
DAT2 DW 5678H( b6 m' J) G% \
DAT3 DD 12345678H9 Y( _* U9 @ \7 l0 }( U' h
ADDR EQU DAT3-DAT1) F& O: W$ H% V' X: H
DSEG ENDS' ^; a- @. I2 K
执行指令MOV AX, ADDR后,AX寄存器中的内容是(C)& n' I' E( K! w' T4 [( Z# w" t
A. 5678H$ B: b' R2 h( a8 w+ i# B
B.0008H& D7 I2 w0 c7 m6 t. [
C. 0006H
g, s7 A" a& h( c: VD.0004H
: t: Z2 Y1 C/ W% R★考核知识点: 汇编语言伪指令
% a' P/ F4 C) u, r46、8086微处理器的可屏蔽中断请求信号来自于(C)
( C4 {; A6 r7 O; UA. CLK引脚1 T* v2 m9 e& L9 W, \
B.NMI引脚
: i$ F8 F9 `2 \C.INTR引脚, s! t1 g8 P8 k; d( ]! A, k
D.GND引脚
) v3 \! s8 A$ F% j% R: U★考核知识点: 8086引脚特征 ) ^4 P2 O8 a$ M$ }
47、8086CPU用ALE的下降沿将T1期间出现的(A)信息锁存在外部地址锁存器中。- H j- m: d; ?* r' G2 |- Y' k
A. A0-A19
% e$ P! E- x" }4 i" }1 ^) d& CB.
" p( \ }5 U8 ?- ~C.A和B" w' P! u- N6 m. F
D.D0-D15
0 U5 y. B6 ~2 b, p/ d; w0 N★考核知识点: 8086时序特征 ( L5 B2 p& C9 D7 T1 t( @ c8 A
48、8086执行一个总线周期最多可传送(B)字节。6 P& {+ J# [% @- C; ], {
A. 1个1 \! J ]- e3 ]+ x6 D/ F; ]9 r* N5 E
B.2个
. Z5 P- }: q& x9 {7 UC.3个
; r2 k% I, W- t+ _# qD.4个- R2 Q* X) N" _" O9 o7 k* u
★考核知识点: 8086时序特征 8 `. g1 Q, ^8 H* h5 A
49、8086/8088执行一个总线周期是在(C)之后插入TW。$ {' v. {9 v# d! ? V# q" `
A. T1+ E; k; ~9 l5 z4 J# j( q
B.T2( v+ s- o1 Z6 K' f
C.T36 Q% @( Y* n' {: L) p$ }1 L* O! O2 ?
D.T4
" Y- M& \7 }3 _( b$ y★考核知识点: 8086时序特征 $ c0 u+ o- `. ]- o
50、按照USB 1.0 规范,一台主机最多可连接(D)个外设装置(含USB集线器—USB Hub)。
3 c( J% ?8 ]& v- y% aA. 120
& w$ c) S& j5 K- @B.122# H. A* k/ B0 i$ X- V, a: i
C.1238 L4 C0 r. r; S7 q5 _
D.127' W1 H5 f: ]$ Y% }4 @
★考核知识点: 8085系统总线 - O- s% R# P# i2 Z2 j6 U
51、8086微机系统的地址总线是(C)/ \/ V1 V7 } W) M' g" s5 l
A. 8位
$ h. a: O$ ~/ G \; B$ k4 v fB.16位% u- ]: Q9 X& X/ f, w9 I' f
C.20位6 k% [ }7 y/ O' P# B; l$ W; t
D.32位
) m# }! y9 I! Y+ M; n★考核知识点: 8085系统总线 , A, k) Y( D. q F( R. l* A
52、在存储体系中,辅存的作用是(D)6 t; K3 _! [$ F/ t4 F* Z( V
A. 弥补主存的存取速度不足6 _) B2 x$ i9 _: X% e1 \
B.缩短主存的读写周期
2 N* f' ?6 l4 F& E/ z, V& Q0 OC.减少CPU访问内存的次数
. J& g& b8 L3 C% `! D9 p/ QD.弥补主存容量不足的缺陷
' u1 f, P9 u& U) F★考核知识点: 半导体存储器的概念
8 e- |: k0 Z5 X/ R+ v53、采用部分译码法的片选控制(A)' X/ k) l7 R; t) F
A. 有地址重叠问题* E5 @8 {1 V9 @$ p9 R; U. o$ G/ J
B.没有地址重叠问题
7 E F2 k( |! M8 eC.地址一定是不连续的
) W+ |+ E8 G' i/ wD.地址一定是连续的
* m$ M# y D9 @0 `★考核知识点: 存储器与CPU的连接 2 [! T1 g- w5 Z: w
54、动态RAM刷新时,每次刷新(C)! W: t- ~8 |8 b: z; y1 t' P
A. 1位0 {) _' C3 O4 C
B.1字节, ?& z, F6 {; _ D, ?
C.1行
?, ]# j. N, l% kD.1个存储芯片7 L6 L& p- b3 u; ^
★考核知识点: DRAM的概念 , X# p0 ?) B" `' ?* q. W
55、接口电路中的译码器是对CPU的哪种信号译码产生片选信号?( B)6 z% q0 D2 m3 k* U
A. 数据信号
& l. U. m9 ]" V6 f& FB.地址信号2 K- J. n* Y& \$ b
C.控制信号: C& \; n5 z$ U) O1 x" R5 o5 V
D.数据信号和控制信号
8 B, b+ m9 B% _" I★考核知识点: 存储器与CPU的连接
- m- M, {/ @! h/ F56、若用存贮芯片(32K×1)构成8086的存贮器系统至少要用(B)
. w1 n& w$ I+ h5 [* d# J( SA. 8片; x% G9 {) N Q0 h. S T1 a* _) S
B.16片2 \( w3 m' g8 X" q+ I( d; \' Z
C.32片& U" Z% i4 }8 q) p7 b, F
D.64片6 n3 t+ Z# P9 H% u$ C
★考核知识点: 存储器与CPU的连接 " R8 d6 Z0 `9 G- S5 B$ ~) {# q1 x* x6 N
57、在采用DMA方式的I/O系统中,其基本思想是在以下部件或设备之间建立直接的数据通路,这指的是(B), B# H7 n7 \* `
A. CPU与外围设备0 Q& Z, c) B3 F, u" G1 h
B.主存与外围设备, U8 _( `! ~/ t' J- F
C.外设与外设
6 D( X7 t/ h. d0 ZD.CPU与主存
/ @. c0 B& }5 \: n- G★考核知识点: DMA传送方式的特点 2 P) [; G- o* l7 K
58、CPU不断检测外设状态,当外设准备就绪后,才进行数据传送。这种数据传送方式称为(B)
3 {/ x6 h+ j& Y( o+ P/ f0 }A. 无条件传送方式
0 b: E3 W# ~7 ]8 ^4 Z5 ~B.查询传送方式
2 `) q+ F9 u& b3 TC.中断传送方式 h* A# \6 a; g" ^2 j( q# _
D.DMA传送方式* T) R, Q% R; {0 o/ |$ n3 n* B
★考核知识点: CPU与外设的输入输出方式
# d2 t+ Z9 o( c; B59、在DMA控制器8237控制下进行“写传送”时,8237需先后向I/O接口和存储器发出的控制信号是(B )
: u( p0 Y+ W5 B( GA. 4 Q2 R1 m- @ M; ~( T0 Y
B.9 J% H/ \: W" e* Q2 y
C. . o4 J' v: j0 H9 R: w- Z6 H$ x
D. b4 w. c2 P! I8 B: Y9 j2 m6 [9 o
★考核知识点: DMA控制器8237
4 u2 e! Y' X( d8 v. l P/ T60、下面是关于可编程中断控制器8259A的叙述,其中错误的是(B)% S G" H( A$ y7 E# u( K: d8 I) z
A. 8259A具有优先级管理的功能7 f" \- q2 A8 R
B.8259A具有辨认中断源的功能
7 F. @5 ^) H+ w4 a/ J/ nC. 8259A具有向CPU提供中断向量的功能
! K* g; A. Q; ?D.一片8259A可管理8级中断 6 Z/ Y, G$ e7 g$ N# z. r2 f# U
★考核知识点: 8259A的相关知识
7 x) I8 j+ G) d' v61、每一片8259A最多可管理的中断源有 (C)8 }. N, O+ f4 k
A. 4级
8 }; E, m6 P7 y3 i# yB.7级
$ C l% T5 B5 J& V, i; a( x5 IC.8级
! i- S/ {- p) D [7 g3 H3 d3 @D.16级
E: h( ?- ^) D: E# X: P: b' D1 E% V★考核知识点: 8259A的相关知识 . }/ R. U$ F7 G; {
62、普通中断结束EOI命令适用于(A)方式中的中断命令。5 S5 ~5 o$ L, S8 e! y
A. 完全嵌套
0 ]( r; n# p9 g0 L4 V6 oB.自动循环
; E. j! H3 n5 }# I5 v7 c- j+ bC.特殊循环5 J$ ?& N. Y$ f B
D.特殊屏蔽2 P# T0 P" U* p; \1 Y( J' n% }
★考核知识点: 8259A的相关知识 ! W& B0 E: X' D' C; ^
63、3片8259A级联,最多可管理(C)级中断。- n# L I3 G- D5 I* W4 P3 ?
A. 249 z# x. r) t% X" Z3 h+ k
B.23/ r! j$ K. @: X# S
C.22
& e( U+ r( k- }& O9 q8 K6 T! E1 WD.21
4 x4 M" @1 g/ k, ]& ?/ s8 N+ X★考核知识点: 8259A的相关知识
5 F6 l: K) j: ?& g$ K64、除法出错是属于(B)中断。 s0 {( W( V# q+ ^$ m D
A.线路故障# B4 u/ V5 d8 D. w$ @& F
B.内部中断
7 I6 v7 @9 @/ e: }) ]; } E. ^$ IC.INTO
2 W2 r, I# \8 A0 r4 UD.单步中断
. s) X# n+ L1 a; Y4 }) Z& e★考核知识点: 8086中断实现相关知识 # `' q& J! j) N3 _+ r' u
65、8253—5有3个独立的计数器,每个计数器可以有几种不同的工作方式?( D)" {. H- g; X) h% [; P: e
A. 3种' _1 x, t \7 W! I
B.4种
6 _2 ^5 S& i* ^& B# I3 k' X4 L, CC.5种$ U! }" s5 d- L( a) ]6 f9 e
D.6种
[) j$ x6 d- W' O★考核知识点: 8253 相关知识
/ f# _; v& e4 T" b: S66、若输入初值n后,在GATE脉冲有效后,在OUT端就可输出一个宽度为n个CLK周期的负脉冲,则8253应工作于方式(B)
. F/ \# A" T0 Y2 i. a5 MA. 0
' _) H9 T9 d5 V KB.13 _2 A2 O- k9 E9 q% ~; `
C.2
/ h0 B' M+ [/ v' VD.3
% O$ n' r7 b2 u★考核知识点: 8253 相关知识
8 S/ u! l" `2 h4 d
7 W9 U9 F1 i. \* i5 ](二)、判断部分" J, i+ ^ X# @. @
1、字长越长,计算机处理数据的速度越快。( √ )
{- `' z* t# P9 V4 g★考核知识点: 计算机基础知识
9 X+ b8 @9 t* r* Y6 s$ {" K C2、任何一个十进制小数都可以用二进制精确表示。( × )
& O& U3 e4 `6 B/ y) S) f! E★考核知识点: 计算机基础知识 5 ^2 w# ^8 B6 }0 U* y& ]6 M
3、BCD码表示的数是二进制数。 ( × )( w" J) @7 ^ \6 T6 N) |, b4 ]
★考核知识点: BSD码概念 * d: f# J" }' q7 C1 Z/ _
4、计算机的内存与外存都可以直接与CPU交换数据。( × )
( M3 @6 v$ u1 O$ ^! E★考核知识点: 计算机基础知识
3 i- Y! z# P b2 @ b+ h( ?5、8086 中,取指令和执行指令可以重叠操作。( √ )4 j) \7 {# h7 N) O* W* h! u: y2 ~
★考核知识点: 8086CPU的结构
9 t$ X, T( g# Z6、8088 的数据可以存放在几个不连续的段中。( √ )* B* s3 P1 ]: l" ]( G
★考核知识点: 8086存储器结构特点
6 [7 ]- C0 l' \. @5 Y0 P* r0 C! p7、当指令执行完后,其结果是偶数时,奇偶标志PF=1。( √ )
; g/ o, b* v: P5 @3 s) h★考核知识点: 8086标志寄存器结构
0 E1 ^5 S4 M6 S" K3 I) {8、8086 的数据可以存放在几个不连续的段中。( √ ). W7 V5 ^+ G: U
★考核知识点: 8086存储器结构特点
' @/ Q) [ n, h7 \% g7 [9、立即数是不允许被用作目的操作数的。( √ ); d7 d9 m) O9 W5 x
★考核知识点: 8086操作数的寻址方式 + L9 g# \# X$ v5 c9 U
10、中断服务程序可放在用户可用的内存的任何区域。( √ )
8 Y& b x3 s- w# r7 @% R★考核知识点: 8086通用指令 1 i' \" l% o; h4 m) @7 b
11、汇编语言是面向机器的语言。( √ )* q( N2 J; M3 x! O$ N2 u$ M6 ^
★考核知识点: 汇编语言基础
$ o: I2 k" c: i/ Z/ r, E5 {12、8086的Ready信号是由外部硬件产生的。( √ )- b9 I6 _0 k, Z! _3 z
★考核知识点: 8086引脚特征 0 [! p1 f$ R' E" D% i& f6 s1 R
13、8088的Ready信号是由外部硬件产生的。( √ )
* \0 |8 Z' T" b. r" y& d/ ~6 Q★考核知识点: 8086引脚特征
3 W& B0 _3 ]% C4 m% X3 m14、8088的M/IO引脚的低电平表明选通的是I/O接口。( √ )* o3 T4 I- L. S2 W# @
★考核知识点: 8086引脚特征
( s* @4 y8 n1 S+ S* q. r/ z, ^ } P$ b15、 / 及HOLD、HLDA信号是与系统中其它总线主设备有关的信号。( √ )
5 W% v# U/ m* h( d9 w& B★考核知识点: 8086引脚特征 $ {9 L" k$ D `6 }
16、8086访问一个字节单元和访问一个字单元,只需要一个总线周期。( × )
) G3 r% S& G$ h! \6 }7 e2 k! Y★考核知识点: 8086时序特征
$ U3 t) Z& a# W, R17、DRAM存储器芯片只要不关电源,信息就不会丢失。( × )
! c' \7 }5 K/ V- ]. S1 `" S★考核知识点: 半导体存储器的概念
1 E L1 N# Q# o6 U18、EPROM 虽然是只读存储器,但在编程时可向内部写入数据。( √ )
3 V$ H3 q( u7 v& X! M★考核知识点: ROM的概念 . F' a6 }% L' U( s
19、多个外设可以通过一条中断请求线,向CPU发中断请求。( √ )2 T1 Q; G9 y- R) V) u5 \* r
★考核知识点: 中断系统的基础知识 & Q+ k2 j+ F( d
20、8086响应INTR请求需要执行两个总线响应周期。( √ )% g" _: [2 O+ ^
★考核知识点: 中断系统的基础知识
4 C4 q- h6 j% e. n6 K( \21、8259A中对任何一级外部IR中断源都可单独进行屏蔽。( × )
! Q7 P+ o2 S% O$ w: ]★考核知识点: 8259A的相关知识 5 f _1 r6 b* d& v* J9 K
22、8086的中断入口地址只能放到内存的最低端,即0—3FFH区域。( √ )
9 |7 e1 _4 f2 I$ `★考核知识点: 8086中断实现相关知识 5 R% `) C' c8 y! S
23、8088的 信号可用作中断矢量的读选通信号。( √ )7 L U* _5 z$ M$ a$ ~3 ~9 F: V
★考核知识点: 8086中断实现相关知识
/ v1 v* E9 t+ _5 `' \ R* t24、8088 的可屏蔽中断的优先权高于非屏蔽中断。( × )* e9 G+ q% u/ \& }* v$ F& A
★考核知识点: 8086中断源优先级 ! ~$ P# Y0 ^0 C# m' j
25、8086的可屏蔽外部中断源的中断类型号是用软件设置的。( × )
& m4 L: B) t1 P, e- o- \0 ]★考核知识点: 8086中断实现相关知识 2 _& F9 I: L4 r
26、8253 的每个计数器只能按二进制计数。( × )
' q S/ M' @& ?) t★考核知识点: 8253 相关知识
, p: F) G( U5 C) v27、8253三个计数通道结构完全相同,且独立工作。( √ )
/ a) i4 N: h- Y; w" U+ {★考核知识点: 8253 相关知识 " N, b9 X6 c* f) D0 D8 a
28、8253的计数执行单元最多可计数65535个输入脉冲。( √ )
# c$ }* A f5 R. b( `2 m★考核知识点: 8253 相关知识
3 @, Z( P1 Q; y- f. w29、读取8253内的计数值时,必须先用锁存命令将当前计数值锁存在输出锁存器中。( √ )
: h3 a+ d) q+ c4 U★考核知识点: 8253 相关知识 + S3 y1 C+ }" e) m
30、8253的计数器是对机器的CLK脉冲计数。( × )- e5 X! l' R# a; s) d8 P% @ R
★考核知识点: 8253 相关知识
0 r! A* m( ?/ |31、8255A中端口A使用的是INTR等联络线是端口C的线。( √ )# J1 B/ S( ?! p1 Q# G
★考核知识点: 8255A相关知识
' c9 {5 y; i- J32、8255A的C口置位/复位控制字是写入C口的端口地址。( × )
' e% H) u @; ?8 a! m* R( C★考核知识点: 8255A相关知识
, K$ P% @: i" O6 ^33、8255 只有三个普通I/O端口,所以它不可作为一个外部中断源去向8086申请中断。( × )( _1 d1 h6 j) N# j- N- F
★考核知识点: 8255A相关知识 1 y/ g% N' _6 _1 N
二、主观部分:1 j; C+ y) {+ \3 l1 h
* N, M& m% M# J
(一)、简答
# g2 d1 U' n0 R4 i/ d: @1. 假设四种CPU主存地址分别为16根、20根、24根以及32根,试问每种CPU可寻址内存多少字节?
( K% e/ Y, m, ]★考核知识点:8086CPU的物理地址与引脚的关系 6 q5 N/ O; k* H$ V
附资料:64K字节,1M字节,16M字节,4G字节5 D a8 I# |8 ~9 d" U+ X) e' Q1 }+ q
2. 设字长为16位,将下列十进制数转换成二进制数,十六进制数以及压缩BCD数。
6 `( }6 M0 p/ V① 65 ② 129 ③ 257 ④ 513
1 x8 s/ c- D+ y) k( f; w★考核知识点:数值转换,参见authorware课件第一章第一节; w9 p; j- \& s+ W6 o' X7 J
附资料:①0000000001000001B,0041H,( 0000 0000 0110 0101)BCD
4 o! I% R- v+ L5 J" \ ②0000000010000001B,0081H,(0000 0001 0010 1001)BCD
1 H: B6 L2 Y: j* n: p; | ③0000000100000001B,0101H,(0000 0010 0101 0111)BCD
) @1 h1 H+ Q. t ④0000001000000001B,0201H,(0000 0101 0001 0011)BCD
" y% q/ e; H! o* q7 q2. 请写出0 的原码、反码与补码
) P( ?. p b l0 u+ P/ P★考核知识点:机器码中的原码,补码,反码的概念及计算方法。参见authorware课件
0 y8 q5 `0 @) E& w' v2 a4 W附资料:8位数0的原码: +0 = 0 0000000
* y( k5 ~/ a1 p) |- 0 = 1 0000000
3 M! ~ ?, J H/ ^+ Y: G即:数0的原码不唯一。
, a( Z) [9 u% O4 k' U[+0]反 = 00000000
& ^( ^ B* n! I0 Z# T* T[-0]反 = 111111119 x3 }4 y ~4 V, f/ J o0 w
即:数0的反码也不是唯一的。. e7 B% H( @4 I
[+0]补= [+0]原=000000001 W" H5 e, w3 \: Z) L! r
[-0]补= [-0]反+1=11111111+1 =100000000! N. i, w' G# e) s; Z8 N
对8位字长,进位被舍掉( x, b4 G& j& n$ m$ `, L
∴[+0]补= [-0]补= 000000007 Q2 j' E# M7 i8 ]
3.设字长为8位,写出x、y的原码、反码和补码,并且用补码计算x+y,问是否有溢出? , D% a; E* [+ {" @; U2 _) n" J9 Q
① x=-78 y=35 ② x=-64 y=-66: R( N" c3 n# B, n0 M A7 y
★考核知识点:机器码中的原码,补码,反码的概念及计算方法。参见authorware课件
, Y( D& S3 S$ d% j附资料:
7 B' e* G+ M" P$ j& U①[X]原=11001110,[X]反=10110001,[X]补=10110010
3 u$ Y$ a* h' f9 Z8 I[Y]原=00100011,[Y]反=00100011,[Y]补=001000110 E- z& D7 B) {1 o2 y8 v4 c3 U
因为:[X]补=10110010 [Y]补=00100011
5 d+ Z0 G/ y8 ^5 u5 X. i1 r那么:[X]补+[Y]补=11010101=[X+Y]补 X+Y= 10101011 没有溢出
2 z) @! F! v. i2 o, E. p7 A②[X]原=11000000,[X]反=10111111,[X]补=11000000
& M0 P' D9 z) b3 G[Y]原=11000010,[Y]反=10111101,[Y]补=101111109 ]0 w& U2 ~7 W& m
因为:[X]补=11000000 [Y]补=10111110
# l$ \, P" A1 r* | 那么:[X]补+[Y]补=101111110,有溢出
0 ^ D3 k' D; h3 I M
" ~) j( Q1 {; [$ z2 W- I( n0 F4. 8086CPU由哪两部分组成?它们的主要功能各是什么?0 g6 J1 p5 i: J! H! F
★考核知识点:CPU的组成以及各部件功能。 5 X3 B9 O4 k. N/ D" b5 m U
附资料:
2 b: L5 F1 a3 o: o& g, Z8086CPU由总线接口部件BIU (Bus Interface Unit)和执行部件EU (Execution Unit) 两大部分组成。总线接口部件的主要功能是形成物理地址、预取指令、指令队列排队、读/写操作数和总线控制。执行部件的主要功能是进行指令译码并执行指令。
% X( z9 C- n1 D* m$ f! D5. 什么是逻辑地址?什么是物理地址?如何将逻辑地址转换为物理地址?" k' R! d, }* U& \' R( I: t: I
★考核知识点:逻辑地址,物理地址的概念及其相互转换关系 7 B& ?1 e4 |9 L ^4 J! C! C' R
附资料:
. U. v! I7 X$ L, y( e逻辑地址是指在程序和指令中使用的一种地址,它包括两部分:段基地址和偏移地址。段基地址说明每段在主存中的起始位置,它来自于段寄存器(CS、DS、ES、SS)。偏移地址说明主存单元距离段起始位置的偏移量。它是一个16位的偏移地址,根据指令的不同,它可以来自于8086CPU中不同的16位寄存器 IP、SP、BP、SI、DI、BX等。
5 F; @) \+ Q7 x: a) p) o物理地址是指CPU对存储器进行访问时实际寻址所使用的地址,物理地址是由段寄存器与偏移地址共同确定的。在实际工作时,从段寄存器中取出段基址,将其左移4位,再与16位偏移地址相加,就得到了物理地址,此地址在CPU总线接口部件BIU的20位地址加法器中形成。物理地址的计算方法为:物理地址=段基地址×16+偏移地址。
+ `! V" `' {) Q
7 b5 H' P" @5 M# |5 ^6. 设X=35H,Y=76H,进行X+Y和X-Y运算后,标志寄存器FLAGS的状态标志位各是什么?
9 n4 I+ J$ w! W★考核知识点:各个标志寄存器相关标识位的概念
: b9 n4 ^" t0 L附资料:
) S0 o8 Q. R Y* p7 i ~ X+Y=ABH,各标志位分别为:OF=1,SF=1,ZF=0,AF=0,PF=0,CF=0
& n# V& f4 I: OX-Y=BFH,各标志位分别为:OF=0,SF=1,ZF=0,AF=1,PF=0,CF=1
( E0 D8 B( ]8 h! ]7.8086的 4个逻辑段在形成物理地址时分别是什么用途?
' @! W/ P" A1 A9 \. y' o3 d★考核知识点:8086的分段结构以及各段与物理地址寻址之间的关系) @$ i; ~3 |, ]
附资料:
8 S! t: ~/ ^9 w% r* M在8086的程序设计中,一个程序可以有代码段CS、数据段SS、堆栈段SS和附加段ES。2 v) a* y3 v: j' Z. t
代码段CS用于存放程序;
) [* e' g) D+ e6 S0 p* w# ^9 D数据段DS和附加段ES用于存放数据;
- D2 ]& r0 t8 y6 {9 _堆栈段SS用于存放数据(包括暂存数据和保护现场的数据)。
8 H" ?' G8 p L8 E在形成物理地址时,CS、DS、ES和SS四个段寄存器的作用如下:当取指令时,CPU以CS寄存器的值作段基址,再加上IP中的16位偏移地址,得到指令的物理地址;当进行堆栈操作时,段基地址CPU以SS为堆栈段的基地址,偏移地址由SP或BP来指定,当访问存储器的数据段时,数据段寄存器DS或附加段寄存器ES,再加上16位偏移地址,得到操作数的物理地址。
* m# ~5 ]) h; |6 m2 h: \8. 请将如下逻辑地址用物理地址表示:- U5 {9 B# d" v: {4 }+ l" {: v
(1)FFFFH:0 (2)45H:18H (3) 2000H:4600H (4)B821H:3456H, B ?+ ~( q" B, o! B! G% y
★考核知识点:逻辑地址,物理地址的相互转换关系
: o& f+ Y7 X/ d附资料: h! S6 z4 L7 n v0 ~5 V
用PA表示物理地址,PA=段基地址×16+偏移地址 s! g o7 \% Q4 t- K( T4 T
PA=FFFFH×16+0000H=FFFF0H
& b8 @/ F5 [' a; @. x; y) z0 n(2)PA=45H×16+18H=468H7 h# \ I/ P% K$ ?! L1 d
(3)PA=2000H×16+4600H=24600H
' G1 ?; h" n, [: [5 {& \(4)PA=B821H×16+3456H=BB666H
+ |7 p( y% T2 t/ p* w3 F8 v9.分别指出下列指令中源操作数和目的操作数的寻址方式& T8 [, q9 k. m* @
(1) MOV AX,5678H w6 H" z" G9 w5 V6 ~+ P/ x
(2) MOV [SI],AX+ f! `$ ?; [) ^. u1 C" U
(3) MOV 2[DI],BX4 Q5 [0 P4 k8 D" _* D- u1 k
(4) MOV 2[BX+SI],DX
$ u7 I! z& `- {(5) MOV AX,[10]
" d/ j+ t6 c& k8 I% S(6) MOV AX,[ SI][ BP+FFF0H]
l9 m& f# P+ N4 m* ]0 Y- W$ p4 T★考核知识点:指令中操作数的寻址方式
: L4 u4 p' T7 N: D: n附资料:* I, O2 h. m. s! I3 O% P
指令 目的操作数的寻址方式 源操作数的寻址方式
C4 Z& P& L& `* N" _" n0 o(1) MOV AX, 5678H 寄存器寻址 立即寻址
4 H& d' w; q/ C* r( k(2) MOV [SI],AX 寄存器间接寻址 寄存器寻址
6 n' m7 t/ g& o6 O(3) MOV 2[DI],BX 寄存器相对寻址 寄存器寻址; o" y U, x4 ~5 p1 Q% d; W8 H
(4) MOV 2[BX+SI],DX 基址变址寻址 寄存器寻址& J' U" R2 f) Z1 a+ ~- b, W5 E
(5) MOV AX,[10] 寄存器寻址 直接寻址
2 U# j" O1 t" [: R(6) MOV AX,[SI][BP+FFF0H] 寄存器寻址 带有位移量的基址变址寻址
% ~" L; m/ L- D; `
; l1 b5 }& Y+ S( r7 c1 G) c7 T' ~/ `10. 指出下列指令的错误原因) L. u& o7 r# {7 G/ s, r
(1) MOV AX,BL
0 B/ ], p- F# D, K) ?2 X: T7 `(2) MOV 2,AX7 S+ m5 S5 g/ s3 {. F8 {0 ~
(3) MOV AX,[DX] J" N1 C+ \; S% s9 T6 l
(4) MOV AX,[BX+BP]8 v1 ?7 Q f8 t% [1 i
(5) MOV AX,[SI+DI]
% `7 g$ ^1 k# L. }: @3 h6 }2 E(6) MOV [SI],[DI]* c% F& c% W& q: I0 D. ?. O
(7) PUSH AL5 Y- z' J# Y; v, N1 r' l( m, a
(8) POP DH
' v1 g5 N* A9 C& C3 C(9) MOV CS,AX2 S4 N; N% w" j: h. ^3 K& d
(10) MOV SS,AX4 U2 j2 v% C5 u2 {4 `+ ^3 B
(11) SHL AX,3
t' S; u) `/ A( b★考核知识点:指令的工作性质及执行条件
+ X. W3 @8 s) [, }# |4 a# p) b附资料:! y9 y9 ^# B* _' C6 G4 x) l [
指令 错误原因: t2 W7 y; O( p
(1) MOV AX,BL 源操作数和目的操作数类型不一致 y- J7 r! ]4 x
(2) MOV 2,AX 立即数不能作目的操作数
# x$ O+ T: ^; k% T(3) MOV AX,[DX] DX不能作地址寄存器8 c8 z7 n9 ~4 a: u( Y& O+ M
(4) MOV AX,[BX+BP] 源操作数寻址方式错,两个寄存器都是基址寄存器
8 O' _' f9 E9 b(5) MOV AX,[SI+DI] 源操作数寻址方式错,两个寄存器都是变址寄存器
$ l# c4 P5 i' z0 B3 }7 x) U2 Z7 v(6) MOV [SI],[DI] 源操作数和目的操作数不能同时为内存单元地址
8 {7 x" p& Y$ ]% U# O(7) PUSH AL 入栈的数据必须是一个16位数据7 X, j3 j" ^' s- W' p, S3 h
(8) POP DH 出栈的数据是一个16位数据,DH是8位寄存器
$ A1 k7 ?/ d2 `8 e(9) MOV CS,AX CS值不能由程序员编程改变
5 Z# w8 _2 T/ @" R- Y(10) MOV SS,AX SS值不能由程序员编程改变
2 X% D. J9 t/ R- u+ w(11) SHL AX,3 移位次数大于1,应先将移位次数送CL" ^9 D1 @' f6 s/ |/ i! h: j1 Y
. x4 M% f& {! W$ h( y4 Z
11. 比较下列两条指令,指出它们的区别
; X0 N) T3 p) H4 P) n+ L MOV AX,[SI]
3 X4 n, b' [; c MOV [SI],AX
* H* C8 }7 @/ \- k" S★考核知识点:指令的工作性质及执行条件
- `& |# H- H. B. E附资料:; ]: c- y- h Z6 X! F0 W8 `4 V2 K4 C
这两条指令的区别是,指令“MOV AX,[SI]”是将内存单元DS:[SI]中的内容读到CPU中的寄存器AX;而指令“MOV [SI],AX”是将CPU中寄存器AX中的内容写入内存单元DS:[SI]。
' S+ @) L* |2 ?. ~12. 比较下列两条指令,指出它们的区别
3 T' {6 m1 e( K MOV AX,[SI]- A, B- V" n4 Q* n
LEA AX,[SI]$ R& H) G" k$ @9 r
★考核知识点:指令的工作性质及执行条件
2 C/ u% b" @5 _: p) a附资料:% g5 K& W5 B# W+ A+ E q
这两条指令的区别是,指令“MOV AX,[SI]” 是将内存单元DS:[SI]中的内容读到CPU中的寄存器AX;而指令“LEA AX,[SI]”是将内存单元DS:[SI]的偏移地址送到AX。
/ L- ~4 P7 V/ F13. 假定(AX)=12345678H,不用计算,写出下面每条指令执行后(AX)=?
0 [* q# `1 M7 X8 P% [① TEST AX,1
8 ?" j! _+ J) O" `9 {: ^* O" P5 D② XOR AX,AX
# f, i5 P& w! |4 s+ x4 g③ SUB AX,AX
# _; X; X+ p; {④ CMP AX,87654321H
& r" D5 L% ~# L! K! o% b★考核知识点:指令的工作性质及执行条件
. V. g. v1 C1 h5 @附资料:
% X' P/ J- M# E# P① (AX)=12345678H ② 0 ③ 0 ④(AX)=12345678H4 h# C2 \* b* Q/ i' J. d4 w
14. 假定(AX)=1234H,(BX)=5678H指出下列指令中
3 ]' |5 ]; O. F: M) Z* N8 L& X① 哪些指令执行后,源操作数和目的操作数都不发生变化?
5 A0 a9 B c* a$ [+ g3 a! c+ g8 h& U! z② 哪些指令执行后,源操作数和目的操作数都发生变化? " B4 w# n d8 |( ~" ^$ y. }) H
③ 哪些指令执行后, 源操作数不发生变化而目的操作数发生变化?
/ w; g6 T; q6 D; b; r指令:
5 P; Z+ q! ^( `3 U ① TEST AX,1234
7 [6 T4 F* |$ ]8 v& E: C. K6 c7 X② AND AX,BX, g) ^3 }2 J) Y, N6 |" n
③ SUB AX,1234H
* E7 G# [( v: x- ~# e% d④ CMP AX,1234H) _! X$ j( v# L0 c/ A4 s. L2 r4 \5 X! Q
⑤ XCHG AX,BX
7 e& o5 y( C' d9 x9 C! A★考核知识点:指令的工作性质及执行条件 : G- Q, M- W V* W+ b
附资料:
- y8 Q( T& S, ]6 a2 [' J① 指令“TEST AX,1234”和指令“CMP AX,1234H”执行后,源操作数和目的操作数都不发生变化。5 @) R; H" o. f, K
② 指令“XCHG AX,BX”执行后,源操作数和目的操作数都发生变化。
# A) y2 p+ W) l0 s* A# m. l/ w③ 指令“AND AX,BX”和“SUB AX,1234H”执行后, 源操作数不发生变化而目的操作数发生变化。: o& L8 R Y k
15. 若8086CPU工作于最小模式,试指出当CPU将AH的内容送到物理地址为 91001H的存储单元时,以下哪些信号应为低电平:M/ 、 、 、 /S7、DT/ 。若CPU完成的是将物理地址91000H单元的内容读入AL中时,则上述哪些信号应为低电平。
3 H. `. |' L8 X0 u9 F★考核知识点:8086CPU的时序特征与引脚功能
" y4 A \) C* T附资料:
9 I& H/ R! @; R. i6 l当CPU将AH的内容送到物理地址为 91001H的存储单元时,CPU完成的是写存储器操作,且完成的是访问存储器的奇地址,因此, =0, /S7=0;
# @2 z- N/ T! a, K+ N, [若CPU完成的是将物理地址91000H单元的内容读AL中时,CPU完成的是读存储器操作,且完成的是访问存储器的偶地址,因此, =0,DT/ =0。" I* T! K/ ]9 z
3 M1 z: K( L! ?" u16. 什么是引脚的分时复用?请说出8086CPU有哪些引脚是分时复用引脚?如何分时复用?4 d6 k6 p% [4 t3 \( s
★考核知识点:8086CPU的引脚功能与特点 * o! L; }9 `5 |- s) g
附资料:9 I& _- O& ]) u8 a4 O0 f; H; i, e
8086的数据线和地址线是利用复用的,所以常把8086的总线称为多路总线,即某一时刻总线上出现的是地址,另一时刻,总线上出现的是数据。正是这种引脚的分时使用方法才能使8086用40条引脚实现20位地址、16位数据及众多的控制信号和状态信号的传输。; V: I+ ^: X$ L- Z4 _3 m
8086CPU的分时复用的引脚有:地址/数据复用引脚是:AD15~AD0,在总线周期的T1状态,传送地址信息,在其它状态则传送数据信息;
* i0 I" U ^1 v& P: p- q& g地址/状态复用引脚是:A19/S6~A16/S3,这些引脚在总线周期的T1状态输出地址的高4位,在总线的T2、T3、TW和T4状态时,用来输出状态信息。
$ L6 \" ~! l2 T e% v6 V
! H& \6 O6 e8 a4 }! O5 I/ W17. 分析8086CPU两个中断输入引脚的区别,以及各自的使用场合。
8 _3 j" I l# m3 D& U★考核知识点:8086CPU的中断引脚功能及对比 / g* S' j- U3 b/ s# p, Y! i- l
附资料:
% N# p4 e1 A; f! a+ S1 ]3 G7 m 是中断响应信号,输出,三态,低电平有效。该信号是CPU响应中断请求后,向中断源发出的中断响应信号,用以通知中断控制器,以便由中断控制器提供中断类型号。在每个中断响应周期,CPU在 引脚上发出两个连续的负脉冲。4 D; C5 e2 _$ j4 v+ i
NMI是非屏蔽中断请求信号,输入,正跳变有效。这类中断不受中断允许标志IF的影响,也不能用软件进行屏蔽。当NMI引脚收到一个正沿触发信号时,CPU就会在结束当前指令后引起中断,执行中断类型号2的非屏蔽中断处理程序。9 D# P3 T0 W0 h& x) i) \5 g
18. 分别用8KB×4位和16K×8位的RAM芯片构成48KB的存储器,各需要多少片?
. U- P( A6 W, ~ V5 V★考核知识点:微型计算机存储器结构与CPU引脚的关系 - m8 ^( }0 X% F3 H% k: N
附资料:
/ A. u" p! A& } 8KB芯片:12片(2片为一组)
! W3 s2 G( ?. |& T5 R16K×8位芯片:3片+ }4 V- x. R/ Q8 n
19. CPU与外设的接口信息都有哪些/ ?4 u L7 O! P+ F' e0 B
★考核知识点: CPU与外设的接口信息
" }! m1 j' S7 n1 Q7 }3 J4 v8 Q# G附资料:3 O. _: A- K; O: F
CPU与外设的接口信息为:数据信息、状态信息、控制信息。 , H3 I. H$ q6 ^9 l* v
20.CPU与外设数据传送的方式有哪些?DMA适用于那种工作场合
* h" E" u2 V, o2 [6 d5 R★考核知识点: CPU与外设数据传输的方式 / q( R/ c {" w% M: j; ^8 Z
附资料:; n3 _$ W2 q& G5 l+ t# b
CPU与外设数据传送的方式有:: e5 j7 z! c; M+ O& [* d1 @
无条件传送方式、查询方式、中断方式、DMA传送方式。DMA方式适用于外设与存储器之间的数据直接传递。2 h' n0 v( w& o$ J
21. Intel 8237 DMA控制器,利用通道0,由外设输入32kb的数据块,传送至内存8000H开始的区域(增量传送),采用块连续传递的方式,传送完不自动初始化,外设的DREQ和DACK都为高电平有效。请编程进行初始化。8 q/ L) g* c$ @8 Q6 | L1 t
★考核知识点: DMA控制器的初始化编程 5 k# F2 b! B1 I. ]6 M) ~
附资料:9 k9 o$ ?) D7 X4 b9 ]2 e
OUT 5DH,AL
* L% q7 _2 g8 j" t/ U+ SMOV AL,00H
2 D" F# A; G% `* y: M dOUT 50H,AL
1 K. C. A% H: ~( g2 S1 F) pMOV AL,80H! Z0 s, b. D; O8 P5 ?! }
OUT 50H,AL8 X7 w' k! `; D! L0 t
MOV AL,00H8 X( }( q: R" ]5 y+ V
OUT 51H,AL
( D. v& K( K; t7 S* Y* iMOV AL,80H
- ~! Z( h6 x" }9 N) EOUT 51H,AL8 e$ u6 Y# e+ A
MOV AL,84H
4 ?/ ]+ M6 r' u1 JOUT 5BH,AL
$ J D2 Q! c2 l1 t+ z9 xMOV AL,00H& ?9 v, ^+ b3 R: ~7 x' t
OUT 5AH,AL
/ ]7 B8 D$ E# Q8 f5 J. PMOV AL,A0H- n# a' Z% r5 q, f
OUT 58H,AL
9 w" p" M, T( K9 }; c4 Y7 b, M! K3 X5 Q0 y! r
22. 中断系统应该具有什么功能。
: ^% f8 I4 A' i★考核知识点: 中断系统的功能 ) D* a- [+ J/ U4 f6 W3 \' A5 V& @0 H
附资料:' X9 \( p% M# ~( i# F# X+ z! |
作为中断系统,应该具有以下功能:
7 A0 O4 Q4 v' t* a1.实现中断及返回
1 p& l5 p( ]3 K1 w$ H2.实现中断源的优先权排队2 k8 H+ H8 \; s5 _+ _
3.高级中断能中断低级的中断处理
/ T t+ t; D S7 [- }% T2 B6 c5 r9 G- _' O3 l
23.试按如下要求分别编写8254的初始化程序:己知8254的计数器0、1、2和控制字I/O地址依次为04H、05H、06H、07H。
; d! e3 [% l; S3 N4 k5 d0 x(1) 使计数器1工作在方式0,仅用低8位作二进制计数,计数初值为128;
# F' y1 h5 o0 _5 F' [! k, x6 k; F(2) 使计数器0工作在方式1,按BCD码计数,计数值为3000H;2 k1 ^. m7 `4 w# ^3 f. g
★考核知识点: 8254计数器的工作方式及初始化编程
5 L4 {3 p( ]% _7 ]. @1 N2 j+ a( x附资料:) ^4 ?& R( v7 H- e& U V
(1) MOV DX,07H ;控制端口地址给DX
|7 v m/ z/ A/ {MOV AL,01010000B ;计数器1控制字
+ _3 W* |8 t' O$ c- @% jOUT DX,AL " l+ Z% K7 j4 n$ i2 k! ~
MOV DX,05H% {) w5 P' T7 j. e) Y% Z
MOV AL,80H ;计数初值 128
& Q6 N( b# b2 H& Q% rOUT DX,AL6 ^- D7 K+ Y% S
(2)
: s u( j* q ^4 O( o. p MOV DX,07H6 g4 f H6 h1 [& ]
MOV AL,00110011B ;计数器0控制字3 O& q, r. c; ^) ~8 L
OUT DX,AL ;
- t& K) k( U& G5 ^8 zMOV DX,04H- C: W5 i7 G+ ?! @/ N9 F
MOV AL,00H ;先送低8位$ N! R; X! f# [
OUT DX,AL" N# p" I2 p% r$ y6 G% ~
MOV AL,30H ;后送高8位$ [) ?7 G, v& E, v% M$ l t% R' E
OUT DX,AL 7 t/ `& s8 E3 E* o$ f
/ S* L0 [; V$ l) u: D
24. 设8254计数器0、1、2和控制字的I/O地址依次为F8H、F9H、FAH、FBH,说明如下程序的作用。4 G% \3 f' E9 [7 g& M, x
MOV AL,33H* l2 @" } q% y8 i; }/ p: R4 |/ Q
OUT 0FBH,AL
( A' U# P* \2 l MOV AL,80H
: i% }) B: ?- K( ` OUT 0F8H,AL+ H, |0 n0 O% @! }# P
MOV AL,50H
- _3 S1 i+ S3 h/ B* R) V2 v 0UT 0F8H,AL
4 J2 E7 F" R r; q E# C* R★考核知识点: 8254计数器的工作方式及初始化编程 # r! k [& y' I: H, G
附资料:
* G! N+ V" _ Y3 a* I解: 33H 即00110011B送入控制地址 FBH,表示计数器0采用16位计数,工作方式1,数据格式为 BCD,计数初值为:5080。
; T6 D3 f( G$ p2 a6 Q9 p" j4 V
L! A8 E# L6 W' u, C1 K% i/ W2 y) V25. 8255A的方式0一般使用在什么场合?在方式0时,如果要使用查询方式进行输入输出,应该如果处理?
/ \/ r, P, Y# C★考核知识点: 8255A的工作方式
* }& G, e+ c5 D$ D" Q附资料:
* m& W0 k* J6 |( r q) H7 z方式0的使用场合有两种,一种是无条件传送,另一种是查询式传送。在方式0情况下,没有规定固定的应答信号,所以,这时,将端口A和端口B作为数据端口,把端口C的4个数位(高4位或者是低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态,即利用端口C来配合端口A和端口B的输入/输出操作。使用查询方式进行输入输出时,可利用端口C的某一位作查询,只有当该位为1时,方可以将数据送到输入或输出端口去。2 b' n, G" b" Q
7 _3 H( [5 y- j$ @( W' E( M8 }26. 设8255A接到系统中,端口A、B、C及控制口地址分别为220H、221H、222H及223H,工作在方式0,试编程将端口B的数据输入后,从端口C输出,同时,将其取反后从端口A输出。
, o9 p% w; p3 U; X: v. U9 J★考核知识点: 8255A的工作方式及初始化编程 & i# K+ k0 ]+ i+ b, b: X+ C
附资料:
1 H( O# _6 L0 }& ]' @; d4 R MOV DX,223H3 ^0 T6 [, z( y: V; R
MOV AL,82H ;100000107 P4 B% a! H: r: O
OUT DX,AL; @8 n& @/ M3 T
MOV DX,221H
/ Z4 g; T+ m+ x# Q# k7 x7 _ IN AL,DX+ Z) b& V5 A8 e3 S: ]; s# m4 t
MOV DX,222H9 I6 \, n# K4 {& w+ j$ N
OUT DX,AL" y; T3 ?7 y" d# g4 V# o
NOT AL0 h7 A& h$ U: P. X& p
MOV DX,220H
) b) s" J7 S* q! Y& g OUT DX,AL
/ j- t1 v( h, }7 W1 N
7 ^. G" U/ [7 i) ~; y9 B27. 对8255A的控制口写入B0H,其端口C的PC5引脚是什么作用的信号线?试分析8255A各端口的工作状态。; c+ n; Z+ i/ g- t* h
★考核知识点: 8255A的工作方式及初始化编程 , D6 \) c6 R# U: S4 g
附资料:
3 k1 S+ g$ T6 s' K6 M/ S当控制字为B0H时,即10110000B! E7 X' r, V$ L0 p
即8255A的端口A工作在方式1,作输入,端口C的上半部作输出,B端口工作在方式0,作输出,端口C的低4位作输出。
; k' U# ?- J: G7 p9 e9 T根据上述分析可得知,当8255A的端口A工作在方式1下作输入时,PC5的引脚作状态信号IBFA,即输入缓冲器满信号。3 X6 H& c" q& |7 |
* S5 m8 I0 V% k" \- T l! h6 K
28. “由于按位置位/复位命令是对C口进行操作,所以可以将命令以数据的形式写到C口”,这句话对吗?为什么?
5 P8 G5 U# O; ^. L' ^8 D7 P★考核知识点: 8255A的工作方式及初始化编程 : b. }0 A! u2 S; p
附资料:- v8 u8 h# i0 t' v; ^$ [# W
不对。这是因为按位置位/复位是一个命令,它就要按命令的定义格式来处理每一位,如果把它写入端口C,就会按端口C的数据格式来处理。这两种定义完全不同的格式是不能互换的,所以,它只能写到命令端口中,按命令定义来处理。! E5 J" j7 x$ @8 |- H
1 L7 O5 i1 i4 ~" u2 n% q
(一)编程. y: P/ W6 C) S9 S
1. 设给定一串无符号数:25,9,11,8,6,0。Buffer为首元素地址。请实现以下功能:
8 |0 \) T8 a; `: m/ B在此串数中寻找最大值,并且放置至指定的存储单元MAX中。
; y3 n' k4 `. ]( X5 L将此串数,求累加和,放入到指定的存储单元SUM中。
1 N% H& m* _: z/ t% k★考核知识点: 汇编语言编程(分支语句与循环语句) 0 |; z( B* Z W5 d( }$ v( m
附资料:8 y& S! Y, C9 V" G: N( r
DATA SEGMENT
8 a3 r5 B: }! O1 h BUFFER DW 2,4,6,1,8' P6 e% G$ ^% T# Y) u2 i
COUNT EQU $-BUFFER6 s% x6 B3 X. L. h e: q6 ?$ P y, a
MAX DW ?. F% j, s9 H: S* F0 Q4 t, k9 t
DATA ENDS- |! C4 V5 ^+ |& l5 Q5 ?
! M: f+ P5 \& y: T# M5 U
STACK SEGMENT PARA STACK 'STACK'% D5 `; B7 y, `" S5 c6 r2 V
DB 64 DUP(?), Z5 S% D+ b+ b3 m! X
TOP EQU $-STACK" l# e' k) C' s+ E& |: _9 S: N
STACK ENDS; ], C" o; r! [$ y) z- s2 R
# F1 I; B+ _. o2 O' A @
CODE SEGMENT; b' W/ {6 ^; L5 E
ASSUME CS: CODE,DSATA,SS:STACK. L, c" a+ M9 Y7 q5 o1 X8 x
START PROC FAR
! n& O1 H0 C* |0 \# s: hBEGIN: PUSH DS
[+ K" r! n% ]; D2 f8 E( K MOV AX,0
9 }7 v7 s5 e; h6 z* h: r PUSH AX
+ w: T+ g0 d! e& h+ ` MOV AX,DATA
/ r; t G( j7 | MOV DS,AX: c/ E N; m; Y" S/ n) ?
MOV AX,SEG STACK& [/ V- |& D7 ]) T# ]0 ]) ^5 _1 A
MOV SS,AX9 k5 q2 v& T. G+ B$ i7 Q( U
MOV AX,TOP6 f$ Z6 C- v% Q: {
MOV SP,AX
8 \" L* }( D# d1 ^" V MOV CX,COUNT;存放数的个数
% `# H B3 t6 ] LEA BX,BUFFER;存放buffer首指针
: i4 |7 _/ l; {0 r MOV AX,[BX];取第一个数至AX
" `7 ~6 S M# y
/ Y' n; t! t; {$ Y. f _9 v- v- BINC BX;BX +1( g+ d2 e. G w
DEC CX;CX -1$ P9 e- [- @5 f* p" ?
AGAIN: CMP AX,[BX]: s m% ?2 T2 N8 O' e# K
JGE NEXT9 C; ?( B N" S$ ?& p
MOV AX,[BX]
# J* B: r/ Y) R% S; DADD AX,BX ;求累加和3 Z* q$ Z2 K, \' C4 A, L- z
CMP AX,1000 ;比较 ) Z2 ~+ ~+ B' I+ d
JBE LP ;≤1000转
- c5 p7 A9 k+ X' r- V; b MOV SUM,AX. E; A2 n% M5 D1 E# o( ?0 @2 u
MOV CN,BX ;送结果
{8 I' ~( l% _- [$ t* f/ oNEXT: INC BX
' i2 q/ W$ w2 Q1 Z+ @! E LOOP AGAIN
- P3 k" S5 v. b9 v. i: r. FSTART ENDP. s; ~: ~1 b# q. M' D3 D
2. 编写一个在某项比赛中计算每一位选手最终得分的程序。计分方法如下:
- f% v6 x* V- b0 s; h' w* f g( e① 10名评委,在0~10的整数范围内给选手打分。
6 D5 X& s P7 c4 ~# |. s% V② 10个得分中,除去一个最高分(如有同样两个以上最高分也只除一个),# y4 Q2 q8 @" k0 e. {
除去一个最低分(如有同样两个以上最低分也只除一个),剩下的8个得分取平均值为该选手的最终得分。8 b2 P! o9 a. o' ~8 d$ G& ~
★考核知识点: 汇编语言编程(分支语句与循环语句)
' A/ M+ @; I8 J( s! C# L6 _# G. q) W附资料:$ P& M9 z w k0 n8 Q3 B% s
DATA SEGMENT
" i# u' }) v9 N. m SCORE DB 7,8,9,8,10,10,9,8,7,10
1 v8 A% A) `9 X( a$ w; L/ S N=$-SCORE
l! t( J- S/ U AVERAGE DB ?
5 w; ^7 U" a& {" D/ J. L. b: j MAX DB ?' W# @; {7 O1 F, B2 h3 O. U
MIN DB ?
3 @. n' M* [. S8 BDATA ENDS$ p0 ]0 q0 J. n( s
CODE SEGMENT 'CODE'
" E8 z: ~ z/ v1 W8 T$ E ASSUME CS:CODE,DSATA' Z$ W: R! ]% e
START: MOV AX,DATA: j2 y( c! A, M) ?7 d" t+ M
MOV DS,AX4 P y% @7 V9 s8 N% E. U. m4 H* n
MOV DL,SCORE
# q B ~" A s" ^0 X9 `- q MOV MAX,DL
8 |2 K# x7 z6 p0 w/ I5 d MOV MIN,DL
u& v. e: \" o) |) W MOV CX,N-1* Q2 p# q9 A; v3 v! Z5 `* r
MOV BX,1
+ F: h9 J5 C# y2 BCYCLE: MOV AL,SCORE[BX]2 \' a2 M1 H6 S6 u# }
ADD DL,AL
: E# V C" X) S CMP AL,MAX1 h$ q0 N; [9 n# t
JLE CMPMIN$ ~1 Y. q8 N0 j( `8 N; r6 N# U+ j
MOV MAX,AL
# A! R, N2 r- _$ k. hCMPMIN: CMP AL,MIN$ Z* ]2 z5 F1 \' o! N+ w
JGE NEXT8 a* g- ^/ ~7 \6 ^
MOV MIN,AL* S- M y! C9 H
NEXT: INC BX
; N l) T# s) p/ h0 o+ H LOOP CYCLE
! X: v, k, P8 e3 K( w& T0 R/ i SUB DL,MAX
7 k- g& R2 r s( l# M SUB DL,MIN
7 I8 b) m; _: n2 i& E MOV CL,3- z* t6 y. n/ |- T0 N
SAR DL,CL
x! z P) g& g" i$ [ MOV AVERAGE,DL" H4 X* `/ M1 \4 I8 d( Z. u4 X* A
MOV AH,4CH
$ I6 O$ s5 j# K INT 21H) m1 N4 M; Z: [. W+ ?
CODE ENDS. m1 g0 ]7 z: X) k: p2 v+ n
END START
( w2 G, h# ?5 }& F* F6 M- r* v: L# u+ z& d& ?& Q0 c/ @+ X/ `
3.编写计算下面函数值的程序:
2 X) r9 @% l( j3 u7 X- ? 1 X >0* d& M- x* O& @, D& n+ R E& A( b
Y= 0 X =01 z8 J2 K. S+ B2 @2 x$ Z; s( D
-1 X <0
2 ]7 N. C& i/ G1 J. J1 ] 设输入数据为X= -5 、输出数据Y,且皆为字节变量。(要求:写出完整的汇编程序,并在关键语句加注释): l' }" Z+ o: i% T2 _
% M2 h$ U3 k) h. R, t' H/ S ~0 w★考核知识点: 汇编语言编程(分支语句) ; \* n0 k2 _ n6 }
附资料:$ C; g6 X0 W: Z7 A7 _$ y7 e
DATA SEGMENT* J' @& e& p3 L1 b2 z& n
X DB -5
\& [4 z; H: m$ K+ D Y DB ?& ]- |; ~3 p6 B5 }# E
DATA ENDS
5 }( N/ p4 C: f
. z5 L- z/ a* b6 A7 t5 ECODE SEGMENT+ ]" x7 X, d' P, _
ASSUME CS:CODE,DSATA
3 Y9 z* B6 y6 N% b# S' r6 y3 c+ x8 ^START: MOV AX,DATA$ g2 U. L" ~! \/ Q7 W: T
MOV DS,AX ;初始化
: p) K0 ]5 I; C% b MOV AL,X ;X取到AL中* T$ f! f( m) ~* U6 o" e
CMP AL,0 ;Al中内容和0比较
7 R+ x# F! a- P3 i) G$ N! u$ q4 G; uJGE BIG ;大于等于0,转BIG9 |' {" Z# q1 U( q; S: u9 s5 T, G3 j
MOV BL,-1 ;否则为负数,-1送BL1 x# i7 e5 q) x- {( H6 _% J
JMP EXIT ;转到结束位置
+ Q0 ^1 z: P; k4 ^% g' t+ gBIG: JE EE ;Al中内容是否为0,为0转EE
8 p2 z0 n. X) _( M+ cMOV BL,1 ;否则为大于0,1送BL* n! c8 _, |4 X* z
JMP EXIT ;转到结束位置
4 g( O9 s+ r. _EE: MOV BL,0 ;0送BL0 ?! ?6 D+ F0 r
EXIT: MOV Y,BL ;BL中内容送Y单元5 M# ]& \7 i1 x0 O( T1 F
MOV AH,4CH
7 J& m. E, ^% E9 l& U INT 21H ;程序结束
! i }4 x# c( B/ e8 R& w# }" t2 ZCODE ENDS
- p5 t4 S$ ]* X" ~5 K( b/ V END START ;汇编结束" N# {7 _5 b; c) J# R; e; h# o
& |7 ?' \; c7 w8 y5 m& }) m3.编写计算下面函数值的程序:
, s# r3 @) k |. F) R# a, h( A5 ]有一首地址为BUF的字数组,试编写完整程序,求该数组正数之和,结果存于TOTAL单元中(假设正数之和<32767)。" I( a& k; b6 q2 k! b6 |, b
注:1.请自己定义程序中所需的变量
1 E& o- F9 d* U+ \7 j6 s' J2.关键语句请写出注释
2 K. o4 _1 A2 ^, P+ ]5 F
' T' [, j% [' N: Y! I★考核知识点: 汇编语言编程(循环语句) 6 S' ]) v$ M2 [' |- s) K: \/ L5 ]
附资料:2 D" s/ J0 n9 ^: Q; @2 N5 ~+ P( D
答: DATA SEGMENT) ?6 \1 I( U6 `5 B7 c1 m) V
BUF DW XX,XX,XX,……..2 Y; `$ R7 C) I4 I
COUNT EQU $-BUF
1 Z$ K7 }6 [9 [, yTOTAL DW ?
, t0 |% }' o; B/ u5 Y; v% mDATA ENDS( Z' h9 H0 Z- M* a; ?
CODE SEGMENT
% R# y5 I' ]% o1 i ASSUME DS:DATA,CS:CODE+ T5 R1 p% `/ E9 s6 d
START: MOV AX,DATA3 {3 P/ ` v: s, D0 \6 Y6 ?% @8 S
MOV DS,AX: D" A j0 y2 o% `
MOV BX,OFFSET BUF- O" \0 m8 v! V4 I( x2 Z2 J
MOV CX,COUNT/2
0 V. H2 h; F: H6 g+ LMOV AX,0
+ l' |) @. W, f2 g) tLOP: CMP [BX],0" J7 U w4 U# c( }# A
JLE NEXT
: F7 S5 S% K' A: B# s* [ADD AX,[BX]/ ~" v9 Z% [7 D* a4 M" m9 D) Z6 T
NEXT: INC BX
( b' |" H; S VINC BX U( N3 s o, ?
LOOP LOP
2 W# l0 U) D8 X! W0 ]. T# wMOV TOTAL,AX
/ ]/ y9 w, n6 b0 w5 l2 D% }& @MOV AH,4CH
# t* u/ h9 M3 Y8 s- _INT 21H, t2 _, |9 a1 b- i! R+ j# R
CODE ENDS4 @ P# A. r; W& m
END START
% D2 X( a- o2 Q. w# g
7 s% f, U9 b/ C0 {. c7 Z4. 存储器1000H到10FFH的连续单元中存放着字节类型的无符号数,编程将其中的最大无符号数放到偏移地址为1000H的单元中。; ~, U X& i: A1 Z( _0 T: h
注:1.请自己定义程序中所需的变量
# N; V) Z. s& u! b- H 2.关键语句请写出注释
, I# j% S) r6 z+ R2 `0 O
! C' ~) z4 |7 ~- a1 W) b★考核知识点: 汇编语言编程(循环语句,条件跳转语句)
9 g- \+ W: E) u% H$ k$ ~附资料:
% V" S0 e$ R `1 N( H( O MOV BX,1000H
0 \9 L! k- U6 [" D9 P9 _. K/ d MOV CL,0FFH- c M' e1 W n2 E( |1 J( Q$ N
MOV AL,[BX]
5 S4 }, p) p3 w# T& r1 ?ABC:INC BX
, N. \9 t8 J: e& O. c* h; `* } CMP AL,[BX]/ B; \2 F# F$ c d& k
JNC BCD
: F+ e1 {2 D! X# r" S4 y- t; R" ` UMOV AL,[BX]
3 p! }% W/ C5 ^* a, m3 C+ u( BBCD:DEC CL, C) G7 I2 z# A b
JNZ ABC
\4 Y2 U x7 b( d9 h MOV BX,1000H
# m3 K1 L6 n: {3 z: y MOV [BX],AL
( \+ h6 M. D/ ~# Y% a JMP $
* l* X. ^: a$ R! p- \! F0 x6 _: X m
! k' D' [4 E6 L3 R0 @& U
; C8 j/ a! M1 h. g2 e
(二)设计题
+ ]- d9 [0 a3 x1.用1K×4的2114芯片组成2K×8的存储器系统。3 i* i1 |& ^1 l% v% D
要求存储器的地址范围从0800H开始连续存放。请做出硬件连线图及相应的地址分配表。4 h: d A7 T3 V
注:1. 必须将译码器的类型标出% S+ O0 N. U }5 T: E
2.必须指明连接线的名称。' R6 K k) _- [9 Q# _2 }) x
★考核知识点: 存储器子系统设计
7 v$ p3 @9 ]! e/ E# @3 q附资料:
- a7 y% T- ^! i" @# N6 n. E5 F% `1 ^: q 设计要点:4 W0 H( A; z* n) W
 每个芯片的10根地址信号引脚直接接至系统地址总线的低10位,每组两个芯片的4位数据线分别接至系统数据总线的高/低四位。 ( a: F8 r! n& Y
 地址码的A10、A11经译码后的输出,分别作为两组芯片的片选信号,
+ O0 s/ Q- I5 R2 m 每个芯片的控制端直接接到CPU的读/写控制端上,以实现对存储器的读/写控制。
P# W1 f# r- a* h/ ^; Z* R: c 当A11、A10为10时,选中2114-1,则该芯片组的地址范围为 0800H-0BFFH,而当A11、A10为11时,选中2114-2,则该芯片组的地址范围为 0C00H-0FFFH。同时,保证高位地址为0(即A15-A12为0)。这样,此存储器的地址范围为0800H-0FFFH。
' X1 [: D4 |- @, Y' y8 \硬件连接示意图如下所示:: O7 y3 E# w7 h5 w$ L
" c* R' r9 c3 f1 I
( D" F9 {* B* b5 n2 t+ J% S0 K3 a" a( `$ _5 M# M% w
! H* D7 ]4 H7 K# i
W: x8 i7 Y9 D" @
8 X% C X6 ~ u6 [/ n2 U0 g: _* M- y L
* e0 O' P3 E* x% `
R. z, ?* p. a6 e
6 W9 ]7 h z, c6 c$ w( J# L: M6 s: Q! B, h% L& _) W
_6 K; G0 K5 V
0 m0 C9 N# X7 Z9 x* X2 B2.一个存储器系统包括2K RAM和8K ROM,分别用2114芯片和2716芯片组成。要求ROM的地址从1000H开始,RAM的地址从3000H开始。请做出硬件连线图及相应的地址分配表。
- H7 s- c% Z$ x: Y+ h$ U注: 1. 必须对设计思想进行说明6 `: T: k5 G3 s& g0 `7 u
2.必须指出译码器的类型,并标出译码器输出线的序号 v$ H- \8 `" y; F4 ~
3.必须标出地址连接线的名称,并作出完整的地址分配表- U C# W7 O, v
★考核知识点: 存储器子系统设计
& m' w3 W. g* ~3 d: Z6 ]6 D附资料:
3 _0 y( K/ t! X设计要点:- G: k" \# S" Y! m9 p4 x
 每个2716芯片的10根地址信号引脚直接接至系统地址总线的低10位,
% r4 C. K6 `, r7 R, q每个2114芯片的9根地址信号引脚直接接至系统地址总线的低9位。 / ~- Y g& F- [8 G6 J# r
 每个2114芯片组的两个芯片的4位数据线分别接至系统数据总线的高/低四位, + u! D3 @9 I: P- B7 p
 每个2716芯片的8位数据线分别接至系统数据总线的八位。
' b: w, D5 ]3 P6 g( C; V 地址码的A11、A12、A13经译码后的输出,分别作为两组芯片的片选信号,
4 J+ ~3 S; s7 P3 a4 m9 O每个芯片的控制端直接接到CPU的读/写控制端上,以实现对存储器的读/写控制。 - z R( [8 Q! `+ m4 e$ g8 g9 t
 当A11、A12、A13为010时,选中2716,则该芯片组的地址范围为 1000H-2FFFH,
+ m; q, B4 d! P6 I0 }; ]% Y而当A11、A12、A13为110时,选中2114,则该芯片组的地址范围为 3000H-3BFFH。
1 a4 O6 c, m' F+ f1 L- w# F) R
+ x, J8 K; X; P8 l- o0 i
( z" S, m; l5 m# j0 _; i% L* {# F" {- G+ `2 }! i1 Q
3 F5 P8 ]# e3 A5 T
; [) T- b! z, A8 [7 y) j3 q
# `: u6 `2 [9 _$ Q( d
1 J0 c+ Z) S& f. Y6 w4 F0 Q
. n, i$ T4 S- B% X% ~5 L0 n5 ?( x/ V& o1 z# p" E
0 P9 Q. M1 C' u$ q
' a. c p+ v5 Z+ l0 Y+ t: b' A) c% m4 u3 n |2 b
3 C! A3 k: x4 U3 [0 k, l
6 M) s# ?* k5 b6 m4 K9 Q
8 \" }, Y+ E: O. O
' u$ v4 o2 w: P9 O9 z! k/ E& X+ A
0 G1 v+ r0 c5 m: ?1 c3 ^( s8 w' B$ q* ^
1 G+ L e3 k, f1 H3 x
6 g2 Z# v) _* W! T7 z* u; @7 ^5 ~2 P+ w
' P3 e+ R: ~4 R8 {' z2 p# G+ _3 ~4 u# N" x. Y# V
; L7 y. {5 p" L% n
8 X) f: a2 r* U7 R r
2 @5 H, N6 @8 r* |
: h) v" ^: n. I
0 F2 C. |0 G8 |1 m3 U* l7 H Z. l6 ^4 `+ N4 Y+ Y
7 t$ E; M+ e9 B8 @3. 在甲乙两台微机之间并行传送1KB的数据。甲机发送,乙机接收。甲机的8255A采用方式1工作,乙机的8255A采用方式0工作。两台微机的CPU与接口之间都采用查询方式。( H$ [: }! Y( f! R& f7 l4 {
请做出硬件连接图,并写出甲机发送程序和乙机的接收程序.
+ `+ u. @3 \: O) ?6 x B o, @& Q- ]5 x/ o: d1 E
★考核知识点: 并行接口设计,参见教材第10章+ a: b3 \* m1 ^; z0 g8 F
附资料:; F8 h; j3 P. r& y2 W! B
2 m8 N2 i( Y9 r4 z
) W: U: T* j9 s5 J1 R( r0 E1 @6 t8 @ 甲机8255A为方式1发送(输出),所以,把PA口指定为输出,发送数据,PC7,PC6引脚由方式1规定作为联络信号线OBF和ACK。& P: k, B5 Y8 R9 p4 {' a2 ^1 L; z
 乙机8255A为方式0接收(输入),把PA口用作输入,接收数据,联络信号自行选择,可选择PC4,PC0作为联络信号。
$ @5 a$ R/ Y7 [6 A% \甲机发送程序:
9 z$ `' U9 z. oMOV DX,303H ;8255的命令口
: J7 D9 ^1 C; S! L+ yMOV AL,10100000B;端口A,方式1;端口B方式0
. A1 W7 j1 L$ Y& HOUT DX,AL ;输出方式字
7 J* y# v$ ?9 @+ w3 @1 MMOV AL,0DH ;置发送中断允许INTEa ) J% w! a3 d1 j) f8 u. w& {& y( O
OUT DX,AL ;PC6置1. [( A7 g+ U$ B/ r7 z9 {
MOV AX,30H ;发送数据的首地址 3 T# Z! s" S8 P* l; l8 q7 t
MOV ES,AX
1 Y! g: b. A: ~) n; ]MOV BX,00H
) j0 a4 t6 P* |( W1 PMOV CX,3FFH ;置发送字节数' I9 ~" K; S. b$ j* a8 ?
MOV DX,300H ;置8255A数据字地址0 r+ V6 b; D0 F: H- c b: g% t9 u: |
MOV AL,ES:[BX] ;取第一个发送数据
/ U& Q! H$ t: I' O9 w% EOUT DX,AL ;写第一个数,产生第一个OBF信号' |. u! m/ _2 O% _0 ?2 W
INC BX ;指向下一个数
. Z" Z M8 x* t; l. Z4 lDEC CX ;字节数-1
2 z3 M& m! R) X0 OL: MOV DX,302H;8255A状态口
4 B ~- [5 Z. n0 y8 x, E) y J IN AL,DX ;输入状态$ l3 I& Q/ E, B/ h
AND AL,08H;检查有无INTR, m9 O7 Q& _7 B4 q
JZ L ;若无中断请求则等待
$ R4 E3 _; ?& O1 Y MOV DX,300H ;置数据口地址; U* O6 x3 W: B s7 Y$ C4 d; A
MOV AL,ES:[BX];取数据( p6 M; \, W# [0 `1 J$ ^
OUT DX,AL ;输出
. R; V9 W6 K6 G/ N1 p1 J) U- D INC BX ;指向下一个数
5 I. H+ q! c8 \( Z7 |. n+ B7 L DEC CX ;字节数-1+ E* F" D, k& a* }
JNZ L ;未发送完则循环3 r. v+ T6 b6 p
MOV AX,4CH5 F5 o* N2 C! L( g8 G
INT 21H: w7 W8 Z/ \4 g
' ]9 Z+ N9 h P4 l
乙机接收程序:
6 s( w2 A4 o$ i" [+ R( sMOV DX,303H ;8255的命令口( d4 J* S6 I$ A# k$ y& z
MOV AL,10011000B;端口A,方式0,PC4输入,PC0输出
% c0 @ y% t% f2 O" `2 P& o; TOUT DX,AL ;输出方式字! V: e2 s9 }3 B
MOV AL,01H ; PC0置1控制字, y& H# `- R0 X* M9 I$ ?
OUT DX,AL ;输出使ACK=1+ W+ [2 a0 n3 \
MOV AX,40H ;发送区的首地址 7 {% z! f z- A9 Z9 N. g
MOV ES,AX + ` j0 }: f7 T2 J
MOV BX,00H. o: H( k! M- E8 M5 S
MOV CX,3FFH ;置字节数) {2 f& [, Y$ U8 g' x
MOV DX,300H ;置8255A数据字地址( X$ r* Z% d! m( z8 G
MOV AL,ES:[BX] ;取第一个发送数据" f/ T. L. ~4 d n3 W
OUT DX,AL ;写第一个数,产生第一个OBF信号" @9 k2 T, c- Q
L1: MOV DX,302H ;8255A状态口
{8 |/ z6 f& g1 h IN AL,DX ;查询甲机的OBF是否为0. D& @* y" a+ P* V/ V/ h' o
AND AL,10H ;
' R: S! S7 P$ W8 s$ [9 ? JNZ L1 ;若数据未到,则等待
2 P4 i* }& |' X" H$ O/ K MOV DX,300H ;置数据口地址
0 n8 E* d# i1 ~# T0 ~/ P MOV ES:[BX],AL;存入内存4 N" M/ o& A+ x+ i& i1 _8 Y" V
MOV DX,303H
' H, @& G4 F9 w' F# y MOV AL,00000000B;PC0置07 @% s7 \: o; n/ R0 O0 p
OUT DX,AL ;ACK为低
8 Y) _+ O4 }, f- S/ U9 ?. z- G INC BX ;指向下一个数
5 t7 [+ O$ s. ~5 v2 z DEC CX ;字节数-15 v7 }) `1 A* S0 T/ Q5 o! v: B
JNZ L1 ;未接收完则循环8 v" n) c- k U% Z W" @( p0 D
MOV AX,4CH, j1 O6 T# i' b
INT 21H ;接收完,返回DOS
- O3 o |+ e) t1 n5 k- l
, L& n" f6 b. z8 s( Q8 R) p0 g6 W; z e5 C& c! W1 q/ V' A
|
|