当前位置:文档之家› 微机原理黄冰版--作业答案

微机原理黄冰版--作业答案

微机原理黄冰版--作业答案
微机原理黄冰版--作业答案

1章 绪论

1.2 用8位二进制码,写出下列十进制数的原码和补码表示 解释:

原码:最高位为符号位,正数符号位为0,负数符号位为1。

补码:正数的补码与原码相同;负数的补码:由其原码除符号位保持不变外,其余各位按位取反,末位加1而成。

解:

(1) [+65]原 = 0100 0001B 注:65 = 64 + 1

[+65]补 = [+65]原 = 0100 0001B 注:正数补码与原码相同

(2) [+115]原 = 0111 0011B 注:115 = 64 + 32 + 16 + 2 + 1 [+115]补 = [+115]原 = 0111 0011B 注:正数补码与原码相同

(3) [-65]原 = 1100 0001B 注:65 = 64 + 1

[-65]补 = 1011 1110B + 1B = 1011 1111B 注:除符号位外,按位取反,末位加1 (4) [-115]原 = 1111 0011B 注:115 = 64 + 32 + 16 + 2 + 1 [-115]补 = 1000 1100B + 1B = 1000 1101B 注:除符号位外,按位取反,末位加1 1.3 用16位二进制码,写出下列十进制数的原码和补码表示。

(1) [+120]原 = 0000 0000 0111 1000B 注:120 = 64 + 32 + 16 + 8 [+120]补 = [+120]原 = 0000 0000 0111 1000B 注:正数补码与原码相同

(2) [-120]原 = 1000 0000 0111 1000B 注:120 = 64 + 32 + 16 + 8 [-120]补 = 1111 1111 1000 0111B + 1B = 1111 1111 1000 1000B 注:除符号位外,按位取反,末位加1

(3) [+230]原 = 0000 0000 1110 0110B 注:230 = 128 + 64 + 32 + 4 + 2 [+230]补 = 0000 0000 1110 0110B 注:正数补码与原码相同

(4) [-230]原 = 1000 0000 1110 0110B 注:230 = 128 + 64 + 32 + 4 + 2 [-230]补 = 1111 1111 0001 1001B + 1B = 1111 1111 0001 1010B 注:除符号位外,按位取反,末位加1 1.4 写出下列用补码表示的二进制数的真值。 解释:

正数的补码 = 原码

负数的补码:再次求补码得到其原码 解:

(1) 0011 0111 正数的补码 真值:32 + 16 + 4 + 2 + 1 = +55 (2) 0101 1001 正数的补码 真值:64 + 16 + 8 + 1 = +89

(3) 1000 1101 负数的补码 真值:1111 0010B + 1B = 1111 0011B = -115 (4) 1111 1001 负数的补码 真值:1000 0110B + 1B = 1000 0111B = -7

第2章 Intel 8086微处理器

2.2 在存储器中存放的数据如图所示。试读出75422H 和75424H 字节单元的内容是什么?读出75422H 和75424H 字单元的内容是什么? 解:

75422H 字节单元的内容:9CH 75424H 字节单元的内容:5DH 75422H 字单元的内容:249CH 75424H 字单元的内容:0E65DH

2.3 段地址和偏移地址为1000H:117AH的存储单元的物理地址是什么?而1109H:00EAH或1025H:0F2AH 的存储单元的物理地址又是什么?这说明了什么问题?

解释:物理地址 = 段地址× 10H + 偏移地址

解:

1000H : 117AH存储单元的物理地址1000H × 10H + 117AH = 1117AH

1109H : 00EAH存储单元的物理地址1109H × 10H + 00EAH = 1117AH

1025H : 0F2AH存储单元的物理地址1025H × 10H + 0F2AH = 1117AH

说明:不同的段地址不同的偏移地址可以指向同一个物理地址,即各个逻辑段可以相互重叠。

2.4 在存储器分段结构中,每个段区最大可占用多少地址范围,为什么?如果在8086的机器中,若段间不允许重叠,那么最多可分多少个段区?

解:

若为8086微处理器,每个段区最大可占用64KB,因为所有内部寄存器都只有16位。

若每段64KB,最多可分16个段区,因为8086微处理器有20条地址线,可访问存储器的最大容量为1MB。

2.5 如果从存储器的2000H地址开始分配段区,要求数据段占用1KB范围,堆栈段占用512B范围,代码段占用8KB范围。按数据段、堆栈段和代码段的顺序连续存放,试画出存储器分段地址分配示意图,图中应写明各段寄存器的内容?

解:

02000H DS:0200

02400H SS:0240H

02600H CS:0260H

注:

1KB:00 0000 0000B~11 1111 1111B

SS:起始物理地址2000H + 1KB = 2000H + 400H = 02400H

512B:0 0000 0000B~1 1111 1111B

CS:起始物理地址2400H + 512B = 2400H + 200H = 02600H

2.6 指出下列指令的源和目标操作数的寻址方式:

)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各指令执行完后AX寄存器的内容。

地址值为0050H,试指出下面源操作数字段的寻址方式是什么?其物理地址值是多少?

容各为多少?并画出堆栈变化示意图。

解:

第1条指令AX=1122H

PUSH AX BX=3344H

SP→CX=5566H

SP=1FFEH

第2条指令

PUSH BX SP→AX=1122H

BX=3344H

CX=5566H

SP=1FFCH

第3条指令

PUSH CX SP→

AX=1122H

BX=3344H

CX=5566H

SP=1FFAH

第4条指令

POP AX SP→AX=5566H

BX=3344H

CX=5566H

SP=1FFCH

第5条指令AX=5566H

POP CX BX=3344H

SP→CX=3344H

SP=1FFEH

2.10 下列程序段中每一条指令执行完后,AX中的十六位进制内容是什么?

移位指令根据移位后的结果设置SF 、ZF 和PF 位,AF 位则无定义。

RCL :OF=1最高有效位的值发生变化;PF 保留原来的值;

2.11 将十六进制数62A0H 与下列各个数相加,试给出和数及标志位AF ,SF ,ZF ,CF ,OF 和PF 的状态。 (1) 9D60H

0000

0000

0000

0000

1

00000110110110010000101000100110+

和数:0H

AF=0,SF=0,ZF=1,CF=1,OF=0,PF=1 (2) 4321H

0001

1100

0101

1010

00010010001101000000101000100110+

和数:0A5C1H

AF=0,SF=1,ZF=0,CF=0,OF=1,PF=0

2.12 从下列各个数中减去4AE0H ,试给出差值及标志位AF ,SF ,ZF ,CF ,OF 和PF 的状态。 (1)1234H (2)9090H 解:

]

7540[0100

0101

0111

1100

1

]04[0000111010100100]1234[0100001100100001H C H AE H -

AF =0,SF =1,ZF =0,CF =1,OF =0,PF =0

]

