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