部分习题答案
(3) 0.1101 1B= 0.84375 = 0.D8H (4) 11110.01 B= 30.25 =1E.4H
3、完成下列二进制数的加减法运算
(1)
1001.11 + 100.01 = 1110.0001110101.0110
(4) 01011101.0110 — 101101.1011 = 101111.1011
4、 完成下列十六进制数的加减法运算
(1) 745CH + 56DFH= D14B H (2)
ABF.8H — EF6.AH = 9C28.E H
(3)
12AB.F7 + 3CD.05= 1678 .FC H (4) 6F01H — EFD8H= 7F29 H
5、 计算下列表达式的值 103.CEH
(3) 18.9 + 1010.1101B + 12.6H — 1011.1001 = 36.525 6、选取字长n 为8位和16位两种情况,求下列十进制数的补码。 (1) X=— 33的补码: ⑵ Y=+ 33的补码: 0010 0001 ,
0000 0000 0010 0001
⑶
Z=— 128 的补码:1000 0000 , 1111 1111 1000 0000
⑷ N=+ 127的补码:
0111 1111 , 0000 0000 0111 1111
A=— 65的补码:
1011 1111 , 1111 1111 1011 1111 ⑹ B=+ 65的补码: 0100 0001 , 0000 0000 0100 0001 ⑺ C=— 96的补码:
1010 0000 , 1111 1111 1010 0000
(8) D=+ 96的补码:
0110 0000 , 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值
(1) [X 补=1000 0000 0000 0000 H X = — 1000 0000 0000 0000 H =— 32768
(2)
[Y 补=0000 0001 0000 0001 H
Y = + 0000
0001
0000
0001 H =
+ 257
(3) [Z 补=1111 1110 1010 0101 H
Z= — 0000 0001 0101 1011 H =—347
(4)
[A 补=0000 0010 0101 0111 H
A= + 0000 0010 0101 0111 H =+ 599
8、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。
(1) 43 + 8
[43]补=00101011B , [8]补=00001000B
[43]补+ [8]补=00101011B + 00001000B = 00110011B = 33H
00101011B
+ 00001000B 00110011B
T C s = 0, C D = 0, OF= C S ? C D = 0 ? 0= 0 ??? 无溢出 (1) 43
+ 8 33H (无溢出)
第二章 1、 将十进制数转换为二进制和十六进制
(1) 129.75 = 1000 0001.11B = 81.CH (3) 15.625
= 1111.101B = F.AH
2、 将下列二进制数转换为十进制和十六进制
(1) 111010 B= 58 =3A H 计算机中的数值和编码
(2) 218.8125 = 1101 1010.1101B = DA.DH
⑷ 47.15625
= 10 1111.0010 1B = 2F.28 H
(2) 1011 1100.111B= 188.875 = BC.E H
(2) — 52 + 7
D3 H (无溢出)
(3) 60 + 90 96 H
(溢出) ⑷ 72
—8 40 H (无溢出)
(5)
— 33+ ( — 37)
0BA H (无溢出)
⑹
—90+ ( —70) 60 H ( 溢
出)
(7) — 9—( — 7) FE H (无溢出) (8) 60 —90
E2 H (无溢出) 9、设有变量 xyz = 01110010B , v = 01011010B ,试计算 x +y = ?, x +z= ?, y +z= ?, z +v= ?,请问:① 若
+
1100 1001B
1011
1000B
① 若为无符号数
② 若为带符号补码数
?/ CF=1
???不正确
?/ CF=1 , DF = 1
OF = 0 ?-不溢出
x +y = 0B8 H x +z = 61 H
y +z = 3B H z +v = 0CC H ① 不正确 不正确
不正确
正确 ② 不溢出
不溢出
不溢出
溢出
第三章80X86微处理器
1?简述 答: 8086/8088CPU 中BIU 和EU 的作用,并说明其并行工作过程。
(1) BIU 的作用:计算20位的物理地址,并负责完成
CPU 与存储器或I/O 端口之间的数据传送。
(2) EU 的作用:执行指令,并为
BIU 提供所需的有效地址。
(3) 并行工作过程:当 EU 从指令队列中取出指令执行时,
BIU 将从内存中取出指令补充到指令
队列中。这样就实现了取指和执行指令的并行工作。
2. 8086/ 8088CPU 内部有哪些寄存器?其主要作用是什么?
答:8086/8088CPU 内部共有14个寄存器,可分为 4类:数据寄存器 4个,地址寄存器 4个,段寄 存器4个和控制寄存器2个。其主要作用是:
(1) 数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途。
AX(Accumulator)称为累加器。用该寄存器存放运算结果可使指令简化,提高指令的执行速度。 此外,所有
的I /O 指令都使用该寄存器与外设端口交换信息。
BX(Base)称为基址寄存器。用来存放操作数在内存中数据段内的偏移地址,
CX :Counter)称为计数器。在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化, 有利于提
高程序的运行速度。
DXData)称为数据寄存器。在寄存器间接寻址的
I /O 指令中存放I /O 端口地址;在做双字长
乘除法运算时,DX 与AX 一起存放一个双字长操作数,其中
DX 存放高16位数。
(2) 地址寄存器:一般用来存放段内的偏移地址。
SRStack Pointer)称为堆栈指针寄存器。在使用堆栈操作指令(PUSH 或POP)对堆栈进行操作时, 每执行一次
进栈或出栈操作,系统会自动将 SP 的内容减2或加2,以使其始终指向栈顶。
BRBase Poin ter) 称为基址寄存器。作为通用寄存器,它可以用来存放数据,但更经常更重要 的用途是存
放操作数在堆栈段内的偏移地址。
SI (Source Index)称为源变址寄存器。SI 存放源串在数据段内的偏移地址。 DI(Destination Index)
称为目的变址寄存器。 DI 存放目的串在附加数据段内的偏移地址。
(3) 段寄存器:用于存放段地址
C&Code Segment)称为代码段寄存器,用来存储程序当前使用的代码段的段地址。
CS 的内容左
移4位再加上指令指针寄存器 IP 的内容就是下一条要读取的指令在存储器中的物理地址。
DSData Segment)称为数据段寄存器,用来存放程序当前使用的数据段的段地址。
DS 的内容左
移4位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地 址。
为无符号数,计算结果是否正确?② x +y B = 1B8 H
1110 1111 B
若为带符号补码数,计算结果是否溢出?
S&Stack Segment)称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。堆栈是存储器中开辟
的按“先进后出” 原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点
和现场。
ES(Extra Segment) 称为附加数据段寄存器,用来存放程序当前使用的附加数据段的段地址。附加数据段用来存放字符串操作时的目的字符串。
(4) 控制寄存器
IP (Instmcdon Pointer) 称为指令指针寄存器,用来存放下一条要读取的指令在代码段内的偏移地址。用户程序不能直接访问IP 。
FLAGS称为标志寄存器,它是一个16位的寄存器,但只用了其中9位,这9位包括(个状态标志位和3个控制标志位。它用来反映算术运算和逻辑运算结果的一些特征,或用来控制CPU的某种操作。
3.8086/ 8088CPU中有哪些寄存器可用来指示操作数在存储器中某段内的偏移地址?
答:可用来指示段内偏移地址的寄存器共有6个:IP、SP、BP、BX、SI、DI
4.8086/8088CPU中标志寄存器FLAGS有哪些标志位?它们的含义和作用如何?答:标志寄存器中的标志共有9
个,分为两类:状态标志6个和控制标志3个。其作用是:
(1)状态标志:用来反映算术和逻辑运算结果的一些特征。
CRCarry Flag)—进位标志位。当进行加减运算时,若最高位发生进位或借位,则CF为1,否则为0。该标志位通常用于判断无符号数运算结果是否超出了计算机所能表示的无符号数的范围。
PF(Parity Flag)—奇偶标志位。当指令执行结果的低8位中含有偶数个1时,PF为1,否则为0。
AF(Auxiliary Flag) —辅助进位标志位。当执行一条加法或减法运算指令时,若结果的低字节的低4位向高4位有进位或借位,则AF为1,否则为0。
ZF(Zero Flag)—零标志位。若当前的运算结果为0,则ZF为1,否则为00
SF(Sign Flag)—符号标志位。当运算结果的最高位为1时,SF=1,否则为00
OF(Overflow Flag) —溢出标志位。当运算结果超出了带符号数所能表示的数值范围, 即溢出时, OF=1,否则为0。该标志位通常用来判断带符号数运算结果是否溢出o
(2)控制标志位:用来控制CPU的操作,由程序设置或清除。它们是:
TF(TrapFlag) —跟踪(陷阱)标志位。它是为测试程序的方便而设置的。若将TF 置1, 8086/ 8088CPU处于单步工作方式,否则,将正常执行程序。
IP(Interrupt Flag) —中断允许标志位。它是用来控制可屏蔽中断的控制标志位。若用STI 指令将IF置1,表示允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;若用CLI指令将IP 清0,则禁止CPU接受可屏蔽中断请求信号。IF的状态对非屏蔽中断及内部中断没有影响。
DRDirectionFlag) —方向标志位。若用STD将DF置1,串操作按减地址方式进行,也就是说,从高地址开始,每操作一次地址自动递减;若用CLD将DF清0,则串操作按增地址方式进行,即每
操作一次地址自动递增。
5.8086/ 8088CPU的地址总线有多少位?其寻址范围是多少?答:8086/8088 地址总线有20 根,寻址范围1MB
6 ?什么叫指令队列?8086/ 8088CPU中指令队列有什么作用?其长度分别是多少?
答:(1) 指令队列:采用“先进先出”原则,按顺序存放预执行指令的缓冲器称为指令队列。
(2)指令队列的作用:存放EU将要执行的指令,使CPU的取指和执行指令能并行工作。
(3) 指令队列的长度:8086为6个字节, 8088为4个字节。
7.Intel8086 与8088 有何区别?
答:8086 与8088 的区别有三处:
(1)外部数据总线位数不同(即地址/数据分时复用引脚条数不同) ;
8086 为16 位:AD5 ?AD0 。
8088 为8 位:AD?AD0。
(2)内部指令队列缓冲器长度不同;
8086有6个字节。当指令队列出现2个空字节时,BIU将取指补充。
8086 有 4 个字节。当指令队列出现 1 个空字节时, BIU 将取指补充。
(3) 外部某些控制总线定义不同。
① 8086的28号引脚定义为 M IO(S 2) , 8088定义为10/ M(S) ② 8086的34号引脚定义为 BHE /S 7, 8088定义为SS /(HIGH)
8 .简述8086 CPU 使用地址锁存信号 ALE 将地址A i5?A 与数据D 5?D 分开的工作原理。
答:在任何一个总线周期的 T1状态,ALE 均为高电平,以表示当前地址/数据复用线上的输出的是 地址信息,在 ALE 由高变低的下降沿时把地址装入地址锁存器,而在
T2、T3和T4状态,ALE 均为低
电平,以表示当前地址/数据复用线上的输出的是数据信息,此时通过数据收发器进行传送。
9 ?什么是逻辑地址?什么是物理地址?若已知逻辑地址为 BA00:A800,试求物理地址。
答:逻辑地址:由段地址和偏移地址表示的存储单元地址称为逻辑地址。
物理地址:CPU 对存储器进行访问时实际所使用的 20位地址称为物理地
址。 若逻辑地址为
则物理地址=
10?简述堆栈指针寄存器
答:(1) SP 的功能:
BA00H:A800H
BA00HX 10H+ A800H= C4800H SP 的
功能及堆栈的操作过程。
指示进栈和出栈操作时的偏移地
(2)堆栈的操作过程:进栈时,先将 数据弹出堆栈,再将 SP+2(即先出后移)。
第四章 SP- 2,再将数据压入堆栈(即先移后入) 80X86指令系统
;出栈时,先将
1、指出源操作数的寻址方式
BX 2000H
BX , : SI :
[BX + SI], BL ⑴MOV
⑶MOV ⑸MOV ⑺MUL
AL ⑼ IN AL , DX
(11) MOV CL,LENGTH VAR ; 2、指出下列指令是否正确 立即数寻址 寄存器间接寻址 寄存器寻址 寄存器寻址 端口间接寻址 立即数寻址
⑵ MOV BX, [2000H] ⑷ MOV BX, [SI + 2000H] ⑹ ADD AX , [BX + DI + 80] ⑻ JMP BX
⑽ INC WORD PTR [BP+10H] (12) MOV BL, OFFSET VAR1
直接寻址 寄存器相对寻址 基址变址相对寻址 段内间接寻址 寄存器相对寻址 立即数寻址
(1) MOV DS , 0100H
⑵ MOV
BP , AL
⑶ XCHG i AH , AL
⑷ OUT 310H , AL
MOV
BX , [BX]
⑹ MOV ES:[BX + DI] , AX ⑺ MOV AX , [SI + DI] (8) MOV SS:[BX+SI+100H],BX (9) AND AX ,
BL
(10) MOV
DX, DS:[BP]
(11) ADD [SI ]
,20H (12) MOV
30H ,
AL
(13) PUSH
2000H
(14) MOV [SI] ,[2000H]
(15) MOV SI ,
AL
(16) ADD [2000H] , 20H (17) MOV CS , AX
(18) INC [DI ]
(19) OUT BX ,
AL
(20) SHL
BX , 3 (21) XCHG i CX , DS
; ;错误。源操作数是立即数时,目的操作数不能时段寄存器 ;错误。操作数类型不一致 正确。
错误。端口直接寻址的范围应在 0?FFH 之间
正确。 正确。
错误。存储器寻址中有效地址不能由两个变址寄存器组成 正确。
错误。操作数类型不一致 正确。
错误。用PTR 说明类型 错误。目的操作数不能为立即数
错误。堆栈指令的操作数不能是立即数 ;错误。两个操作数不能同时为存储器操作数 错误。操作数类型不一致 错误。用PTR 说明类型
错误。目的操作数不能为代码段寄存器 ;错误。需用PTR 说明类型 错误。端口间接寻址的寄存器只能是
DX 寄存器 错误。移位次数大于1时应该用CL 寄存器
错误。交换指令中不能出现段寄存器
(1) (DS) X 10H+ (BX) = 3000HX 10H+ 2000H= 32000H
(2) (DS) X 10H+ (BX) + (SI) + 1000H= 3000HX 10H+ 2000H+ 0100H+ 1000H= 33100 H (3) (DS) X 10H+ (BX) + (SI) = 3000HX 10H+ 2000H+ 0100H= 32100 H (4) (ES) X 10H+ (BX) = 4000HX 10H+ 2000H= 42000 H
5、若(CS) = E000H 说明代码段可寻址物理存储空间的范围。
?/ 最小物理地址为:(CS) X 10H+ 0000H = E0000H
最大物理地址为: (CS) X 10H+ FFFFH= EFFFFH
代码段可寻址物理存储空间的范围是: E0000HH EFFFFH
6、设(SP) = 2000H, (AX) = 3000H , (BX) = 5000H,执行下列程序段后,
(SP) = ?, (AX) = ?, (BX) = ?
PUSH AX PUSH BX POP AX
(SP)=仆FEH , (AX) = 5000H , (BX) = 5000H
7、 试比较SUBAL , 09H 与CMPAL , 09H 这两条指令的异同。若(AL)=08H ,分别执行上述两条指令后,(AL)=?,
CF=?, OF=0, ZF=?
(1) 相同点:两条指令都能完成 (AL) — 09H 的功能,并且都影响六个状态标志位; 不同点:SUB 指令将运算
结果回送到 AL 寄存器中,而CMP 旨令不回送。
(2)
SUB AL , 09H ; (AL)=FFH , CF=1, OF=0, ZF=0 CMP AL , 09H
; (AL)=08H , CF=1, OF=0, ZF=0 8、 分别执行下列指令,试求 AL 的内容及各状态标志位的状态。
(1)
MOV AL , 19H
;
ADD AL , 61H ; (AL)=7AH OF=0 SF=0 ZF=0 AF=0 PF=0 CF=0
(2)
MOV AL , 19H
SUB AL , 61H ; ;
(AL)=B8H OF=0
SF=1
ZF=0
AF=0
PF=1
CF=1 (3) MOV AL , 5DH
;
ADD AL , 0C6H ; (AL)=23H
OF=0
SF=0
ZF=0
AF=1
PF=0
CF=1
(4)
MOV AL , 7EH ;
SUB
AL , 95H ; (AL)=E9H
OF=1 SF=1 ZF=0 AF=0 PF=0 CF=1
9、用最少的指令,实现下述要求的功能。
(1) AH 的高 4位清零。 AND AH , 0FH
(2) AL 的高4位去反。
XOR AH, 0F0H (3)
AL 的高4位移到低4位,高4位清0。
MOV CL , 4
SHR AL , CL (4) AL
的低 4 位移到高 4 位,低 4 位清 0。
MOV CL , 4
SHL
AL , CL
3、 写出存储器操作数物理地址的计算表达式
(1) MOV AL , [DI] (2) MOV AX , [BX+SI] (3) MOV 5[BX+DI] ,AL (4) ADD AL , ES:[BX] (5) SUB AX , [1000H] (6) ADC AX , [BX+DI+2000H] (7) MOV CX , [BP+SI] (8) INC BYTE PTR [DI] ;(DS) X 10H^ (DI) ;(DS) X 10H+ (BX) + (SI) ; (DS)X10H +(BX)+(DI) +5
; (ES) X 10H + (BX) ; (DS)X 10H +1000H
; (DS)X10H +(BX)+(DI) +2000H ; (SS) X 10H +(BP) + (SI)
; (DS)X 10H +(DI)
4、 若(DS) = 3000H , (BX) = 2000H, (SI) = 0100H, (ES) = 4000H ,计算下列存储器操作数的物理地址。
10、设(BX) = 6D16H (AX) = 1100H ,写出下列三条指令执行后, AX 和BX 寄存器中的内容。
MOV CL , 06H ROL AX CL SHR
BX , CL (AX)=4004 H (BX)=01B4 H
设初值(AX) = 0119H ,执行下列程序段后,(AX) = ?
MOV CH ADD AL , DAA
XCHG
11、 AH AH 12
、 ADC AL , DAA MOV AH MOV AL
AL , CH
34H AL CH
(AX)=3520 H
指出下列程序段的功能。
(1) MOV CX ,10 LEA REP ⑵CLD LEA SI ,First DI , Second MOVSB 将First 串中前10个字符传送至 Seco nd 中 DI ,[0404H] 0080H AX MOV CX XOR AX REP STOSW 设(BX) = 6F30H, (BP) = 0200H, (SI) = 0046H , (SS) = 2F00H, (2F246H) = 4154H ,试求执行 XCHG BX [BP + SI]后, (BX) = ?, (2F246H) = ? (BX) = 4154H (2F246H) = 6F30H 设(BX) = 0400H , (DI) = 003CH,执行 LEA BX , [BX + DI + 0F62H]后,(BX) = ?
(BX) = 139E H 15、 设(DS) = C000H, (C0010H) = 0180H , (C0012H) = 2000H,执行 LDS SI , [10H]后,(SI) = ?, (DS) = ? (SI) = 0180 H , (DS) = 2000 H
16、 已知(DS) = 091DH (SS) = 1E4AH (AX) = 1234H , (BX) = 0024H , (CX) = 5678H , (BP) = 0024H , (SI) =0012H , (DI) = 0032H , (09226H) = 00F6H , (09228H) = 1E40H ,试求单独执行下列指令后的结果。 将起始地址为0404 H 开始的80 H 个单元置成0 13、 14、 (1) MOV CL 20H[BX][SI] (2) MOV [BP][DI] , CX (3) LEA BX , 20H[BX][SI] MOV AX,2[BX]
⑷ LDS SI,[BP][DI] MOV [SI] , BX
(5) XCHG CX, 32H[BX]
XCHG 20H[BX][SI] , AX 17、若CPU 中各寄存器及RAM 参数如图所示, 元
;(CL) = 0F6 H ;(1E4F6 H) = 5678 H ;(BX)=0056 H ;(AX)=1E40 H ; ;((SI))=0024 H ;(AX) = 5678 H , (09226H) = 1234 H
试求独立执行如下指令后,CPU 及 RAM 相应寄存器及存储单
(1) MOVX, [BX+2] ;(DX =0006H, (BX) =0004H
(2) PUSH CX ;(SP) =0FFEH
(3) MOVX, BX ;(CX) =0004H, (BX) =0004H
(4) TEST AX 01 ;(AX) =8094H, (CF) =0
(5) MOVL, [SI] ;(AL) =87H
(6) ADCL, [DI] ;(AL) =0CCH (CF) =0
DAA ;(AL) =32H
(7) INC SI ;(SI) =0009H
(8) DECI ;(DI) =0009H
(9) MOVDI] , AL ;((DI)) =94H
(10) XCHG AX, DX ; (AX) =17C6H, (DX) =8094H
(11) XOR AH, BL ;(AH =84H, (BL) =04H
(12) JMP DX ;(IP ) =17C6H
18、(DS) = 2000H, (BX) = 1256H, (SI) = 528FH,偏移量=20A1H, (232F7H) = 3280H, (264E5H) = 2450H,
试求执行下述指令后的结果。
(1) JMP BX ;(IP) = 1256 H
⑵JMP TABLE[BX] ;(IP) = 3280 H
⑶JMP [BX][SI] ;(IP) = 2450 H
19、设(IP) = 3D8FH (CS) = 4050H, (SP) = 0F17H,当执行CALL 2000H:0094H 后,试指出(IP)、(CS)、(SP)、((SP))、
((SP) + 1)、((SP) + 2)和((SP) + 3)的内容。
CALL指令是5字节指令,下一条指令地址为4050H: 3D94H
所以执行后
(IP) = 0094H, (CS) = 2000H、(SP) = 0F13H
((SP)) = 94H, ((SP) + 1) = OOH, ((SP) + 2) = OOH, ((SP) + 3) = 20H
第五章汇编语言程序设计
2.PLENTH的值为0022,它表示当前已分配单元空间;
3.L的值为6;
5. (AX =000AH; (BL) =0AH (CL) =01H;
10.
MOV AX, 4A82H
MOV DL, AH
AND DL, 0F0H
MOV CL , 4
SHR DL, CL
PUSH AX
AND AH , 0FH
MOV BH , AH
AND AL , 0F0H
MOV BL , AL
MOV CL , 4
SHR BL , CL
MOV CL , BH
POP AX
AND AL ,0FH
11. data segment string1 db 'I am a student.' string2 db 'I am a student .' yes db 'match',0dh,0ah,'$' no db 'no match',0dh,0ah,'$' data ends code segment
assume cs:code,ds:data,es:data
start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,ax lea si,string1 lea di,string2 mov
cx,string2-string1 cld repe cmpsb jnz dispno mov ah,9 lea dx,yes int 21h jmp exit dispno: mov ah,9 lea dx,no int 21h exit: MOV AH,4CH
INT 21H code ends 13. DATA SEGMENT
M DB 11H,22H,33H,44H,64H,87H,34,29,67H,88H,0F6H DB 43H,0B7H,96H,0A3H,233,56H,23H,56H,89H
C EQU 20 P DB 20 DUP(?) N DB 20 DUP(?) PLUS DB 'PLUS',0DH,0AH,'$' MINUS DB 'MINUS',0DH,0AH,'$' J DB 2 DUP(?) DATA ENDS CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA MOV DS,AX
LEA SI,M
LEA DI,P
LEA BX,N
MOV CX,C
MOV DX,0
LOOP1: LODSB
TEST AL,80H
JNZ MINUS1 ; 负数转移
MOV [DI],AL
INC DI
INC DH ; 存正数个数
JMP AGAIN
MINUS1: MOV [BX],AL
INC BX
INC DL ; 存负数个数
AGAIN: DEC CX
JNZ LOOP1
MOV WORD PTR J,DX ; 存结果
MOV DX,OFFSET MINUS
MOV AH,9
INT 21H ; 显示提示信息
MOV BL,J
MOV CH,2
ROTATE: MOV CL,4
ROL BL,CL
MOV AL,BL
AND AL,0FH
ADD AL,30H
CMP AL,3AH
JL POR
ADD AL,7
POR: MOV DL,AL
MOV AH,2
INT 21H
DEC CH
JNZ ROTATE ; 十六进制形式输出负数个数
MOV AH,2
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
MOV DX,OFFSET PLUS
MOV AH,9
INT 21H
MOV DH,J+1
MOV CH,2
ROTATE1: MOV CL,4 ROL DH,CL MOV AL,DH
AND AL,0FH
ADD AL,30H
CMP AL,3AH
JL POR1
ADD AL,7
POR1: MOV DL,AL
MOV AH,2
INT 21H
DEC CH
JNZ ROTATE1
MOV AH,4CH INT 21H
CODE ENDS
END START
第六章半导体存储器
2、(1)64 片片内寻址线10 根, 片间寻址线 6 根
(2)128 片片内寻址线11 根, 片间寻址线 5 根
(3)16 片片内寻址线11 根, 片间寻址线 5 根
(4)2 片片内寻址线14 根, 片间寻址线 2 根
3、1024X 8 的RAM芯片,地址线11 根
。数据线8 根
6、已知:8位微机地址,总线16位,设计12KB存储系统,其中ROM占用0000H开始的8KB, RAM占用2000H开始的4KB,存储芯片分别选用INTEL 2716和2114
分析如下:(1)ROM 2716 2K X 8芯片,需4片,做字扩展,片内寻址线11根
RAM 2114 1K X 4芯片,需8片,做字位扩展,片内寻址线10根
2)地址范围:A15 A14 A13 A12 A11 A10
ROM:1 0000H~07FFH 0 0 0 0 0 0
ROM:2 0800H~0FFFH 0 0 0 0 1 0
A15 A14 A13 A12 A11 A10
ROM:3 1000H~17FFH 0 0 0 1 0 0
ROM:4 1800H~1FFFH 0 0 0 1 1 0
RAM1、2:2000H~23FFH 0 0 1 0 0 0
RAM3、4:2400H~27FFH 0 0 1 0 0 1
RAM5、6:2800H~2BFFH 0 0 1 0 1 0
RAM7、8:2C00H~2FFFH 0 0 1 0 1 1
3)A11、A12、A13 3 :8 译码器译码输入(一级译码)
ROM1 :Y0
ROM2 :Y1
ROM3 :Y2
ROM4 :Y3
RAM1、2 :Y4 与A10 (二级译
码)
RAM3、4 :Y4 与A10
RAM5、6 :Y5 与A10
RAM7、8 :Y5 与A10
( 4)画图连接略
9、8088组成的小型计算机系统,32KB ROM,其地址范围00000~07FFFH, RAM占用8KB,地址范围: 08000H~09FFFH ROM选用2764 ( 8KX 8) , RAM选用2114 (1KX 4)
分析如下⑴ROM 2764 8K X 8芯片,需4片,做字扩展,片内寻址线13根
RAM 2114 1K X 4芯片,需16片,做字位扩展,片内寻址线10根
(2) 地址范围: A15 A14 A13 A12 A11 A10
ROM1 00000~01FFF H 0 0 0 ( 一级译码) ROM2 02000~03FFF H 0 0 1
ROM3 04000~05FFF H 0 1 0
ROM4 06000~07FFFH 0 1 1
RAM1 组)08000~083FFH 1 0 0 0 0 0 ( 二级译码) RAM2 08400~087FFH 1 0 0 0 0 1
RAM3 08800~08BFFH 1 0 0 0 1 0
RAM4 08C00~08FFFH 1 0 0 0 1 1
RAM5 09000~093FFH 1 0 0 1 0 0
RAM6 09400~09FFFH 1 0 0 1 0 1
RAM7 09800~09BFFH 1 0 0 1 1 0
RAM8 09C00~09FFFH 1 0 0 1 1 1
( 3) ROM1 Y0 (1 # 译码器A15 A14 A13 译码输入)
ROM2 Y1
ROM3 Y2
ROM4 Y3
RAM1 Y0 (2 # 译码器A12 A11 A10 译码输入 1 # Y4 做2#的控制信号)
RAM2 Y1
RAM3 Y2
RAM4 Y3
RAM5 Y4
RAM6 Y5
RAM7 Y6
RAM8 Y7
( 4 ) 需两片 3 : 8 译码器
画图连接略
第七章输入/ 输出与中断
15、01D8 H
16、接通打印机T检查打印状态T发送数据
OR AL,01 H
OUT 0F7H , AL
IN AL ,0F6 H
OUT 0F5H , AL
第八章可编程接口芯片及应用
5、初始化命令字及计数初值
CUNT0 36H 或37H 1000
CUNT1 54H 或55H 100
7、始化控制字
(1) 99H (2) B6 H PC2 及PC4 置位命令字09 H 05 H
第一章 一、选择题 7.(D)8.(B)9.(D)10.(C)11.(A) 二、填空题 l.(运算器)2.(冯·诺依曼、输出器、存储器、存储器)9.(尾数、指数) 第二章 一、选择题 1.(C)4.(B)5.(D)7.(A)8.(D)18.(B) 二、填空题 4.(TF、DF、IF) 5. (9E100H)10.(0、0、 1、1)15.(FFFFH、0000H、0000H、0000H) 三、问答题 2.完成下列补码运算,并根据结果设置标志SF、ZF、CF和OF,指出运算结果是否溢出? (1)00101101B+10011100B (2) 01011101B-10111010B (3)876AH-0F32BH (4)10000000B十 11111111B (1)00101101B +10011100B 11001001B=C9H SF=1 ZF=0 CF=0 OF=0 (2) -10111010B=01000110B 01011101B-10111010B=01011101B +01000110B 10100011B SF=1 ZF=0 CF=0 OF=1 (3)876AH-0F32BH=876AH +0CD5H 943FH SF=1 ZF=0 CF=0 OF=0 (4) 10000000B +11111111B 101111111B=7FH SF=0 ZF=0 CF=1 OF=1 习题3 一、选择题 1.D 4.B 5.A 14.D 17.C 二、填空题 7. 3400H;5000H 8. 9AH;6CH;0;1;1;1;0 17.低8位;高8位;0FFA4H 三,问答题 1、(1)源操作数是基址寻址,目的操作数是寄存器寻址(2)逻辑地址是0705H,物理地址是10705H (3)(AX)=1234H (BX)=0700H 10、(1)MOV SI,2500H MOV DI,1400H MOV CX,64H CLD REP MOVSB (2) MOV SI,2500H MOV DI,1400H MOV CX,64H CLD REPE CMPSB JNZ L1 XOR BX,BX HLT L1:DEC SI MOV BX,SI MOV AL,[SI] HLT 习题4 一、选择题 1.B 4.C 二、填空题 1..ASM;.OBJ;.EXE 6.( AX)= 1 (BX)= 2 (CX)= 20 (DX)= 40
1、 2、B 3、十,非压缩的BCD码 4、 5、微型计算机、微型计算机系统 6、,, 二、 B D B 三、 1、微型计算机系统的基本组成。 答案:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。 2、简述冯.诺依曼型计算机基本组成。 答案:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。 3、什么是微型计算机 答案:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4、什么是溢出 答案:在两个有符号数进行家减运算时,如果运算结果超出了该符号数可表示的范围,就会发生溢出,使计算出错。
1、4、100ns 2、Ready ,Tw(等待) 3、ALE 4、INTR 5、85010H 6、存储器或I/O接口未准备好 7、非屏蔽中断 8、指令周期 9、4 二、 1、在内部结构上,微处理器主要有那些功能部件组成 答案:1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件 2、微处理器一般应具有那些基本功能 答案:1.可以进行算术和逻辑运算2.可保存少量数据 3.能对指令进行译码并完成规定的操作4.能和存储器、外部设备交换数据 5.提供整个系统所需的定时和控制6.可以响应其他部件发来的中断请求 3、什么是总线周期 答案:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程;一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。 三、×、×、×、×、×、√、√
第一章 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。 答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址? 答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 (1)2314H:0035H (2)1FD0H:000AH 答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。 8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少? 答:物理地址=(CS)*10H+(IP)=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。
李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》 机械工业出版社2002年2月第一版 ②陆一倩编《微型计算机原理及其应用(十六位微型机)》 哈尔滨工业大学出版社1994年8月第四版 ③王永山等编《微型计算机原理与应用》 西安电子科技大学出版社2000年9月 1.1将下列二进制数转换成十进制数: X=10010110B= 1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21 =128D+0D+0D+16D+0D+0D+4D+2D=150D X=101101100B =1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20 =256D+0D+64D+32D+0D+16D+4D+0D=364D X=1101101B= 1*26+1*25+0*24+1*23+1*22+0*21 +1*20 =64D+32D+0D+8D+4D+0D+1D=109D 1.2 将下列二进制小数转换成十进制数: (1)X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 0D+0D+0.125D+0.0625D+0.03125D=0.21875D (2) X=0.11011B= 1*2-1+1*2-2+0*2-3+1*2-4+1*2-5= 0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D (3) X=0.101101B= 1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D 1.3 将下列十进制整数转换成二进制数: (1)X=254D=11111110B (2)X=1039D=10000001111B (3)X=141D=10001101B 1.4 将下列十进制小数转换成二进制数: (1)X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B 1.5 将下列十进制数转换成二进制数 (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B 1.6 将下列二进制数转换成十进制数 (1) X=1001101.1011B =77.6875D
第一章课后习题 1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。 ① 16.25 ② 35.75 ③ 123.875 ④ 97/128 1.2 把下列二进制数转换成十进制数。 ① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.1 1.3 把下列八进制数转换成十进制数和二进制数。 ① 756.07 ② 63.73 ③ 35.6 ④ 323.45 1.4 把下列十六进制数转换成十进制数。 ① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC 1.5 求下列带符号十进制数的8位补码。 ① +127 ② -1 ③ -0 ④ -128 1.6 求下列带符号十进制数的16位补码。 ① +355 ② -1 1.7 计算机分那几类?各有什么特点? 1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。 1.9 80X86微处理器有几代?各代的名称是什么? 1.10 你知道现在的微型机可以配备哪些外部设备? 1.11 微型机的运算速度与CPU的工作频率有关吗? 1.12 字长与计算机的什么性能有关? 习题一参考答案 1.1 ① 16.25D=10000.01B=20.2Q=10.4H ② 35.75D=100011.11B=43.6Q=23.CH ③ 123.875D=1111011.111B=173.7Q=7B.EH ④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H 1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D ③ 111.01B=7.25D ④ 1010.1B=10.5D 1.3 ① 756.07Q=111101110.000111B=494.109D ② 63.73Q=110011.111011B=51.922D ③ 35.6Q=11101.110B=29.75D ④ 323.45Q=11010011.100101B=211.578D 1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D ③ B7C.8D=2940.551D ④ 1ECH=492D 1.5 ① [+127] 补=01111111 ② [-1] 补 = 11111111 ③ [-0] 补=00000000 ④[-128] 补 =10000000 1.6 ① [+355] 补= 0000000101100011 ② [-1] 补 = 1111 1111 1111 1111 1.7 答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 1.8 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影
第一章 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原 [-42]反 [-42]补 [+85]原=01010101B=[+85]反=[+85]补 [-85]原 [-85]反 [-85]补 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。
1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行 两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS: SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。
6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=B [-42]反=B [-42]补=B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=B [-85]反=B [-85]补=B 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。
1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1)1200:3500H=1200H×16+3500H=15500H (2)FF00:0458H=FF00H×16+0458H=FF458H (3)3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址1200H×16=12000H,结束地址1200H×16+FFFFH=21FFFH (2)段起始地址3F05H×16=3F050H,结束地址3F05H×16+FFFFH=4F04FH (3)段起始地址0FFEH×16=0FFE0H,结束地址0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS:SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是283AH; 从2001H单元取出一个字数据需要2次操作,数据是5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。
第1章微型计算机系统 〔习题〕简答题 (2)总线信号分成哪三组信号 (3)PC机主存采用DRAM组成还是SRAM组成 (5)ROM-BIOS是什么 (6)中断是什么 (9)处理器的“取指-译码-执行周期”是指什么 〔解答〕 ②总线信号分成三组,分别是数据总线、地址总线和控制总线。 ③ PC机主存采用DRAM组成。 ⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 ⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍
返回被中断的指令继续执行的过程。 ⑨指令的处理过程。处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 〔习题〕填空题 (2)Intel 8086支持___________容量主存空间,80486支持___________容量主存空间。 (3)二进制16位共有___________个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址___________容量主存空间。 (9)最初由公司采用Intel 8088处理器和()操作系统推出PC机。 ② 1MB,4GB ③ 216,64KB (9)IBM,DOS 〔习题〕说明微型计算机系统的硬件组成及各部分作用。 〔解答〕
CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。 总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。 〔习题〕区别如下概念:助记符、汇编语言、汇编语言程序和汇编程序。 〔解答〕 助记符:人们采用便于记忆、并能描述指令功能的符号来表示机器指令操作码,该符号称为指令助记符。 汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。 汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。
微机原理习题 第一章绪论 习题与答案 1、把下列二进制数转换成十进制数、十六进制数及BCD码形式。 (1) 10110010B= (2) 01011101、101B = 解: (1) 10110010B = 178D =B2H=(00010111 1000)BCD (2) 01011101、101B =93、625D=5D.AH =(1001 0011、0110 0010 0101)BCD 2. 把下列十进制数转换成二进制数。 (1) 100D= (2) 1000D= (3) 67、21D= 解: (1) 100D = 01100100B (2) 1000D=1111101000B (3) 67、21D=1000011、0011B 3. 把下列十六进制数转换成十进制数、二进制数。 (1) 2B5H = (2) 4CD、A5H= 解: (1) 2B5H = 693D = 00101011 0101B (2) 4CD、A5H=1229.6445D=0100 11001101.10100101B 4、计算下列各式。 (1) A7H+B8H = (2) E4H-A6H = 解: (1) A7H+B8H = 15FH (2) E4H-A6H =3EH 5、写出下列十进制数的原码、反码与补码。 (1)+89 (2)-37
解: (1) [+89 ] 原码、反码与补码为: 01011001B (2) [-37] 原码= 10100101 B [-37] 反码= 11011010 B [-37] 补码=11011011 B 6.求下列用二进制补码表示的十进制数 (1)(01001101)补= (2)(10110101)补= 解: (1)(01001101)补= 77D (2)(10110101)补=-75D 7.请用8位二进制数写出下列字符带奇校验的ASCII码。 (1)C: 1000011(2)O: 1001111 (3)M: 1001101 (4)P: 1010000 解: (1)C:0 1000011 (2)O: 01001111 (3)M:11001101 (4)P: 1 1010000 8、请用8位二进制数写出下列字符带偶校验的ASCII码。 (1)+:0101011 (2)=: 0111101 (3)#:0100011(4)>: 0111110 解: (1)+:00101011 (2)=: 10111101 (3)#:10100011 (4)>: 1 0111110 9、叙述CPU 中PC的作用。 解:PC就是CPU中的程序计数器,其作用就是提供要执行指令的地址。
1.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。 2.将十进制数199转换为二进制数为____ 11000111____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? ●将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 ●指令按其在存储器中存放的顺序执行; ●由控制器控制整个程序和数据的存取以及程序的执行; ●以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0.1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。
部分习题答案 第二章计算机中的数值和编码 1、将十进制数转换为二进制和十六进制 (1) =1000 =(2) =1101 = (3) ==(4) =10 1B=H 2、将下列二进制数转换为十进制和十六进制 (1) 111010 B=58 =3A H(2) 1011 = =H (3) 1B= = (4) B= = 3、完成下列二进制数的加减法运算 (1) +=(2) -= (3) 00111101+=(4) -= 4、完成下列十六进制数的加减法运算 (1) 745CH+56DFH=D14B H(2) -=H (3) +=1678 .FC H(4) 6F01H-EFD8H=7F29 H 5、计算下列表达式的值 (1) +.1011B+= (2) -.11H+= (3) ++-= 6、选取字长n为8位和16位两种情况,求下列十进制数的补码。 (1) X=-33的补码:1101 1111, 111 (2) Y=+33的补码:0010 0001, 0000 0000 0010 0001 (3) Z=-128的补码:1000 0000,1111 1111 1000 0000 (4) N=+127的补码:0111 1111, 0000 0000 0111 1111 (5) A=-65的补码:1011 1111, 1111 1111 1011 1111 (6) B=+65的补码:0100 0001,0000 0000 0100 0001 (7) C=-96的补码:1010 0000,1111 1111 1010 0000 (8) D=+96的补码:0110 0000, 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值 (1) [X]补=1000 0000 0000 0000 H X=-1000 0000 0000 0000 H=-32768 (2) [Y]补=0000 0001 0000 0001 H Y=+0000 0001 0000 0001 H=+257 (3) [Z]补=1111 1110 1010 0101 H Z=-0000 0001 0101 1011 H=-347 (4) [A]补=0000 0010 0101 0111 H A=+0000 0010 0101 0111 H=+599 8、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。 (1) 43+8 ∵[43]补=00101011B,[8]补=00001000B ∴[43]补+[8]补=00101011B+00001000B=00110011B=33H 00101011B +00001000B
第一章微型计算机的基础知识 1-1 将下列十进制数转换为二进制数、十六进制数。 (1)110 (2)1 039 (3)0.75 (4)0.156 25 1-2 将下列十进制数转换为BCD 码。 (1)129 (2)5 678 (3)0.984 (4)93.745 1-3 将下列二进制数转换为十进制数、十六进制数。 (1)10101010 (2)10000000 (3)11000011.01 (4)01111110 1-4 将下列十六进制数转换为二进制数、十进制数。 (1)8E6H (2)0A42H (3)7E.C5H (4) 0F19.1DH 1-5 将下列二进制数转换为BCD 码。 (1)1011011.101 (2)1010110.001 1-6 将下列BCD 码转换为二进制数。 (1)(0010 0111 0011) BCD (2)(1001 0111.0010 0101) BCD 1-7 完成下列二进制数的运算。 (1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101 1-8 完成下列十六进制数的运算。 (1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH 1-9 已知X=01H,Y=0FFH ,在下面的情况下比较两数的大小。 (1)无符号数 (2)符号数 (均为补码) 1-10 计算下列各表达式。 (1)101+‘A’+01101001B+0D5H+57Q (2)127.8125+10111101.101+375.63Q+1FC.8AH 1-11 写出下列字符串的ASCII 码。 (1)HELLO (2)A8=
习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存
放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.6)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111
第一章 学习指导: 1.掌握十六进制、二进制、BCD(十进制数)、ASCII码 2.掌握有符号数(补码、原码)、无符号数计算机的表示方法以及表示范围 3.掌握补码运算 4.了解计算机基本组成及工作原理 5.了解新技术 6.了解计算机主要性能指标 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 学习指导: 1.了解8086微处理器的基本组成及工作原理 2.掌握通用寄存器(AX、BX、DX、CX、SI、DI、SP、BP)段寄存器(CS、SS、DS、ES)标志寄存器(状态标志位和控制标志位含义)作用 3.掌握逻辑地址、物理地址以及它们之间的关系物理地址=段基址x16+偏移地址 4.掌握逻辑地址和物理地址表示形式2000:0100,20100 5.存储器地址的表示图2-5 6.主要引脚RD、WR、M/IO、INTR、INTA、NMI、HOLD、HLDA
1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器
第6章习题参考答案 1.CPU与外部设备通信为什么要使用接口? 答: CPU要与外部设备直接通信会存在以下两个方面的问题:首先是速度问题,CPU的运行速度要比外设的处理速度高得多,通常仅使用简单的一条输入/输出指令是无法完成CPU与外设之间的信息交换的;其次,外设的数据和控制线也不可能与CPU直接相连,如一台打印机不能将其数据线与CPU的管脚相连,键盘或者其他外设也是如此,同时外设的数据格式千差万别,也不可能直接与CPU 连接。所以,要完成CPU与外部各通信设备的信息交换,就需要接口电路以解决以上问题。 2. I/O接口有什么用途? 答: 主要由以下几个方面的用途: a完成地址译码或设备选择,使CPU能与某一指定的外部设备通信。 b状态信息的应答,以协调数据传输之前的准备工作。 c进行中断管理,提供中断信号。 d进行数据格式转换,如正负逻辑转换、串行与并行数据转换。 e进行电平转换,如TTL电平与MOS电平间的转换。 f协调速度,如采用锁存、缓冲、驱动等。 h时序控制,提供实时时钟信号。 3.I/O端口有哪两种寻址方式?各有何优缺点? 答: I/O端口的寻址方式有存储器映像I/O和I/O映像I/O两种寻址方式。存储器映像I/O 方式是将系统中存储单元和I/O端口的地址统一编址,这样一个I/O端口
地址就是一个存储单元地址,在硬件上没有区别,对I/O端口的访问与存储器的访问相同。其缺点是占用了储存器的地址空间,同时由于存储器地址和I/O 端口在指令形式上没有区别,增加了程序设计的难度。其优点是不需要专门为I/O端口设计电路,可与存储器地址访问硬件混合设计。另一个优点是,由于I/O端口和存储器地址是相同的形式,就可以直接使用与存储器相同的指令,这将会丰富对I/O端口的操作指令。 与存储器映像I/O相反,I/O映像I/O就必须为I/O端口设计专门的硬件电路,其端口地址也是独立于存储器,也有专门的输入/输出指令等其优缺点与存储器映像I/O正好相反。 4.在8086微机系统中有个外设,使用存储器映像的I/O寻址方式该外设地址为01000H。试画出其译码器的连接电路,使其译码器输出满足上述地址要求,译码器使用74LS138芯片。 答: 见图6-1