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