微机原理与接口技术习题答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jmp exit
P1: cmp NUMBER, Y
Ja P2
Mov FLAG, 00H
Jmp exit
P2: mov FLAG, 01H
Exit: mov ah, 4ch
Int 21h
Code ends
End Beg
2.计算1+2+3+…+100,并把和保存在SUM单元中。
.486
DATA SEGMENT USE16
解答:.486
Data segment
NUMBER db ?
FLAG db ?
Data ends
Code segment
Assume cs: Code, ds: Data
Beg: mov ax,data
Mov ds,ax
mov al, X
Mov bl, Y
Cmp Fra Baidu bibliotekUMBER, X
Jnc P1
Mov FLAG, 0FFH
Jnc next
Mov [si], ah
Mv [si+1], al
Mov flag, 1
Next: inc si
Loop last
Cmp flag, 1
Je again
Done: mov buf+lens,‘$’
Mov ah, 9
Mov dx, offset buf
Int 21h
Mov ah, 4ch
DAA
之后,AL=?、标志AF=?、CF=?
⑵ 若执行指令 SUB AL,BL与DAS后,AL=?、标志AF=?、CF=?
解答
⑴ AL=65H, AF=1, CF=1。
⑵ AL=91H, AF=0, CF=1。
4.指出下列指令中哪些是错误的,并指出错在何处?
⑴ MOV DL,[DX]⑵ MOV ES,2000H
MOV AH, 4CH
MOV 21H
CODE ENDS
END BEG
3.对一个给定的N数据,用冒泡排序法进行排序。
解答:.486
Data segment
Buf db‘abcd18437hj’
Lens equ $-buf
Count db lens
Flag db ?
Data ends
Code segment
Assume cs: code, ds: data
Beg: mov ax, data
Mov ds, ax
Again: dec count
Jz done
Mov flag, 0
Mov cx, count
Mov si, offset buf
Last: mov al, [si]
Mov ah, [si+1]
Cmp ah, al
第1章 微机
习题
1.请完成以下计算:
174.66D=(10101110.10101)B=(AE. A8)H
10101110101.01011B=(1397.344)D=(575.58)H
4BCH=(010010111100)B=()BCD
2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值是多少?
解答
MOVSI, 2000H
MOVCX, 100
MOVDX, 100H
NEXT2:MOVAL, [SI];取字符串中字符送AL
ANDAL, 0FFH;改变标志位
JPENEXT1;“1”的个数为偶,bit7不变
ORAL, 80H;“1”的个数为奇,bit7变为1
NEXT1:OUT DX, AL
INCSI
书41页。
11.简述现场总线的特点。
书42页。
12.当代计算发展的主要核心技术有哪些?
当代计算机的主要核心技术有:CACHE技术、流水线技术、VM技术、RISC技术、多内核技术
第3章
习题与思考题
1.指出下列各指令中源操作数和目的操作数的寻址方式:
⑴ MOV BX,WORD PTR[2200H]⑵ AAA
由于Cs=1,Cp=1,所以没有溢出,结果正确
-90-70
其补码形式为:(-90)补=10011100(-70)补=10111010
10011100
+10111010
01010110
由于Cs=1,Cp=0,所以有溢出,结果错误
50+84
其补码形式为:(50)补=00110010(84)补=01010100
2.微处理器的发展过程是什么?
答:微型计算机的发展过程是:
第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。
第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。
⑷ LESDI,[2100H]
源操作数:直接寻址;目的操作数:寄存器寻址
⑸ MOV [BX+SI+8], BX
源操作数:寄存器寻址;目的操作数:基址加变址寻址
2.若AX=0ABCDH,BX=7F8FH,CF=1。求分别执行8086 CPU指令
⑴ ADDAX,BX⑵ ADCAX,BX
⑶ SBBAX,BX⑷ NEGAX
TT DB 1
SUM DW ?
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG: MOV AX , DATA
MOV DS, AX
MOV CX, 100
MOV AX, 0
START: ADD AX, TT
INC TT
LOOP START
MOV SUM, AX
⑶ JUM 2200H⑷ LESDI,[2100H]
⑸ MOV [BX+SI+8], BX
解答
⑴ MOV BX, WORD PTR[2200H]
源操作数:直接寻址;目的操作数:寄存器寻址
⑵ AAA
源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址
⑶ JUM 2200H
程序转移段内直接寻址方式
第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。
第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。
⑸ AND AX,BX⑹ ORAX,BX
⑺ XORAX, BX⑻ IMUL BL
后,AX寄存器中的内容,并指出标志寄存器SF,ZF,AF,PF,CF及OF的状态。
解答
⑴ AX=2B5CH,SZAPCO=001110B
⑵ AX=2B5DH,SZAPCO=001010B
⑶ AX=2C3DH,SZAPCO=001001B
⑶ SUB [BX],[SI]⑷ ADD AX,[BX+CX]
⑸ XCHG DS,[2400H]⑹ DEC 15H
⑺ IN AL,DX⑻ OUT 300H,AX
解答
⑴ 错,DX不能作为间接寻址的寄存器。
⑵ 错,立即数不能直接送给段寄存器。
⑶ 错,两个存储单元间内容不能直接相减。
⑷ 错,CX寄存器不能作为变址寄存器。
D3 DD 1234H, 23456789H
2.设计子程序分别完成以下功能:
1)根据给定的参数值,判断该参数是偶数还是奇数。
2)把给定参数值的高、低数据位互换。
3.设计相应的宏完成以下功能:
1)把给定的参数按二进制显示。
2)求两个参数的和,并按十进制形式显示。
第5章 汇编语言程序设计
习题与思考题
1.设数据段中有字节型单元NUMBER和FLAG,判断NUMBER与给定的X和Y的大小关系(X<Y),若NUMBER>Y,则置FLAG=1,若NUMBER<X,则置FLAG=-1,否则置FLAG=0。
MOVAX,[BX+SI]
执行后AX=2C00
6. 将AL中的8位二进制数按倒序方式重新排列,即AL原来为D7D6…D0,倒序后AL=D0D1…D7。
参考答案
…
MOVCX, 8
L:SHLAL, 1
RCRBL, 1
LOOP L
MOV AL, BL
…
7.若起始地址偏移量为2000H的内存单元存放有100个ASCII码字符,现给这些字符添加奇偶校验位(bit7),使每个字符中“1”的个数为偶数,在顺序输出到地址为100H的端口。
其补码形式分别为:(120)补=01111000(18)补=00010010
01111000
+00010010
10001010
由于Cs=0,Cp=1,因此有溢出,结果错误
-33-37
其补码形式为:(-33)补=11011111(-37)补=11011011
11011111
+11011011
10111010
SP=1FFEH
CX=2115H
DX=5678H
栈中各单元内容如下所示:
地址
RAM
11FFAH
2115
11FFCH
5678
11FFEH
1234
12000H
第4章 宏汇编语言
习题与思考题
1.画出以下变量在内存中存储的示意图。
D1 DB‘A’,’123’,09H, 45
D2 DW‘A’,’CD’,23H, 4567H
习题与思考题
1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?
答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。
各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备;
⑸ 错,不允许段寄存器与存储单元内容进行交换
⑹ 错,减1指令不能对段寄存器直接操作
⑺ 对
⑻ 错,输出指令的地址若是16位,必须用DX间址。
5.下列程序段执行后AX=?
设数据段有:TABLEDW100,200,300,400
ENTRYDW3
代码段对DS初始化
MOVBX,OFFSETTABLE
MOVSI,ENTRY
Int 21h
Code ends
End Beg
4.由键盘输入任意的两个十进制数,然后转换成对应的压缩BCD码的形式在屏幕上显示。
.486
DATA SEGMENT USE16
BCD DB ?
BUF DB 3
DB ?
DB 3DUP(?)
MESG1 DB‘PLEASE INPUT :’,0DH,OAH,’$’
00110010
+01010100
10000110
由于Cs=0,Cp=1,所以有溢出,结果错误
4.请写出下列字符串的ASCII码值。
My name is Zhang san.
4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E
第2章 80X86微机系统
书27页。
6.总线有那几种类型?
答:按照总线的传输类型可分为数据、地址、控制三类;按和cpu的距离可分为内部总线、系统总线和外部总线。
7.简述ISA与EISA总线的的区别。它们的局限性表现在哪里?
书34页。
8.PCI局部总线有些什么特点?
书35页
9.什么是USB?它有什么特点?
书41页
10.IEEE 1394总线有哪些特点?它与USB总线的区别在哪里?
答:当X表示原码时,其真值为:+101010
当X表示补码时,其真值为:+101010
当X表示反码时,其真值为:+101010
当X表示无符号数数时,其真值为:00101010
3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出?
120+18-33-37
-90-70 50+84
答:120+18
⑷ AX=5433H,SZAPCO=001110B
⑸ AX=2B8DH,SZAPCO=00X100B
⑹ AX=FFCFH,SZAPCO=10X100B
⑺ AX=D222H,SZAPCO=10X100B
⑻ AX=3283H,SZAPCO=XXXX11B
3.若AL=78H,BL=87H,
⑴求执行指令
ADD AL,BL
3.简述80486微处理器的基本结构。
书12页
4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址模式下的物理地址为多少?
答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地址模式下的物理地址为17896H.
5.简述EPROM的工作原理。
LOOPNEXT2
MOVAH, 4CH
INT21H
8. 若SS=1000H,SP=2000H,AX=1234H,BX=5678H,FR=2115,试说明执行指令
PUSHAX
PUSHBX
PUSHF
POPCX
POP DX
之后,SP=? SS=? CX=? DX=? 并画图指出堆栈中各单元的内容。
解答:SS=1000H
P1: cmp NUMBER, Y
Ja P2
Mov FLAG, 00H
Jmp exit
P2: mov FLAG, 01H
Exit: mov ah, 4ch
Int 21h
Code ends
End Beg
2.计算1+2+3+…+100,并把和保存在SUM单元中。
.486
DATA SEGMENT USE16
解答:.486
Data segment
NUMBER db ?
FLAG db ?
Data ends
Code segment
Assume cs: Code, ds: Data
Beg: mov ax,data
Mov ds,ax
mov al, X
Mov bl, Y
Cmp Fra Baidu bibliotekUMBER, X
Jnc P1
Mov FLAG, 0FFH
Jnc next
Mov [si], ah
Mv [si+1], al
Mov flag, 1
Next: inc si
Loop last
Cmp flag, 1
Je again
Done: mov buf+lens,‘$’
Mov ah, 9
Mov dx, offset buf
Int 21h
Mov ah, 4ch
DAA
之后,AL=?、标志AF=?、CF=?
⑵ 若执行指令 SUB AL,BL与DAS后,AL=?、标志AF=?、CF=?
解答
⑴ AL=65H, AF=1, CF=1。
⑵ AL=91H, AF=0, CF=1。
4.指出下列指令中哪些是错误的,并指出错在何处?
⑴ MOV DL,[DX]⑵ MOV ES,2000H
MOV AH, 4CH
MOV 21H
CODE ENDS
END BEG
3.对一个给定的N数据,用冒泡排序法进行排序。
解答:.486
Data segment
Buf db‘abcd18437hj’
Lens equ $-buf
Count db lens
Flag db ?
Data ends
Code segment
Assume cs: code, ds: data
Beg: mov ax, data
Mov ds, ax
Again: dec count
Jz done
Mov flag, 0
Mov cx, count
Mov si, offset buf
Last: mov al, [si]
Mov ah, [si+1]
Cmp ah, al
第1章 微机
习题
1.请完成以下计算:
174.66D=(10101110.10101)B=(AE. A8)H
10101110101.01011B=(1397.344)D=(575.58)H
4BCH=(010010111100)B=()BCD
2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值是多少?
解答
MOVSI, 2000H
MOVCX, 100
MOVDX, 100H
NEXT2:MOVAL, [SI];取字符串中字符送AL
ANDAL, 0FFH;改变标志位
JPENEXT1;“1”的个数为偶,bit7不变
ORAL, 80H;“1”的个数为奇,bit7变为1
NEXT1:OUT DX, AL
INCSI
书41页。
11.简述现场总线的特点。
书42页。
12.当代计算发展的主要核心技术有哪些?
当代计算机的主要核心技术有:CACHE技术、流水线技术、VM技术、RISC技术、多内核技术
第3章
习题与思考题
1.指出下列各指令中源操作数和目的操作数的寻址方式:
⑴ MOV BX,WORD PTR[2200H]⑵ AAA
由于Cs=1,Cp=1,所以没有溢出,结果正确
-90-70
其补码形式为:(-90)补=10011100(-70)补=10111010
10011100
+10111010
01010110
由于Cs=1,Cp=0,所以有溢出,结果错误
50+84
其补码形式为:(50)补=00110010(84)补=01010100
2.微处理器的发展过程是什么?
答:微型计算机的发展过程是:
第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。
第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。
⑷ LESDI,[2100H]
源操作数:直接寻址;目的操作数:寄存器寻址
⑸ MOV [BX+SI+8], BX
源操作数:寄存器寻址;目的操作数:基址加变址寻址
2.若AX=0ABCDH,BX=7F8FH,CF=1。求分别执行8086 CPU指令
⑴ ADDAX,BX⑵ ADCAX,BX
⑶ SBBAX,BX⑷ NEGAX
TT DB 1
SUM DW ?
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG: MOV AX , DATA
MOV DS, AX
MOV CX, 100
MOV AX, 0
START: ADD AX, TT
INC TT
LOOP START
MOV SUM, AX
⑶ JUM 2200H⑷ LESDI,[2100H]
⑸ MOV [BX+SI+8], BX
解答
⑴ MOV BX, WORD PTR[2200H]
源操作数:直接寻址;目的操作数:寄存器寻址
⑵ AAA
源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址
⑶ JUM 2200H
程序转移段内直接寻址方式
第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。
第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。
⑸ AND AX,BX⑹ ORAX,BX
⑺ XORAX, BX⑻ IMUL BL
后,AX寄存器中的内容,并指出标志寄存器SF,ZF,AF,PF,CF及OF的状态。
解答
⑴ AX=2B5CH,SZAPCO=001110B
⑵ AX=2B5DH,SZAPCO=001010B
⑶ AX=2C3DH,SZAPCO=001001B
⑶ SUB [BX],[SI]⑷ ADD AX,[BX+CX]
⑸ XCHG DS,[2400H]⑹ DEC 15H
⑺ IN AL,DX⑻ OUT 300H,AX
解答
⑴ 错,DX不能作为间接寻址的寄存器。
⑵ 错,立即数不能直接送给段寄存器。
⑶ 错,两个存储单元间内容不能直接相减。
⑷ 错,CX寄存器不能作为变址寄存器。
D3 DD 1234H, 23456789H
2.设计子程序分别完成以下功能:
1)根据给定的参数值,判断该参数是偶数还是奇数。
2)把给定参数值的高、低数据位互换。
3.设计相应的宏完成以下功能:
1)把给定的参数按二进制显示。
2)求两个参数的和,并按十进制形式显示。
第5章 汇编语言程序设计
习题与思考题
1.设数据段中有字节型单元NUMBER和FLAG,判断NUMBER与给定的X和Y的大小关系(X<Y),若NUMBER>Y,则置FLAG=1,若NUMBER<X,则置FLAG=-1,否则置FLAG=0。
MOVAX,[BX+SI]
执行后AX=2C00
6. 将AL中的8位二进制数按倒序方式重新排列,即AL原来为D7D6…D0,倒序后AL=D0D1…D7。
参考答案
…
MOVCX, 8
L:SHLAL, 1
RCRBL, 1
LOOP L
MOV AL, BL
…
7.若起始地址偏移量为2000H的内存单元存放有100个ASCII码字符,现给这些字符添加奇偶校验位(bit7),使每个字符中“1”的个数为偶数,在顺序输出到地址为100H的端口。
其补码形式分别为:(120)补=01111000(18)补=00010010
01111000
+00010010
10001010
由于Cs=0,Cp=1,因此有溢出,结果错误
-33-37
其补码形式为:(-33)补=11011111(-37)补=11011011
11011111
+11011011
10111010
SP=1FFEH
CX=2115H
DX=5678H
栈中各单元内容如下所示:
地址
RAM
11FFAH
2115
11FFCH
5678
11FFEH
1234
12000H
第4章 宏汇编语言
习题与思考题
1.画出以下变量在内存中存储的示意图。
D1 DB‘A’,’123’,09H, 45
D2 DW‘A’,’CD’,23H, 4567H
习题与思考题
1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?
答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。
各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备;
⑸ 错,不允许段寄存器与存储单元内容进行交换
⑹ 错,减1指令不能对段寄存器直接操作
⑺ 对
⑻ 错,输出指令的地址若是16位,必须用DX间址。
5.下列程序段执行后AX=?
设数据段有:TABLEDW100,200,300,400
ENTRYDW3
代码段对DS初始化
MOVBX,OFFSETTABLE
MOVSI,ENTRY
Int 21h
Code ends
End Beg
4.由键盘输入任意的两个十进制数,然后转换成对应的压缩BCD码的形式在屏幕上显示。
.486
DATA SEGMENT USE16
BCD DB ?
BUF DB 3
DB ?
DB 3DUP(?)
MESG1 DB‘PLEASE INPUT :’,0DH,OAH,’$’
00110010
+01010100
10000110
由于Cs=0,Cp=1,所以有溢出,结果错误
4.请写出下列字符串的ASCII码值。
My name is Zhang san.
4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E
第2章 80X86微机系统
书27页。
6.总线有那几种类型?
答:按照总线的传输类型可分为数据、地址、控制三类;按和cpu的距离可分为内部总线、系统总线和外部总线。
7.简述ISA与EISA总线的的区别。它们的局限性表现在哪里?
书34页。
8.PCI局部总线有些什么特点?
书35页
9.什么是USB?它有什么特点?
书41页
10.IEEE 1394总线有哪些特点?它与USB总线的区别在哪里?
答:当X表示原码时,其真值为:+101010
当X表示补码时,其真值为:+101010
当X表示反码时,其真值为:+101010
当X表示无符号数数时,其真值为:00101010
3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出?
120+18-33-37
-90-70 50+84
答:120+18
⑷ AX=5433H,SZAPCO=001110B
⑸ AX=2B8DH,SZAPCO=00X100B
⑹ AX=FFCFH,SZAPCO=10X100B
⑺ AX=D222H,SZAPCO=10X100B
⑻ AX=3283H,SZAPCO=XXXX11B
3.若AL=78H,BL=87H,
⑴求执行指令
ADD AL,BL
3.简述80486微处理器的基本结构。
书12页
4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址模式下的物理地址为多少?
答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地址模式下的物理地址为17896H.
5.简述EPROM的工作原理。
LOOPNEXT2
MOVAH, 4CH
INT21H
8. 若SS=1000H,SP=2000H,AX=1234H,BX=5678H,FR=2115,试说明执行指令
PUSHAX
PUSHBX
PUSHF
POPCX
POP DX
之后,SP=? SS=? CX=? DX=? 并画图指出堆栈中各单元的内容。
解答:SS=1000H