045[0000

1011

0101

0100

]04[0000111010100100]9090[0000100100001001H B H AE H -

AF =0,SF =0,ZF =0,CF =0,OF =1,PF =0

2.13 假设BX =00E3H ,字变量VALUE 中存放的内容为79H ,确定下列各条指令单独执行后的结果。

(2) AND OSZAPC:0XXUX0 SF=0; ZF=0; PF=0

(3) OR OSZAPC:0XXUX0 SF=0; ZF=0; PF=0

(4) XOR OSZAPC:0XXUX0 SF=0; ZF=0; PF=0

(5) AND OSZAPC:0XXUX0 SF=0; ZF=1; PF=1

(6) TEST OSZAPC:0XXUX0 SF=0; ZF=0; PF=0

2.14 试写出执行下列指令序列后BX寄存器的内容。执行前BX=6D16H。

MOV CL, 7

SHR BX, CL

解:

BX=6D16H= 0110 1101 0001 0110B

执行后:0000 0000 1101 1010B = 00DAH

2.15 假定DX=00B9H,CL=3,CF=1,确定下列各条指令单独执行后DX中的值。

第3章宏汇编语言程序设计

3.1 对于下面的数据定义,各条指令单独执行后,有关寄存器的内容是什么?

FLDB DB ?

TABLEA DW 20 DUP(?)

TABLEB DB 'ABCD'

(1) MOV AX, TYPE FLDB ; AX = 01H;字节类型

(2) MOV AX, TYPE TABLEA ; AX = 02H;字类型

(3) MOV CX, LENGTH TABLEA ; CX = 14H;DUP定义的变量,分配的单元数

(4) MOV DX, SIZE TABLEA ; DX = 28H;SIZE = LENGTH * TYPE

(5) MOV CX, LENGTH TABLEB ; CX = 01H;非DUP定义的变量,LENGTH=1

3.2 试写出完成下列操作的伪指令语句:

(1) 将56H, 78, B3H, 100存放在定义为字节变量ARRAY的存储单元中。

ARRAY DB 56H, 78, 0B3H, 100

(2) 将字数据2965H, 45H, 2965, A6H存放在定义为字变量DATA的存储单元中。

DATA DW 2965H, 45H, 2965, 0A6H

(3) 将字节数据56H, C6H, 78H, 12H存放在字变量ALPHA的存储单元中,并且不改变数据按字节存储的次序。

ALPHA DW 0C656H, 1278H

(4) 在BETA为首址的存储单元中连续存放字节数据,2个23,5个'A',10个(1, 2),20个空单元。BETA DB 2 DUP ( 23 ), 5 DUP ( 'A' ), 10 DUP (1, 2), 20 DUP ( ? )

(5) 在STRING为首址的存储单元中存放字符串'THIS IS A EXAMPE'。

STRING DB 'THIS IS A EXAMPE'

(6) 用符号COUNT替代100。

COUNT EQU 100 ( 或COUNT = 100 )

3.3 画图表示下列语句中数据在存储器中的存储情况。

(1) BYTE_VAR DB 'ABCD', 76, 57H, 3 DUP ( ? ), 2 DUP (1, 3)

(2) WORD_VAR DW 5 DUP (0, 1), ?, 'AB', 'CD', 7965。

(1) 从左到右、从上到下为地址增大的方向。

(1) DATA1为字符串变量: 'DATA SEGMENT'

(2) DATA2为十进制数字字节变量: 72, 65, -10

(3) DATA3 为十六进制数字字节变量: 109, 98, 21, 40

(4) DATA4为10个零的字节变量

(5) DATA5为数字的ASCII字符字节变量: 12345

(6) DATA6为十进制数的字变量: 7, 9, 298, 1967

(7) DATA7为十六进制数的字变量: 785, 13475

(8) DATA8为本段中字变量和字节变量之间的字节单元数之差。

解:

DATA SEGMENT

DATA1 DB 'DATA SEGMENT'

DATA2 DB 72, 65, -10

DATA3 DB 6DH, 62H, 15H, 28H

DATA4 DB 10 DUP (0)

DATA5 DB '12345'

DATA6 DW 7, 9, 298, 1967

DATA7 DW 0311H, 34A3H

DATA8 DB $ - DATA6 - (DATA6 - DATA1)

DATA ENDS

3.5假设程序中的变量定义如下:

BUF1 DB 100 DUP ('A')

BUF2 DW 1275H, 567, 0C5H

BUF3 DB 20 DUP (?)

BUF4 DB 7, 4, 6, 9, 8

(1) 用一条指令将BUF1的偏移地址送入BX。

MOV BX, OFFSET BUF1或 LEA BX, BUF1

(2) 将BUF2的第三字节数据送入CL。

MOV CL, BUF2+2

(3) 将A6H送入BUF3的第十个字节单元中。

MOV BUF3+9, 0A6H

(4) 用伪指令写出BUF1和BUF2二者的总长度(字节数)

COUNT EQU BUF3 - BUF1

3.6 给出等值语句如下:

ALPHA EQU 100

BETA EQU 25

GAMMA EQU 2

求下列表达式的值:

(1) ALPHA * 100 + BETA ; 10025D = 2729H

(2) ALPHA MOD GAMMA + BETA ; 100 MOD 2 + 25 = 25D = 0019H

(3) (ALPHA + 2) * BETA - ALPHA ; (100 + 2 ) * 25 – 100 = 2450D = 0992H

(4) (BETA / 3) MOD 5 ; (25 / 3) MOD 5 = 03H

(5) BETA AND 7 ; 0001 1001 AND 0000 0111 = 01H

(6) GAMMA OR 3 ; 0000 0010 OR 0000 0011 = 0003H

3.7 下列语句中,在存储器中每个变量分配到多少字节?

VR1 DW 9 ; 2字节

VR2 DW 4 DUP (?), 2 ; 4 * 2 + 2 = 10字节

VR3 EQU 100 ; 0字节

VR4 DD VR3 DUP (?) ; 100 * 4 = 400字节

VR5 DB 2 DUP (?, VR3 DUP (0, 1) ) ; 2 * ( 1 + 100 * 2 ) = 402字节

VR6 DB 'HOW ARE YOU?' ; 12字节

3.8 试写出一个完整的数据段DATA_SEG,首先把10个压缩的BCD码29存放在ARRAY变量字节单元中,紧接着把-25, 4, 10, 76, 3存放在ALPHA数组变量的字单元中,接着留100个空单元作为工作单元用,它定义为字节变量BUFFER。

DATA_SEG SEGMENT

ARRAY DB 10 DUP ( 29H )

ALPHA DW -25, 4, 10, 76, 3

BUFFER DB 100 DUP ( ? )

DATA_SEG ENDS

3.9 将存放在字节变量BCD1中的两个十进制数的ASCII码合并为一字节压缩型BCD码,存入字节变量BCD2,试编写程序。

DATA SEGMENT

BCD1 DB '34'

BCD2 DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AL, BCD1

MOV CL, 4

SAL AL, CL

MOV BL, BCD1+1

AND BL, 0FH

OR AL, BL

MOV BCD2, AL

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.10 分析下列程序段,并说明完成什么操作。

ADDNUM DB 28H, 46H, 95H, 26H

ADDSUM DB 2 DUP (?)

MOV AL, ADDNUM ; ADDNUM第1个数据送到AL

ADD AL, ADDNUM + 2 ; ADDNUM第3个数据加到AL

DAA ; 加法的十进制调整指令

MOV ADDSUM, AL ; ADDNUM第1、3个数据的和放到ADDSUM

MOV AL, ADDNUM + 1 ; ADDNUM第2个数据送到AL

ADC AL, ADDNUM + 3 ; ADDNUM第4个数据加到AL

DAA ; 加法的十进制调整指令

MOV ADDSUM + 1, AL ; ADDNUM第2、4个数据的和放到ADDSUM + 1

解:

将ADDNUM的第1、3个数据相加,并将结果进行十进制调整转换为压缩型BCD码,并放到ADDSUM的第1个字节的位置;将ADDNUM的第2、4个数据相加,并将结果进行十进制调整转换为压缩型BCD码,并

放到ADDSUM的第2个字节的位置。

即:4628+2695,结果调整为压缩型BCD码,结果以字变量形式放到ADDSUM单元。

3.11 写出完成下述功能的程序段:

(1) 将32H存入CH中。

(2) 将CH中的内容与2AH相加。

(3) 将CH中的内容乘2。

(4) 将CH中的内容存入以BX作为相对基址寻址的数组变量NUM的第十个字节单元中(数据段)。

问:各程序段分别执行后,CH中的内容是多少?

MOV CH, 32H ; (1) CH = 32H

ADD CH, 2AH ; (2) CH = 5CH

MOV AL, 02H ;

MUL CH ; (3) CH = 5CH, AX = 0B8H

MOV [BX + NUM + 9], CH ; (4) CH = 5CH

3.12 编写程序,计算Z = ( ( W – X ) / 10 * Y )2,r为相除所得余数。其中W, X, Y均为8位有符号二进制数。

DATA SEGMENT

W DB 12

X DB 24

Y DB 48

Z DW 2 DUP (?)

r db ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AL, W

SUB AL, X ; W - X -> AL

CBW

MOV BL, 10

IDIV BL ; (W - X) / 10 -> AL

MOV r, AH ; (W - X) % 10 -> r

MOV BL, Y

IMUL BL ; (W - X) / 10 * Y -> AX

MOV BX, AX

IMUL BX ; ((W - X) / 10 * Y)^2 -> DX, AX

MOV Z, AX

MOV Z+2, DX ; ((W - X) / 10 * Y)^2 -> Z

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.13 在数组字变量ARRAY中有10个数据,将数组中的第5个字数据求补,再放回原处,画出程序流程图和编写程序。

3.14 用重复前缀串比较指令比较两个字符串,一个是在数据段的字符串变量STR1(内容为'THIS IS A DOG'),另一个是在附加段的字符串变量STR2(内容为'THIS IS A COCK')。当比较到第一个不相同的字符时停止比较,把相同部分字符串长度存入数据段的字节变量NUM中。写出分段结构的程序段,应包括段定义,伪指令和指令序列。问:相同部分字符串长度为多少?在STR1和STR2第一个不同处的偏移地址是多少?

DATA SEGMENT

STR1 DB 'THIS IS A DOG'

LEN1 DB $-STR1

NUM DB ?

DATA ENDS

EDATA SEGMENT

STR2 DB 'THIS IS A COCK'

LEN2 DB $-STR2

EDATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:EDATA

START: MOV AX,DATA

MOV DS,AX

MOV AX,EDATA

MOV ES,AX

CLD ;串操作由低地址向高地址

MOV CH,0

MOV AL,LEN1

CMP AL,ES:LEN2

JB B1L2

MOV CL,ES:LEN2

JMP CMPOK

B1L2: MOV CL,AL

CMPOK: LEA SI,STR1

LEA DI,ES:STR2

REPE CMPSB

MOV AX,SI

DEC AL ;不同处的字节偏移地址

MOV NUM,AL ;不同处的字节偏移地址放到NUM

MOV AH, 4CH

INT 21H

CODE ENDS

END START

答:相同长度10,不同处的偏移地址10

3.15 有两个压缩型BCD码相加,被加数(6756)和加数(7321)存放在数据段的BUFFER变量的4个连续的字节存储单元中,结果(和)存放在RESUT变量的三个字单元中(考虑到有进位的情况),编制具有数据段和代码段结构的完整程序,程序中需要作必要的注释。

注:结果存放在RESUT字节变量中,三个字单元不知要求怎么用

DATA SEGMENT

BUFFER DB 67H,56H,73H,21H

RESUT DB 3 DUP (?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AL,BUFFER+1 ;第一个数据低两位->AL

MOV BL,BUFFER+3 ;第二个数据低两位->BL

ADD AL,BL ;低两位相加

DAA ;十进制调整

MOV DL,AL ;低两位相加结果放到DL

MOV AL,BUFFER ;第一个数据高两位->AL

MOV BL,BUFFER+2 ;第二个数据高两位->BL

ADC AL,BL ;低两位相加

DAA ;十进制调整

MOV BL,0

JNC HCF

INC BL

HCF: MOV RESUT,BL ;存放最高位

MOV RESUT+1,AL ;存放中间两位

MOV RESUT+2,DL ;存放最低两位

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.16 将SRCBUF变量定义的80个字符串传送到DSTBUF变量定义的存储区去。当遇到0DH时,不将此字符传送到DSTBUF变量中去。试编写程序,并加以注释。

DATA SEGMENT

SRCBUF DB 'aaa',0DH,'bbb'

DSTBUF DB 80 DUP (?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX,07 ;比较次数->CX

MOV SI,0 ;源串指针->SI

MOV DI,0 ;目标串指针->DI

SDCMP: MOV AL,SRCBUF[SI]

CMP AL,0DH

JZ NSEND

MOV DSTBUF[DI],AL ;不等于0DH,保存数据,修改SI、DI

INC DI

NSEND: INC SI ;等于0DH,不保存数据,修改SI

LOOP SDCMP

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.17 已知有n个元素存放在以BUF为首址的字节存储区中,试统计其中负元素的个数,画出程序框图,编写程序。

DATA SEGMENT

BUF DB 92H,12H,0F3H,23H,87H

LEN EQU $-BUF

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX,LEN ;比较次数->CX

MOV SI,0 ;字节存储区指针

MOV DL,0 ;负元素个数初始化

NEGCMP: MOV AL,BUF[SI]

CMP AL,0

JNL C0GE

INC DL ;小于0,个数加1,指针加1

C0GE: INC SI ;不小于0,指针加1

LOOP NEGCMP

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.18 已知以BUF为首址的字存储区中存放着n个有符号的二进制数,试编写程序,将大于等于0的数送以BUF1为首址的字存储区中,将小于0的数送以BUF2为首址的字存储区中,并画出程序框图。

DATA SEGMENT

BUF DW 1212H,0FF12H,3434H,8989H,5656H,9090H

LEN EQU ($ - BUF) / 2

BUF1 DW LEN DUP (?)

BUF2 DW LEN DUP (?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX,LEN ;循环次数,即BUF的单元数

MOV BX,0 ;BUF指针初始化

MOV SI,0 ;BUF1指针初始化

MOV DI,0 ;BUF2指针初始化

CLOOP: MOV AX,[BX] ;BUF数据->AX

CMP AX,0

JGE TO1

MOV BUF2[DI],AX ;AX<0,AX->BUF2,DI+2->DI,BX+2->BX

INC DI

INC DI

JMP CONTINUE

TO1: MOV BUF1[SI],AX ;AX>=0,AX->BUF1,SI+2->SI,BX+2->BX

INC SI

INC SI

CONTINUE:INC BX

INC BX

LOOP CLOOP

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.19 已知在以BUF为首地址的字节存储区中,存放着一个以′$′作结束标志的字符串,试编写程序,在CRT上显示该字符串,并要求将小写字母以大写字母形式显示出来。画出程序框图。

DATA SEGMENT

BUF DB 'abCDalskdjf$'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV SI,0 ;BUF地址指针

ALOOP: MOV DL,BUF[SI] ;BUF数据->DL

CMP DL,'$' ;DL='$',EXIT

JE STOP

CMP DL,5AH

JBE UPPER ;大写字母,打印输出,地址指针SI加1

SUB DL,20H ;小写字母,DL减20H后打印输出,地址指针SI加1

UPPER: MOV AH,02H

INT 21H

INC SI

JMP ALOOP

STOP: MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.20 设有三个字节变量X、Y、Z,试找出X、Y有符号数中较大者送入Z中,编写程序。

推荐检测实例:-128和127

DATA SEGMENT

X DB 0F0H

Y DB 12H

Z DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AL,X ;X->AL

CMP AL,Y ;X ? Y

JGE NEXT ;X>=Y,X->Z

MOV AL,Y ;XZ

NEXT: MOV Z,AL

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.21 设在变量单元A、B和C中存放有三个数,若三个数都不为0,则求出三个数之和存入D中;若有一个为0,则将其他两个单元也清零,编写程序。

DATA SEGMENT

A D

B 0F0H

B DB 12H

C DB 22H

D DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

CMP A,0

JZ STOP

CMP B,0

JZ STOP

CMP C,0

JZ STOP ;有一个为0,全部置0

MOV AH,0 ;否则作加法运算,放到D,注意加法运算结果为字

MOV BH,0

MOV AL,A

MOV BL,B

ADD AX,BX

MOV BL,C

ADD AX,BX

MOV D,AX

JMP STOP

NEXT: MOV A,0

MOV B,0

MOV C,0

STOP: MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.22 试分析下列程序段,说明完成了什么操作?程序执行前后HEXNUM字节单元的内容是什么?

ASCNUM DB 41H

HEXNUM DB ?

MOV AH,ASCNUM

CMP AH,39H

JBE NEXT

SUB AH,7

NEXT:SUB AH,30H

MOV HEXNUM,AX

HLT

解:

'0'~'9'与'A'~'F'组成的一位十六进制数的ASCII码转换为一位十六进制数。

程序执行前:[HEXNUM] = ?

程序执行后:[HEXNUM] = 0AH

3.23 在数据区STR1单元开始存放一长度为1~256个字符的字符串。要求对该字符串中每个字符在最高位配上一个偶校验位(即保持一字节数中1的个数为偶数),并存回到原单元中。

DATA SEGMENT

STR1 DB 'abcdefghi'

LEN1 EQU $-STR1

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX,LEN1

MOV SI,0

ALOOP: MOV AL,STR1[SI]

OR AL,0 ;与0相或,不影响原来的值

JP CONTINUE ;若1的个数为偶数,不做任何处理

OR AL,80H ; 若1的个数为偶数,最高位置1

MOV STR1[SI],AL

CONTINUE:INC SI

LOOP ALOOP

STOP: MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.24 已知在数据区中DATA1和DATA2开始分别存放N个字节数据,编制程序检查两数据块中的数据是否相同。若完全一致,则将标志单元FLAG置FFH,否则置0。并将第一次出现的不同数据的地址分别存放ADR1和ADR2单元中,编写程序。

;假设为按顺序比较,非无序比较

DATA SEGMENT

DATA1 DB 22H,33H,44H,55H

DATA2 DB 22H,33H,44H,66H

N EQU $-DATA2

FLAG DB ?

ADR1 DW ?

ADR2 DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX,N

MOV SI,0

MOV DI,0

ALOOP1: MOV AL,DATA1[SI]

CMP AL,DATA2[DI]

JNZ NE12

INC SI

INC DI

LOOP ALOOP1

MOV FLAG,0FFH

JMP EXIT

NE12: MOV FLAG,0

MOV ADR1,SI

MOV ADR2,DI

EXIT: MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.25 定义一数组GRADE存放有100个学生某门功课的考试成绩,要求编一程序,统计各分数段的人数,即要求统计90~100分,80~89分,70~79分,60~69分以及60分以下的各有多少人。

DATA SEGMENT

GRADE DB 12,65,77,88,98,23,94,75,85,62

LEN EQU $-GRADE

A D

B 0

B DB 0

C DB 0

D DB 0

E DB 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX,LEN

ALOOP1: MOV SI,CX

DEC SI

CMP GRADE[SI],60

JB GRE ;<60, E+1->E

CMP GRADE[SI],70

JB GRD ;<70, D+1->D

CMP GRADE[SI],80

JB GRC ;<80, C+1->C

CMP GRADE[SI],90

JB GRB ;<90, B+1->B

INC A ;>=90, A+1->A

JMP GOON

GRB: INC B

JMP GOON

GRC: INC C

JMP GOON

GRD: INC D

JMP GOON

GRE: INC E

JMP GOON

GOON: LOOP ALOOP1

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.26 编一程序,在以BUF为首址的字节单元中存放了COUNT个无符号数,找出其中最大数送MAX单元。DATA SEGMENT

BUF DB 11,23,43,45,67,82,38,48,98,34,67

COUNT EQU $-BUF

MAX DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX,COUNT

MOV AL,0 ;AL用力存放最大数,初值为0

ALOOP: MOV SI,CX

DEC SI

CMP AL,BUF[SI] ;从后面取数据,与AL比较

JAE GOON

MOV AL,BUF[SI]

GOON: LOOP ALOOP

MOV MAX,AL

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.27 利用系统功能调用从键盘输入10个一位无符号数,求出其中最大和最小数,在显示器上输出显示。DATA SEGMENT

IN_STR DB 'Please Input 10 Num of 0~9:$'

MAX_STR DB 0DH,0AH,'MAX Num is:$'

MIN_STR DB 0DH,0AH,'MIN Num is:$'

MAX DB ?

MIN DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

LEA DX,IN_STR

MOV AH,09H

INT 21H ;提示输入10个数字

IND: MOV AH,01H

INT 21H ;输入一个字符

CMP AL,30H

JB IND ;<30H,ERROR

CMP AL,39H

JA IND ;>39H,ERROR

SUB AL,30H

MOV MIN,AL ;第一个数初始化MIN

MOV MAX,AL ;第一个数初始化MAX

MOV CX,3

ALOOP: MOV AH,01H

INT 21H ;输入一个字符

CMP AL,30H

JB ALOOP ;<30H,ERROR

CMP AL,39H

JA ALOOP ;>39H,ERROR

SUB AL,30H ;ASCII->数

CMP AL,MIN

JB GOMIN ;小于最小数,AL->MIN,输入下一个数

CMP AL,MAX

JA GOMAX ;大于最大数,AL->MAX,输入下一个数

JMP GOON

GOMIN: MOV MIN,AL

JMP GOON

GOMAX: MOV MAX,AL

GOON: LOOP ALOOP

LEA DX,MAX_STR

MOV AH,09H

INT 21H ;提示输出最大数

MOV DL,MAX

ADD DL,30H

MOV AH,02H

INT 21H ;输出最大数

LEA DX,MIN_STR

MOV AH,09H

INT 21H ;提示输出最小数

MOV DL,MIN

ADD DL,30H

MOV AH,02H

INT 21H ;输出最小数

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.28 利用系统功能调用,完成将键盘输入的小写字母转换成大写字母输出显示,直到输入$字符时,停止输出。

CODE SEGMENT

ASSUME CS:CODE

START: MOV AH,01H

INT 21H ;输入一个字符

CMP AL,'$'

JE STOP ;'$'符,退出

CMP AL,'a'

JB START

CMP AL,'z'

JA START ;非小写字母,继续输入

SUB AL,20H

MOV DL,AL

MOV AH,02H

INT 21H ;小写字母转换成大写字母输出

JMP START

STOP: MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.29 设有一字符串已存放在STRBUF为首址的数据区中,编一程序找出其中的$字符,并将其存放地址送ADRBUF单元中。

DATA SEGMENT

STRBUF DB 'a;sldkfjasldkf$asdf'

LEN EQU $-STRBUF

ADRBUF DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CX,LEN ;最多查询次数

MOV BX,0

ALOOP: CMP STRBUF[BX],'$'

JZ STOP ;找到,地址送ADRBUF,退出程序 INC BX

LOOP ALOOP

STOP: MOV ADRBUF,BL

MOV AH, 4CH

INT 21H

CODE ENDS

END START

3.30 用子程序结构编程计算:S=1!+2!+3!+4!+ (8)

修改原有答案结果,SUM2为结果

STACK SEGMENT STACK

DW 256 DUP(?)

TOP LABEL WORD

STACK ENDS

DATA SEGMENT

BUFF DB 1,2,3,4,5,6,7,8

SUM DW 0000H

SUM2 DW 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA,SS:STACK

START: MOV AX,DATA

MOV DS,AX

MOV AX,STACK

MOV SS,AX

MOV SP,OFFSET TOP

MOV CH,0

MOV CL,8

MOV SI,OFFSET BUFF

LOP1:

MOV AX,OFFSET SUM

PUSH AX

MOV AH,0

MOV AL, [SI]

PUSH AX

CALL FAR PTR FACT

MOV DX,SUM

ADD SUM2,DX

INC SI

LOOP LOP1

MOV AH,4CH

INT 21H

CODE ENDS

CODES SEGMENT

ASSUME CS:CODES

FACT PROC FAR

PUSH BP

MOV BP,SP

PUSH BX

PUSH AX

MOV BX,[BP+8]

MOV AX,[BP+6]

CMP AX,0

JE DONE

PUSH BX

DEC AX

PUSH AX

CALL FACT

MOV BX,[BP+8]

MOV AX,[BX]

MUL WORD PTR [BP+6]

JMP RETURN

DONE: MOV AX,01H

RETURN:MOV [BX],AX

POP AX

POP BX

POP BP

RET 4

FACT ENDP

CODES ENDS

END START

第5章半导体存储器

1. 若用以下的器件构成容量为128KB的存储器,试指出各需多少片?

(1)Intel 1024(1K×1位)

(2)lntel 2ll4(1K×4位)

(3)Intel 2128(2K×8位)

(4)Inte1 2167(16K×1位)

(5)Inte1 2164(64K×1位)

128KB=128×8位

(1) 128K×8/(1K×1) = 1024

(2) 128K×8/(1K×4) = 256

(3) 128K×8/(2K×8) = 64

(4) 128K×8/(16K×1) = 64

(5) 128K×8/(64K×1) = 16

2. 若用1024×1位的RAM芯片组成16K×8位的存储器,需要多少芯片?在地址总线中有多少位参与片内寻址?至少需要多少位用作芯片组选择信号(片间寻址)?

(1) 16K×8/(1024×1) = 128,需要128块芯片

(2) 10位,10位寻址范围位1K,即1024

(3) 需要4位地址线用作芯片组选择信号,8片1024×1位的芯片构成一个1K×8位的芯片组,一共有16个芯片组,所以要选择16个芯片组,而16=24,需要4位地址线。

3.EPROM存储器芯片还没有写入信息时,各个单元的内容是什么?

全为1

4.对只读存储器和半导体随机存取存储器,若发生掉电现象,那种存储器中仍保留有原来的数据?

只读存储器

5. 写出Intel 2716、2732、2764、27128、27256芯片容量,从中找出规律来。EPROM是怎样编程写入的?又是怎样擦除信息的?

2716:2k×8bit

2732:4k×8bit

2764:8k×8bit

27128:16k×8bit

27256:32k×8bit

规律:编号中去掉前两位除以8即为芯片容量(单位为字节)。

在EPROM芯片制造好时,每个EPROM管的硅栅上无电荷,这时存储矩阵内容全为1。

编程写入:当写入时,施加12.5V(或更高)、宽度约50mS的编程脉冲,这时所选中的单元在该电源的作用下,就会有电子注入硅栅,硅栅就为负,于是就形成了导电沟道,从而使EPROM单元导通,输出为0。

檫除信息:EPROM封装上方有一个石英玻璃窗口,当用紫外线照射这个窗口时,经过 6~40分钟,所有电路中硅栅上的电荷会形成光电流泄漏走,从而把写入的全部信息擦去,电路恢复成初始(全1)状态,以便重新编程。

6.电擦写可编程只读存储器E2PROM与EPROM有何异同点?它是怎样进行写入和擦除信息的?

相同点:断电情况下保存的数据信息不丢失

不同点:EPROM需要编程器,E2PROM不需要专门的编程设备。

E2PROM写入信息:在线读写

E2PROM檫除信息:外加高电压檫除或写入的过程中自动檫除

7.已知某微机控制系统中的RAM容量为4K×8位,首地址为4800H,求其最后一个单元的地址。

4K:0000 0000 0000B~1111 1111 1111B,000H~0FFFH

4800H + 0FFFH = 57FFH

8.某单板机中ROM为6KB,最后一个单元的地址为9BFFH,RAM为3KB,已知其地址为连续的,且ROM在前,RAM在后,求该存储器的首地址和末地址。

8000H

9BFFH

9C00H

A7FFH

6K:,0000H~1BFFH

3K:0000 0000 0000B~1011 1111 1111B,000H~0BFFH

首地址:9BFFH - 1BFFH = 8000H

末地址:9C00H + 0BFFH = 0A7FFH

微机原理课后练习题-答案

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章 习题及答案

CH02 8086/8088指令系统 习题与思考题 1.假定DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令源操作数是什么寻址方式?源操作数在哪里?如在存储器中请写出其物理地址是多少? (1)MOV AX,0ABH (2)MOV AX,[100H] (3)MOV AX,VAL (4)MOV BX,[SI] (5)MOV AL,VAL[BX] (6)MOV CL,[BX][SI] (7)MOV VAL[SI],BX (8)MOV [BP][SI],100 解答: (1)MOV AX,0ABH 寻址方式:立即寻址;源操作数在数据线上;物理地址:无 (2)MOV AX,[100H] 寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+100H=2000H*16+100H=20100H (3)MOV AX,VAL 寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+VAL=2000H*16+0050H=20050H (4)MOV BX,[SI] 寻址方式:寄存器间接寻址;源操作数在存储器中;物理地址:DS*16+SI=2000H*16+00A0H=200A0H (5)MOV AL,VAL[BX] 寻址方式:变址寻址;源操作数在存储器中;物理地址:DS*16+VAL+BX=2000H*16+0050H+0100=20150H (6)MOV CL,[BX][SI] 寻址方式:基址加变址寻址;源操作数在存储器中;物理地址:DS*16+BX+SI= 2000H*16+0100H+00A0H =201A0H (7)MOV VAL[SI],BX 寻址方式:寄存器寻址;源操作数在寄存器中;物理地址:无 (8)MOV [BP][SI],100 寻址方式:立即寻址;源操作数在;物理地址:无 .设有关寄存器及存储单元的内容如下:2. DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20100H]=12H,[20101H]=34H,[20102H]=56H,[20103]=78H,[21200]=2AH,[21201H]=4CH,[21202H]=0B7H,[21203H]=65H。

微机原理及应用试题库(附答案)

《微机原理及应用》试题库 1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。 A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,V B≈V DD。 A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0 4. 设(SS)=2000H,(SP)=0100H,(AX)=2107H,则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。 A.符号地址B.物理地址C.偏移地址D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX,0 MOV BX,1 MOV CX,100 AA:ADD AX,BX INC BX LOOP AA HLT 执行后的结果:(AX)= ,(BX)= 。 A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。

微机原理-期末考试题库及答案(含3套试卷)

微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX 指令时,该信号线为(2 )电平。 (1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。 A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发(2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个

⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是(2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( )位被置位 A. OF B AF C PF D CF 11.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是( ) A . 高16位 B. 低16位 C. 高8位 D. 低8位 12.8086 CPU中段寄存器用来存放( ) A. 存储器的物理地址 B. 存储器的逻辑地址 C. 存储器的段基值 D. 存储器的起始地址 13.8259A可编程中断控制器的中断服务寄存器ISR用于( ) A.记忆正在处理中的中断 B. 存放从外设来的中断请求信号 C.允许向CPU发中断请求 D.禁止向CPU发中断请求 14.8253 可编程定时/计数器的计数范围是( ) A. 0-255 B. 1-256 C. 0-65535 D. 1-65536 15. 在8086中,(BX)=8282H,且题中指令已在队列中,则执行INC [BX]指令需要的总

(完整版)微机原理课后习题参考答案

第一章 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(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

《微机原理及应用》期末考试复习参考

《微机原理及应用》期末考试复习参考资料 一、微机原理与应用模拟试题Ⅰ 一、填空题(每空1分,共25分) 1、指令由和组成。 2、I/O接口是微机系统的一种部件,它被设置在与之间。 3、已知[X]补=(11110011)B,则真值X= 。 4、IF是标志;SP称为;CS称为。 5、段地址为A382H,偏移地址为1234H,则对应的物理地址为。 6、8086CPU由和两部分组成。 7、CPU的基本时间计量单位称为周期。 8、SP总是指向堆栈的。 9、指令MOV AX,[BP+200]读取的是段的存储单元。 10、由8个二进制位组成的基本数据表示单元称为。 11、访存空间的是指CPU所能访问的。 12、某存储器芯片的存储容量为32K×8,则该芯片有个存储单元。 13、PENTIUM的工作模式有、、。 14、指令由、和操作数字段组成。 15、8086CPU指令系统中,用20条地址线寻址I/O端口,其端口地址范围 为。 16、电可擦除的可编程只读存储器的英文简写为。 17、逻辑地址由段基值和___ ___组成。 二、判断题(每小题1.5分,共15分,在每小题 后面的括号中认为正确的画“√”,错误的画 “×”) 1、堆栈是处在CPU内部的一个部件。()

2、8086的状态标志位有9个。() 3、IP是EU中的寄存器。() 4、IP中存放的是正在执行的指令的偏移地址。() 5、全地址译码法是指存储器芯片上的所有地址均参加译码。() 6、EPROM是电可擦除的PROM。() 7、中断是指CPU执行程序过程被意外暂停。() 8、EEPROM中存储的数据不会因掉电而丢失。() 9、SRAM是不用刷新的RAM。() 10、总线周期是指CPU通过总线访问一次内存或外设的时间。() 三、单项选择题(每题1.5分,共15分) 1)。 (A) SP (B) IP (C)BP (D)CS 2、源变址寄存器是()。 (A) SI (B)DI (C)SP (D)DX 3、下面4个标志中属于控制标志的是()。 (A) CF (B)DF (C)SF (D)ZF 4、LEA BX,BUFF 指令的功能是()。 (A)将存储单元BUFF的地址送给BX。 (B)将存储单元BUFF的数据送给BX。 (C)将存储单元BUFF的偏移地址送给BX。 (D)将存储单元BUFF的段地址送给BX。 5、DOS功能调用的子功能号存放在()寄存器中。 (A) AH (B)AL (C)DH (D)DL 6、采用DMA方式的I/O系统中,其基本思想是在()间建立直接的数据通道。 (A) CPU与外设 (B)主存与外设 (C)外设与外设 (D)CPU与主存 7、设SP=1110H,执行 PUSH AX 指令后,SP的内容为()。 (A) SP=1112H (B)SP=110EH (C)SP=1111H (D)SP=110FH 8、语句DAI DB 2 DUP(3,5,7)汇编后,与该语句功能等同的语句是()。 (A) DAI DB 3,5,7 (B)DAI DB 2,3,5,7 (C)DAI DB 3,5,7,2 (D)DAI DB 3,5,7,3,5,7 9、给定AL=80H,CL=02H,则SAR AL ,CL指令执行后的结果是()。 (A) AL=40H (B)AL=20H (C)AL=0C0H (D)AL=0E0H 10、对于输入端口,应具有下面何种功能()。 (A)应具备数据缓冲功能。 (B)应具备数据锁存功能。 (C)应同时具备数据缓冲功能和数据锁存功能。 (D)具备缓冲功能和数据锁存功能中的任一种。 四、名词解释题(每题5分,共25分)

微机原理试题及答案

微机原理试题及答案 微机原理试题及答案 一、填空题(每空1分,共15分) 1、在计算机中,对带符号数的运算均采用补码。带符号负数1100 0011的补码为_10111101_。2、单片机通常采用“三总线”的应用模式,芯片内部设有单独的地址总线、数据总线_ 和控制总线。 3、当使用80C51单片机时,需要扩展外部程序存储器,此时EA应为_0__。 4、若(A)=B3H,(R0)=A8H,执行指令XRL A,R0之后,(A)=_1BH__。 5、在80C51单片机中,带借位减法SUBB指令中,差的D7需借位时,_CY_=1,差的D3需借位时,AC_=1。 6、80C51单片机中,在调用子程序前,用_PUSH__指令将子程序中所需数据压入堆栈,进入执行子程序时,再用___POP__指令从堆栈中弹出数据。 7、在十六进制数与ASCII码值的转换过程中,当十六进制数在0~9之间时,其对应的ASCII码值为该十六进制数加___30H______。 8、外部中断INT0和INT1有两种触发方式:___电平触发方式_____和__边沿触发方式__。 9、在单片机串行通信中,依发送与接收设备时钟的配置情况,串行通信可以分为 __异步通信___和__同步通信_。10、若累加器A中的数据为

0111 0010B,则PSW中的P=__0___。二、选择题(每题1分,共15分) 1、单片机是在一片集成电路芯片上集成了以下部分,除了( D ) A、微处理器 B、存储器 C、I/O接口电路 D、串口通信接口2、一个机器周期包含多少个晶振周期(D ) A、2 B、6 C、8 D、12 3、80C51单片机有21个特殊功能寄存器,其中与串行口相关的有以下几个,除了( B ) A、SBUF B、TCON C、SCON D、PCON 4、 80C51系列单片机具有4个8位的并行I/O口,其中哪个口工作时需要外接上拉电阻(A ) A、P0 B、P1 C、P2 D、P3 5、寄存器中的内容为地址,从该地址去取操作数的寻址方式称为( C ) A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、变址寻址6、源地址为1005H。目的'地址为 0F87H。当执行指令“JC rel”时,rel为( B )。A、7EH B、80H C、82H D、84H 7、若(R0)=30H,(30H)=75H,(75H)=90H,执行指令MOV A,@R0后,(A)=__B____。A、30H B、75H C、90H D、00H 8、下列哪个语句是起始地址设置伪指令( A )。A、ORG B、END C、DW D、EQU 9、在80C51单片机中,各中断优先级最低的是( D )。A、外部中断0 B、外部中断1 C、定时器0 D、计数器1 10、80C51单片机的中断响应时间至少需要( C )个完整的机器周期。A、1 B、2 C、3 D、5 11、在80C51单片机中,

微机原理(第三版)课后练习答案

微机原理(第三版)课后练习答案

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分,共25分) 1、指令由和组成。 2、I/O接口是微机系统的一种部件,它被设置在与之间。 3、已知[X]补=(11110011)B,则真值X= 。 4、IF是标志;SP称为;CS称为。 5、段地址为A382H,偏移地址为1234H,则对应的物理地址为。 6、8086CPU由和两部分组成。 7、CPU的基本时间计量单位称为周期。 8、SP总是指向堆栈的。 9、指令MOV AX,[BP+200]读取的是段的存储单元。 10、由8个二进制位组成的基本数据表示单元称为。 11、访存空间的是指CPU所能访问的。 12、某存储器芯片的存储容量为32K×8,则该芯片有个存储单元。 13、PENTIUM的工作模式有、、。 14、指令由、和操作数字段组成。 15、8086CPU指令系统中,用20条地址线寻址I/O端口,其端口地址范围 为。 16、电可擦除的可编程只读存储器的英文简写为。 17、逻辑地址由段基值和___ ___组成。 二、判断题(每小题1.5分,共15分,在每小题 后面的括号中认为正确的画“√”,错误的画“×”) 1、堆栈是处在CPU内部的一个部件。() 2、8086的状态标志位有9个。() 3、IP是EU中的寄存器。()

4、IP中存放的是正在执行的指令的偏移地址。() 5、全地址译码法是指存储器芯片上的所有地址均参加译码。() 6、EPROM是电可擦除的PROM。() 7、中断是指CPU执行程序过程被意外暂停。() 8、EEPROM中存储的数据不会因掉电而丢失。() 9、SRAM是不用刷新的RAM。() 10、总线周期是指CPU通过总线访问一次内存或外设的时间。() 三、单项选择题(每题1.5分,共15分) 1)。 (A) SP (B) IP (C)BP (D)CS 2、源变址寄存器是()。 (A) SI (B)DI (C)SP (D)DX 3、下面4个标志中属于控制标志的是()。 (A) CF (B)DF (C)SF (D)ZF 4、LEA BX,BUFF 指令的功能是()。 (A)将存储单元BUFF的地址送给BX。 (B)将存储单元BUFF的数据送给BX。 (C)将存储单元BUFF的偏移地址送给BX。 (D)将存储单元BUFF的段地址送给BX。 5、DOS功能调用的子功能号存放在()寄存器中。 (A) AH (B)AL (C)DH (D)DL 6、采用DMA方式的I/O系统中,其基本思想是在()间建立直接的数据通道。 (A) CPU与外设(B)主存与外设(C)外设与外设(D)CPU与主存 7、设SP=1110H,执行PUSH AX 指令后,SP的内容为()。 (A) SP=1112H (B)SP=110EH (C)SP=1111H (D)SP=110FH 8、语句DAI DB 2 DUP(3,5,7)汇编后,与该语句功能等同的语句是()。 (A) DAI DB 3,5,7 (B)DAI DB 2,3,5,7 (C)DAI DB 3,5,7,2 (D)DAI DB 3,5,7,3,5,7 9、给定AL=80H,CL=02H,则SAR AL ,CL指令执行后的结果是()。 (A) AL=40H (B)AL=20H (C)AL=0C0H (D)AL=0E0H 10、对于输入端口,应具有下面何种功能()。 (A)应具备数据缓冲功能。 (B)应具备数据锁存功能。 (C)应同时具备数据缓冲功能和数据锁存功能。 (D)具备缓冲功能和数据锁存功能中的任一种。 四、名词解释题(每题5分,共25分)

微机原理及应用课程

微机原理及应用课程学习总结与例程分析 班级:xxxxx 学号:xxxxx 姓名:xxxx 系部:机械工程学院

一、课程学习总结 通过对这门课程的学习,我对8086/8088单片机有了较为深刻的认识。课程分为理论课和实验课,在理论课上,我由浅入深的了解了微型计算机的产生和发展、微机的系统组成和基本结构、微型计算机的工作过程。以及8086\8088单片机的内部逻辑结构、外部引脚功能、存储器、指令系统中的寻址与逻辑算术运算、微型计算机存储器接口技术、输入输出及中断、模拟量数字量的转换、定时器\计数器、微机接口技术的应用等知识。 而在实验课上,我先学习了汇编软件win-Masm的使用,明白了汇编程序从编写到执行即编程→.ASM→编译→.OBJ→连接→.EXE→加载→内存中的程序→执行的过程。然后又学习使用了模拟仿真软件Protues和汇编语言开发编写软件Keilc51。再通过汇编小程序、延时控制、按键控制、流水灯等几个实验,更是让我了解到了汇编语言的强大与神奇之处,也激发起了我深厚的学习兴趣也锻炼了我的动手能力。 这门课程很注重系统性,和实用性,前后关联性很强,并有大量的程序和硬件设计类的案例,使学生能够深入了解计算机的原理、结构和特点,以及如何运用这些知识来设计一个实用的微型计算机系统。具体来说,就是掌握Intel8086/8088微型计算机系统地组成原理,熟练运用8086宏汇编语言进行程序设计,熟悉各种I/O接口芯片的配套使用技术,并通过一定的课程实验与实践,进一步提高系统设计的能力,使学生能够完成实用的微

型计算机系统软件的初步设计。 同时,我也对这门《微机原理与接口技术》课程中的“接口”有了深刻的理解与认识。首先是计算机接口技术的基本原理。计算机系统由中央处理器(CPU)、存储器、IO系统组成,在发展的初期,CPU与各模块之间采用点对点的方式直接连接,集成电路发展之后,才出现以总线为中心的标准结构。 计算机接口技术,实现了各个外部终端与系统内存的信息传递,与指令下达。其次是并行/串行接口技术,1)并行接口,并行接口传输速率高,一般不要求固定格式,但不适合长距离数据传输。2)串行接口,串行通信是将数据的各个位一位一位地,通过单条1位宽传输线按顺序分时传送,即通信双方一次传输一

微机原理与接口技术李珍香版课后习题6参考答案

习题6 6.1 微型机系统中共有哪几类总线,简述各类总线的应用场合? 参考答案: 按总线功能或信号类型来分,有数据总线、地址总线和控制总线。 按总线的层次结构分来为,有: CPU总线:微机系统中速度最快的总线,主要在CPU内部,连接CPU内部部件,在CPU周围的小范围内也分布该总线,提供系统原始的控制和命令。 局部总线:在系统总线和CPU总线之间的一级总线,提供CPU和主板器件之间以及CPU到高速外设之间的快速信息通道。 系统总线:也称为I/O总线,是传统的通过总线扩展卡连接外部设备的总线。由于速度慢,其功能已经被局部总线替代。 通信总线:也称为外部总线,是微机与微机,微机与外设之间进行通信的总线 6.2 采用标准总线结构的微机系统有何优点? 参考答案: (1)可以简化系统结构,便于系统设计制造。 (2)大大减少连线数目,便于布线,减小体积,提高系统的可靠性。 (3)便于接口设计,所有与总线连接的设备均可采用类似的接口。 (4)便于系统的扩充、更新与灵活配置,易于实现系统模块化。 (5)便于设备的软件设计和故障的诊断、维修等。 6.3为什么要使用标准总线?总线标准一般应包括哪些特性规范? 参考答案: 使用标准总线,不仅可以简化设计,有利于组织大规模专业化生产,缩短研制周期,同时也为灵活配置系统以及系统的升级、改造和维护带来了方便。 总线标准的一般特性规范包含: (1)物理特性定义总线物理形态和结构布局,规定总线的形式(电缆、印制线或接插件)及具体位置等。 (2)机械特性定义总线机械连接特性,其性能包括接插件的类型、形状、尺寸、牢靠等级、数量和次序等。 (3)功能特性定义总线各信号线功能,不同信号实现不同功能。 (4)电气特性定义信号的传递方向、工作电平、负载能力的最大额定值等。 6.4 目前有哪几种典型的系统总线?各有何特点? 参考答案:典型的系统总线有如ISA总线、PCI总线、AGP总线、PCI-Express总线等。 ISA总线特点: (1)ISA总线具有比XT总线更强的支持能力。 (2)ISA总线是一种多主控模块总线,允许多个主控模块共享系统资源。 (3)ISA总线可支持8种类型的总线周期。 (4)共包含98条引脚信号。 PCI总线特点: 高速性、即插即用性、可靠性、复杂性、自动配置、共享中断、扩展性好等 ·1·

微机原理及应用 第4章 习题及答案

CH04 存储系统 习题与思考题 1.存储器的哪一部分用来存储程序指令及像常数和查找表一类的固定不变的信息?哪一部分用来存储经常改变的数据? 解答:只读存储器ROM;随机存储器RAM。 2.术语“非易失性存储器”是什么意思?PROM和EPROM分别代表什么意思? 解答:“非易失性存储器”是指当停电后信息会丢失;PROM--可编程序的只读存储器PROM(Programmable ROM),EPROM--可擦除的可编程的只读存储器EPROM(Erasible Programmable ROM)。 3.微型计算机中常用的存储器有哪些?它们各有何特点?分别适用于哪些场合? 解答: 双极型半导体存储器 随机存储器(RAM) MOS存储器(静态、动态) 主存储器可编程只读存储器PROM 可擦除可编程只读存储器EPROM,EEPROM 只读存储器(ROM)掩膜型只读存储器MROM 快擦型存储器 存储器磁盘(软盘、硬盘、盘组)存储器 辅助存储器磁带存储器 光盘存储器 缓冲存储器 4.现代计算机中的存储器系统采用了哪三级分级结构,主要用于解决存储器中存在的哪些问题? 解答:目前在计算机系统中通常采用三级存储器结构,即使用高速缓冲存储器、主存储器和辅助存储器,由这三者构成一个统一的存储系统。从整体看,其速度接近高速缓存的速度,其容量接近辅存的容量,而位成本则接近廉价慢速的辅存平均价格。三级结构主要用于解决速度、容量和成本的问题。 5.试比较静态RAM和动态RAM的优缺点,并说明有何种方法可解决掉电时动态RAM中信息的保护。 解答:静态RAM----存储一位信息的单元电路可以用双极型器件构成,也可用MOS器件构成。双极型器件构成的电路存取速度快,但工艺复杂,集成度低,功耗大,一般较少使用这种电路,而采用MOS器件构成的电路。静态RAM的单元电路通常是由6个MOS 管子组成的双稳态触发器电路,可以用来存储信息“0”或者“1”,只要不掉电,“0” 或“1”状态能一直保持,除非重新通过写操作写入新的数据。同样对存储器单元信息的读出过程也是非破坏性的,读出操作后,所保存的信息不变。使用静态RAM的优点是访问速度快,访问周期达20~40ns。静态RAM工作稳定,不需要进行刷新,外部电

微机原理及应用核心笔记

第1章、微型计算机基础知识 §1.1 微机的一般概念和基本组成 (一)冯. 诺依曼结构计算机 从第一代电子计算机开始到现代计算机,其制造技术发生了极大的变化,但我们目前使用的各类计算机大都沿用了冯. 诺依曼结构。概括起来冯. 诺依曼结构有如下要点: 1、采用二进制形式表示数据和指令; 2、将程序(包括数据和指令序列)事先存储到主计算机内,即:程序顺序存储方式; 论文:程序控制、存储程序 3、计算机系统由运算器、控制器、存储器、输入和输出装置等组成。 (二)微型机的基本组成 微型计算机系统由计算机硬件系统和软件系统组成。(微机系统、微机、CPU)P3 微型计算机系统的硬件由微型计算机(主机)和外围(输入、输出)设备组成。 主机由: CPU(中央处理器:算术、逻辑运算部件;累加器、寄存器;控制部件;内部总线);主存储器(ROM、RAM);输入、输出接口;系统总线组成。 微型计算机系统的软件由系统软件、工具软件和应用软件组成。 CPU是计算机的心脏。是一片超大规模集成电路芯片,它的功能直接决定了计算机的性能好坏。 CPU的主要功能: ●可进行算术、逻辑运算; ●临时保存数据; ●能对指令进行译码,并执行规定的动作; ●能与内存或外设交换数据; ●能提供整个系统需要的定时和控制; ●可以响应其它设备的中断请求 CPU的主要参数有: (1)主频 (2)一次能处理的数据位数。它由CPU的数据线条数决定。 (3)能带多少存储器和I/O口。它由CPU的地址线条数决定。 如: Pentium 80586 CPU为32位CPU,主频可为60MHZ,可带4GB存储器。 Pentium pⅡCPU为32位CPU,主频可为130MHZ。 PC/XT机,CPU是Inter 8086,16位,主频8MHZ,可1MB存储器。 存储器用来存储程序和数据。 存储器分内存和外存。 (1)内存 CPU用地址线直接访问的存储器称内存,内存又分RAM和ROM。 ROM是只读存储器,其中存放的程序和数据是计算机生产厂用特殊方式写入的,计算机不加电时也不丢失。 RAM叫可读可写存储器,RAM中一般存放用户开发的程序和数据,只要一掉电,RAM中的数据全部丢失。 人们常说的计算机容量,就是指内存。 (2)外存 外存是CPU用输入输出方式存取的存储器。一般指软盘和硬盘。它的特点是容量大,速度慢,价格低。目前软盘的容量一般为1.4MB(兆字节),硬盘一般达到10GB(10千MB)。 总线是连接多个装置或功能部件的一组公共信息通道。 微机中一般有三种总线:

微机原理[第三版]课后练习答案解析

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.指令队列缓冲器

《微机原理及应用》第一章习题答案

《微机原理及应用》第一章习题答案 习题与思考题 1.1、在计算机中为什么都采用二进制数而不采用十进制数?二进制数有哪两种缩写形式?[解] 二进制数只有两个状态,而十进制数有十个状态,…… 有八进制和十六进制两种缩写形式:xxxxQ,xxxxH。 1.2、将下列十进制数转换为二进制数:50, 0.83, 24.31, 79.75, 199, 73.25 [解] 50→00110010B; 0.83→0.1101010001…B; 24.31→11000.01001111…B 79.75→01001111.11B; 199→11000111B; 73.25→1001001.01B 1.3、将下列十进制数转换为八进制和十六进制数:39,99.735,54.625,127,119 [解] 39→47Q→27H; 99.735→123.5702Q→63.BC28H; 54.625→66.5Q→36.AH 127→177Q→7FH; 119→167Q→77H 1.4、将下列二进制数转换为十进制数: 11 1101.101B, 10 0101.11B, 1001 1001.001B, 110 0110.011B 1101 1010.1101B [解] 11 1101.101B→61.625; 10 0101.11B→37.75; 1001 1001.001B→153.125 110 0110.011B→102.375; 1101 1010.1101B→218.8125 1.5、完成下列转换: (1)10 110.10 111B 转换为十六进制数; (2)34.97H转换为八进制数和十进制数; (3)0BA.7FH转换为二进制数和八进制数; (4)43.27Q转换为二进制数和十六进制数; [解] (1)10 110.10 111B→16.B8H; (2)34.97H→64.456Q→52.59 (3)0BA.7FH→10111010.01111111B→272.376Q (4)43.27Q→100011.010111B→23.5CH 1.6、设机器字长为8位,写出下列用真值表示的二进制数的原码、补码和反码: +0010101,+1111111,+1000000,-0010101,-1111111,-1000000 [解] +0010101的原码、补码和反码均为00010101B; +1111111的原码、补码和反码均为01111111B; +1000000的原码、补码和反码均为01000000B; -0010101的原码为10010101B, 补码为11101011B, 反码为11101010B; -1111111的原码为11111111B, 补码为10000001B, 反码为10000000B; -1000000的原码为11000000B, 补码为11000000B, 反码为10111111B。 1.7、设机器字长为8位,最高位为符号位,用二进制补码运算法则对下列各式进行运算: (1) 17+7;(2)8+18;(3)9+(-7);(4)-26+6;(5)8-18; (6)19-(-17);(7)-25-6;(8)87-15 [解] (1) 17+7 (2)8+18 (3)9+(-7) [17]补→00010001B [ 8]补→00001000B [ 9]补→00001001B +) [ 7]补→00001111B +) [18]补→00010010B +) [-7]补→11111001B 00011000B→24 00011010B→26 00000010B→2

武汉大学微机原理及应用试卷及答案

武汉大学2007~2008年第一学期 微机原理与接口技术考试试卷(A) 专业学号姓名成绩 一、填空题(每空1分,共20分) 1. 完成下列程序段,从240H端口读取数据,测试其是否为20H,若不是则将241H端口清0,否则转向NEXT。 MOV DX , (1) (2) AL, DX (3) AL, 20H (4)______ MOV DX,(5) MOV AL,0 OUT DX,AL ….. NEXT: …… 2. 图1中的一个共阴极数码管通过8255A和系统ISA总线相连,请完成下列程序段,使该数码管稳定显示“8”(字型编码为7FH)。 图1 MOV DX, (6) MOV AL, (7) OUT DX, AL ;初始化82C55 MOV DX, (8) MOV AL, (9) (10) ;数码管稳定显示“8” 3..8086 CPU有条地址线,可形成的存储器地址空间,地址范围为。 4..中断类型号为24H的中断向量存放在开始的存储单元。 5..一台微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________。 6..一个数据的有效地址EA = 1234H,且DS =5678H,则该数据在内存中的物理地址是________,该数据段的首单元的物理地址是________,末单元的物理地址是________。

7.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________。8.若8086 CPU引脚状态是M/IO=1,RD=1,WR=0,则此时执行的操作是________。 二、综合题(80分) 1.(10分) 一个异步串行通信口,通过TXD发送一帧数据的字符格式如图2的实线所示: 图2 如果线路上传送的字符格式包括7位ASCII码数据,一位奇偶校验位,一位停止位。要求:(1) 写出该帧字符所传送的数据值,并说明是奇校验还是偶校验。(2) 如果波特率为600bps,请计算传送上面这一帧数据所需要的时间。(3) 若波特率系数K=16,请计算发送时钟频率TXC的频率值。 2. (10分) 图3为两级译码构成口地址译码电路,PS输出低电平为片选信号。试问 图3 图4 (1) 开关K上合,PS的寻址范围是________。(2) 开关K下合,PS的寻址范围是________。 (3) 开关K下合,A3改接B,A4改接A,则PS的寻址范围是________________。 (4) 请用二进制表示法写出图4的译码电路所决定的端口地址。 3. (20分) 某系统外接电路如图5,8255A口地址为2F0H~2F3H,请设计源程序,一次性 的测试开关的位置,当K闭合时,LED亮,K断开时LED灭(提示:C口高4位应为方式0输入,低4位为方式0输出)。 图5 CODE SEGMENT ASSUME CS:CODE BEG: ;C口初始化

相关主题
文本预览
相关文档 最新文档