当前位置:文档之家› 微机原理与接口技术第二版课后习题答案龚尚福版

微机原理与接口技术第二版课后习题答案龚尚福版

微机原理与接口技术第二版课后习题答案龚尚福版
微机原理与接口技术第二版课后习题答案龚尚福版

微机原理与接口技术第二版课后习题答案龚尚福版 The following text is amended on 12 November 2020.

微机原理与接口技术部分答案第二版

主编:龚尚福

8086微处理器由哪几部分组成各部分的功能是什么16355

【解】:按功能可分为两部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)。

总线接口单元BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。它提供了16位双向数据总线、20位地址总线和若干条控制总线。

其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。CPU执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O端口中。

执行单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执行单元的控制电路。这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。EU对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。如果指令队列缓冲器中是空的,那么EU 就要等待BIU通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向。

简述8086 CPU的寄存器组织。

【解】:(1)通用寄存器:通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。当用作16位时,称为AX、BX、CX、DX。当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址。这样,4个16位寄存器就可当作8个8位寄存器来使用。

(2)段寄存器:段寄存器共有4个CS、DS、SS、ES。代码段寄存器CS表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供;堆栈段寄存器SS指定当前堆栈的起始地址;数据段寄存器DS指示当前程序使用的数据所存放段的起始地址;附加段寄存器ES则指出当前程序使用附加段地址的起始位置,该段一般用来存放原始数据或运算结果。

(3)指针和变址寄存器:堆栈指针SP用以指出在堆栈段中当前栈顶的地址。入栈(PUSH)和出栈(POP)指令由SP给出栈顶的偏移地址。基址指针BP指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。变址寄存器SI和DI用来存放当前数据段中某个单元的偏移量。

(4)指令指针与标志寄存器:指令指针IP的功能跟Z80 CPU中的程序计数器PC 的功能类似。正常运行时,IP中存放的是BIU要取的下一条指令的偏移地址。它具有自动加1功能,每当执行一次取指令操作时,它将自动加1,使它指向要取的下一内存单元,每取一个字节后IP内容加1,而取一个字后IP内容则加2。某些指令可使IP值改变,某些指令还可使IP值压入堆栈或从堆栈中弹出。标志寄存器FLAGS是16位的寄存器,8086共使用了9个有效位,标志寄存器格式如图所示。其中的6位是状态标志位,3位为控制标志位。状态标志位是当一些指令执行后,表征所产生数据的一些特征。而控制标志位则可以由程序写入,以达到控制处理机状态或程序执行方式的表征。

试述8086 CPU标志寄存器各位的含义与作用。

【解】:(1) 6个状态标志位的功能分别叙述如下:

CF(Carry Flag)——进位标志位。当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1;否则为0。

PF(Parity Flag)——奇偶标志位。该标志位反映运算结果中1的个数是偶数还是奇数。当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。

AF(Auxiliary carry Flag)——辅助进位标志位。当执行一个加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。

ZF(Zero Flag)——零标志位。若当前的运算结果为零,ZF=1;否则ZF=0。

SF(Sign Flag)——符号标志位。它和运算结果的最高位相同。

OF(Overflow Flag)——溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。

(2) 3个控制标志位用来控制CPU的操作,由指令进行置位和复位。

DF(Direction Flag)——方向标志位。它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。

IF(Interrupt enable Flag)——中断允许标志位。它用来控制8086是否允许接收外部中断请求。若IF=1,8086能响应外部中断,反之则不响应外部中断。

注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU内部中断请求。

TF(Trap Flag)——跟踪标志位。它是为调试程序而设定的陷阱控制位。当该位置“1”时,8086 CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次内部中断。当该位复位后,CPU恢复正常工作。

8086中,存储器为什么采用分段管理

【解】:8086/8088的地址总线宽度为20位,其最大寻址空间是1MB。而其他微处理器则在实模式下只能访问前1 MB的存储器地址。实际上,实模式就是为8086/8088而设计的工作方式,它要解决在16位字长的机器里怎么提供20位地址的问题,而解决的办法是采用存储器地址分段的方法。程序员在编制程序时要把存储器划分成段,在每个段内地址空间是线性增长的。每个段的大小可达64KB,这样段内地址可以用16位表示。存储器分段的方法虽然给程序设计带来一定的麻烦,但这种方法可以扩大存储空间,而且对于程序的再定位也是很方便的。

什么是逻辑地址什么是物理地址如何由逻辑地址计算物理地址

【解】:物理地址:完成存储器单元或I/O端口寻址的实际地址成为物理地址,CPU型号不同其物理地址也不同。物理地址是指CPU和存储器进行数据交换时实际所使用的地址,而逻辑地址是程序使用的地址。物理地址由两部分组成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器给出,后者是指存储单元所在的位置离段起始地址的偏移距离。当CPU寻址某个存储单元时,先将段寄存器的内容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。在取指令时,CPU自动选择代码段寄存器CS,左移4位后,加上指令提供的16位偏移地址,计算出要取指令的物理地址。堆栈操作时,CPU自动选择堆栈段寄存器SS,将其内容左移4位后,加上指令提供的16位偏移地址,计算出栈顶单元的物理地址。每当存取操作数时,CPU会自动选择数据段寄存器(或附加段寄存器ES),将段基值左移4位后加上16位偏移地址,得到操作数在内存的物理地址。

在80x86微机的输入/输出指令中,I/O端号通常是由DX寄存器提供的,但有时也可以在指令中直接指定00H~0FFH的端口号。试问可直接由指令指定的I/O端口数是多少【解】:由于在80x86的输入/输出指令中,可以直接在00H~0FFH指定,所以直接由指令指定的I/O端口数是256。

指令分成几部分每部分的作用是什么

【解】:每条指令由两部分组成:操作码字段和地址码字段。操作码字段:用来说明该指令所要完成的操作。

地址码字段:用来描述该指令的操作对象。一般是直接给出操作数,或者给出操作数存放的寄存器编号,或者给出操作数存放的存储单元的地址或有关地址的信息。

指出下列MOV指令的源操作数的寻址方式:

MOV AX,1234H

MOV AX,BX

MOV AX,[BX]

MOV AX,TABLE;TABLE ;TABLE是一个变量名

MOV AX,[1234H]

MOV AX,[BX+1234H]

MOV AX,[BP][SI]

MOV AX,[BX+SI-1234H]

【解】:MOV AX,1234H 立即寻址

MOV AX,BX 寄存器寻址

MOV AX,[BX] 寄存器间接寻址

MOV AX,TABLE ;TABLE是一个变量名直接寻址方式

MOV AX,[1234H] 直接寻址方式

MOV AX,[BX+1234H] 寄存器相对寻址

MOV AX,[BP][SI] 基址变址寻址

MOV AX,[BX+SI-1234H] 相对地址变址寻址

设:(DS)=2000H,(BX)=0100H,(SS)=1000H,(BP)=0010H,TABLE的物理地址为2000AH,(SI)=0002H。求下列每条指令源操作数的存储单元地址:MOV AX,[1234H]

MOV AX,[BX]

MOV AX,TABLE[BX]

MOV AX,[BP]

MOV AX,[BP][SI]

【解】:存储单元地址:(DS)×10H + EA =2000H×10H+1234H=21234H

存储单元地址:(DS)×10H +(BX)=2000H×10H+0100H=20100H

存储单元地址:(DS)×10H+EA=2000H×10H+0100H+000AH=2010AH

存储单元地址:(SS)×10H+EA=1000H×10H+0010H=10010H

储单元地址:(SS)×10H+EA=1000H×10H+0010H+0002H =10012H 设ARRAY是字数组的首地址,写出将第5个字元素取出送AX寄存器的指令,要求使用以下几种寻址方式:

⑴直接寻址⑵寄存器间接寻址⑶寄存器相对寻址⑷基址变址寻址【解】:(1)直接寻址(2)寄存器间接寻址(3)寄存器相对寻址(4)基址变址寻址 MOV AX, ARRAY+8 MOV BX, ARRAY+8 MOV BX, 8 LEA BX, ARRAY

MOV AX, [BX] MOV AX, ARRAY[BX] MOV SI, 8

MOV AX,[BX+SI]设当前(CS)=2000H,(IP)=2000H,标号NEXT定义在当前代码段偏移地址是0100H处,(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=30H,数据段定义的字变量ARRAY的内容为1000H,试写出下列转移指令的目标转移地址

⑴ JMP NEAR PTR

⑵ JMP BX

⑶ JMP WORD PTR ARRAY

【解】:⑴ JMP NEAR PTR 此转移指令的目标转移地址为:20100H

⑵ JMP BX 此转移指令的目标转移地址为:21000H

⑶ JMP WORD PTR ARRAY 此转移指令的目标转移地址为:23000H

设当前(CS)=2000H,(IP)=2000H,标号NEXT定义在3000H:1000H处。当前(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=03H,(11002H)=00H,(11003H)=30H,数据段定义的字变量ARRAY的内容为0300H,(ARRAY+2)=3000H,试写出下列转移指令的目标转移地址:

⑴ JMP FAR PTR NEXT

⑵ JMP DWORD ARRAY

【解】:⑴ JMP FAR PTR NEXT 此转移指令的目标转移地址为:31000H

⑵ JMP DWORD ARRAY 此转移指令的目标转移地址为:30300H

下列每组指令有何区别

(1) MOV AX,1234H MOV AX,[1234H]

(2) MOV AX,TABLE MOV AX,[TABLE]

(3) MOV AX,TABLE LEA AX,TALBE

(4) MOV AX,BX MOV AX,[BX]

【解】:(1) MOV AX,1234H 将立即数1234H送到寄存器AX中

MOV AX,[1234H] 将存储区[1234H]中的内容送到寄存器AX中

(2) MOV AX,TABLE 将标号TABLE的地址送到寄存器AX中

MOV AX,[TABLE] 将存储区[TABLE] 中的内容送到寄存器AX中

(3) MOV AX,TABLE 将标号TABLE的地址送到寄存器AX中

LEA AX,TALBE 将标号TABLE的地址送到寄存器AX中

(4) MOV AX,BX 寄存器寻址

MOV AX,[BX] 寄存器间接寻址

MOV CS,AX指令正确吗

【解】:MOV CS,AX指令不正确。因为CS是指令寄存器,由系统自动改变,不能由指令进行更改。

写一指令序列,将3456H装入DS寄存器。

【解】:MOV AX, 3456H

MOV DS, AX

若正在访问堆栈中03600H单元,则SS和SP的值是多少

【解】:若正在访问堆栈中03600H单元,则SS和SP的值会有好多组合,其中可以有SS是0300H,SP是0600H。

若(SS)=2000H,(SP)=000AH,先执行将字数据1234H和5678H压入堆栈的操作,再执行弹出一个字数据的操作,试画出堆栈区及SP的内容变化过程示意图(标出存储单元的物理地址)。

【解】:物理地址=(SS)×10H+SP

解释XLAT指令是怎样转换AL

XLAT指令将BCD

码0~9转换成对应的ASCII码,并将ASCII码存入数据ARRAY中。

【解】:XLAT指令是将AL的内容替换成存储单元中的一个数,往往用于代码转换。使用此指令前,先在数据段建立一个表格,表格首地址存入BX寄存器,欲取代码的表内位移量存入AL寄存器中。XLAT指令将(AL)值扩展成16位,与(BX)相加形成一个段偏移地址,段地址取(DS),据此读出代码送入AL寄存器。

程序如下:TABLE DB 30H, 31H, ┅, 39H

ARRAY DB 1O DUP()

MOV CL, 10

MOV SI, 0

MOV BX, OFFSET TABLE

MOV AL, AL

AGAIN: XLAT

MOV [SI], AL

INC SI

INC AL

LOOP AGAIN

若(AX)=0001H,(BX)=0FFFFH,执行ADD AX,BX之后,标志位ZF、SF、CF和OF各是什么

【解】: (AX)= 0001H = 0000 0000 0000 0001 B

+ (BX)=0FFFFH = 1111 1111 1111 1111 B

(AX)= 0001H = 1 0000 0000 0000 0000 B 则:ZF=1、SF=0、CF=1、OF=0

写一指令序列完成将AX寄存器的最低4位置1,最高3位清0,第7、8、9位取反,其余位不变。

【解】: OR AX, 000FH (OR AX, 0000 0000 0000 1111 B)

AND AX, 1FFFH (AND AX, 0001 1111 1111 1111 B)

XOR AX, 01C0H (XOR AX, 0000 0001 1100 0000 B)

试写出执行下列指令序列后AX寄存器的内容。执行前(AX)=1234H。

MOV CL,7

SHL BX,CL

【解】:(AX) = 1234H = 0001 0010 0011 0100 B

执行后:(AX) = 0 0011 0100 0000 000 B = 0001 1010 0000 0000 B = 1A00H 假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列指令中哪些是非法的它们的错误是什么

⑴ MOV BP,AL ⑵ MOV WORD_OP[BX+4*3][DI],SP ⑶ MOV WORD_OP1,WORD_OP2 ⑷ MOV AX,WORD_OP1[DX]

⑸ MOV SAVE WORD,DS ⑹ MOV SP,SS:DATA_WORD[BX][SI]

⑺ MOV [BX][SI],2 ⑻ MOV AX,WORD_OP1+WORD_OP2

⑼ MOV AX,WORD_OP1-WORD_OP2+100 ⑽ MOV WORD_OP1,WORD_OP1-WORD_OP2【解】:⑴ MOV BP,AL 两个操作数不匹配

⑵ MOV WORD_OP[BX+4*3][DI],SP

⑶ MOV WORD_OP1,WORD_OP2 两个内存单元之间不能直接传送数据

⑷ MOV AX,WORD_OP1[DX]

⑸ MOV SAVE WORD,DS

⑹ MOV SP,SS:DATA_WORD[BX][SI] 当基址为BX时,选取DS寄存器

⑺ MOV [BX][SI],2

⑻ MOV AX,WORD_OP1+WORD_OP2

⑼ MOV AX,WORD_OP1-WORD_OP2+100

⑽ MOV WORD_OP1,WORD_OP1-WORD_OP2

假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:⑴ ADD VAR1,VAR2 ⑵ SUB AL,VAR1

⑶ JMP LAB[SI] ⑷ JNZ VAR1

⑸ JMP NEAR LAB

【解】:⑴ ADD VAR1,VAR2

ADD两个操作数不能同时为存储单元,

MOV AX, VAR1

ADD AX, VAR2

⑵ SUB AL,VAR1

两个操作数不匹配

SUB AX, VAR1

⑶ JMP LAB[SI]

LAB与[SI]不能相加

JMP WORD PTR [SI]

⑷ JNZ VAR1

JNZ后面应是标号,不应是变量

JNZ LAB

⑸ JMP NEAR LAB

缺少PTR运算符

JMP NEAR PTR LAB

画图说明下列语句所分配的存储空间及初始化的数据值。

⑴ BYTE_VAR DB ’B YTE’,12,-12H,3 DUP(0,,2 DUP(1,2),)

⑵ WORD_VAR DW 5 DUP(0,1,2),,-5,,'BY','TE',256H

【解】:

假设程序中的数据定义如下:

PARTNO DW

PNAME DB 16 DUP()

COUNT DD

PLENTH EQU $-PARTNO

问PLENTH 的值为多少它表示什么意义

【解】:PLENTH 的值为22,它表示数据的个数。

有符号定义语句如下:

BUFF DB 1,2,3,’123’

EBUFF DB 0

L EQU EBUFF-BUFF

问L 的值是多少

【解】:PLENTH 的值为6。

假设程序中的数据定义如下:

LNAME DB 30 DUP()

ADDRESS DB 30 DUP()

CITY DB 15 DUP()

CODE-LIST DB 1,7,8,3,2

⑴ 用一条MOV 指令将LNAME 的偏移地址放入AX 。

⑵ 用一条指令将CODE_LIST 的头两个字节的内容放入SI 。

⑶ 写一条伪操作使CODE_LENGHT 的值等于CODE_LIST 域的实际长度。

【解】: ⑴ 用一条MOV 指令将LNAME 的偏移地址放入AX 。

MOV AX, OFFSET LANME

⑵ 用一条指令将CODE_LIST 的头两个字节的内容放入SI 。

MOV SI, WORD PTR CODE_LSIT

⑶ 写一条伪操作使CODE_LENGHT 的值等于CODE_LIST 域的实际长度。

CODE_LENGHT EQU CITY-CODE_LIST

试写出一个完整的数据段DATA_SEG ,它把整数5赋予一个字节,并把整数-1,0,2,5和4放在10字数组DATA_LIST 的头5个单元中。然后,写出完整的代码段,其功能为:把DATA_LIST 中头5个数中的最大值和最小值分别存入MAX 和MIN 单元中。

【解】:参考程序如下:

DATA_SEG SEGMENT

DB1 DB 5

DATA_LIST DB -1, 0, 2, 5, 4, 5 DUP()

COUNT DB 5

MAX DB

MIN DB

DATA_SEG ENDS

CODE_SEG SEGMENT

ASSUME CS:CODE_SEG, DS:DATA_SEG

START PROC FAR

PUSH DS

MOV AX, 0

PUSH AX

MOV AX, DATA_SEG

MOV DS, AX

LEA BX, DATA_LIST

MOV CX, COUNT-1

MOV AL, [BX]

MOV AH, [BX+1]

LOOP1: INC BX

CMP AH, AL

JAE LOOP1

XCHG AH, AL

LOOP2 INC BX

CMP AH, [BX]

JAE LIS

XCHG AH, [BX]

JMP LOP2

LIS: CMP AL , [BX]

JBE LOP2

XCHG AL, [BX]

LOOP2

MOV MAX, AH

MOV MIN, AL

RET

START ENDP

CODE_SEG ENDS

END START

给出等值语句如下:

ALPHA EQU 100

BETA EQU 25

GAMMA EQU 2

下列表达式的值是多少

⑴ ALPHA*100+BETA ⑵ ALPHA MOD GAMMA+BETA ⑶ (ALPHA+2)*BETA-2 ⑷ (BETA/3) MOD 5

⑸ (ALPHA+3)*(BETA MOD GAMMA) ⑹ ALPHA GE GAMMA

⑺ BETA AND 7 ⑻ GAMMA OR 3

【解】:⑴ ALPHA*100+BETA

100×10025=10025

⑵ ALPHA MOD GAMMA+BETA

100/(25+2)=19

⑶ (ALPHA+2)*BETA-2

(100+2)*25=2548

⑷ (BETA/3) MOD 5

(25/3) MOD 5=3

⑸ (ALPHA+3)*(BETA MOD GAMMA)

(100+3)*(25 MOD 2)=103

⑹ ALPHA GE GAMMA

100 GZ GAMMA=0FFFFH

⑺ BETA AND 7

25 AND 7=1

⑻ GAMMA OR 3

2 OR 3=3

对于下面的数据定义,三条MOV指令分别汇编成什么(可用立即数方式表示)

TABLEA DW 10 DUP()

TABLEB DB 10 DUP()

TABLEC DB ’1234’

MOV AX,LENGTH TABLEA

MOV BL,LENGTH TABLEB

MOV CL,LENGTH TABLEC

【解】:MOV AX,LENGTH TABLEA MOV AX, OOOAH

MOV BL,LENGTH TABLEB MOV BL, 0AH

MOV CL,LENGTH TABLEC MOV CL, O1H

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

FLDB DB

TABLEA DW 20 DUP()

TABLEB DB ‘ABCD’

⑴ MOV AX,TYPE FLDB ⑵ MOV AX,TYPE TABLEA

⑶ MOV CX,LENGTH TABLEA ⑷ MOV DX,SIZE TABLEA

⑸ MOV CX,LENGTH TABLEB

【解】:(1) MOV AX,TYPE FLDB (AX)= 1

(2) MOV AX,TYPE TABLEA (AX)= 2

(3) MOV CX,LENGTH TABLEA (CX)= 20

(4) MOV DX,SIZE TABLEA (DX)= 40

(5) MOV CX,LENGTH TABLEB (CX)= 1

解释下列概念:

中断DMA,中断源,中断向量中断向量表,不可屏蔽中断,通道FCB,中断嵌套,文件标记中断入口,可屏蔽中断

【解】:答:⑴当进程要求设备输入数据时,CPU把准备存放输入数据的内存起始地址以及要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器。

⑵发出数据传输要求的进行进入等待状态。此时正在执行的CPU指令被暂时挂起。进程调度程序调度其他进程占据CPU。

⑶输入设备不断地窃取CPU工作周期,将数据缓冲寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。

⑷ DMA控制器在传送完所有字节时,通过中断请求线发出中断信号。CPU在接收到中断信号后,转入中断处理程序进行后续处理。

⑸中断处理结束后,CPU返回到被中断的进程中,或切换到新的进程上下文环境中,继续执行。

中断源:引起中断的事件称为中断源。

中断向量表:每种中断都给安排一个中断类型号。80x86中断系统能处理256种类型的中断,类型号为0H~0FFH。如图所示的中断源,系统时钟的中断类型为08,键盘

为09,软中断中的除法错误的中断类型为0等。每种类型的中断都由相应的中断处理程序来处理,中断向量表就是各类型中断处理程序的入口地址表。

中断嵌套:正在运行的中断处理程序,又被其他中断源中断,这种情况叫做中断嵌套。

中断就是CPU在执行当前程序时由于内外部事件引起CPU暂时停止当前正在执行的程序而转向执行请求CPU暂时停止的内外部事件的服务程序,该程序处理完后又返回继续执行被停止的程序;中断向量是中断处理子程序的入口地址;地址范围是00000H-

003FFH。

实验一系统认识实验

一.实验目的

掌握TDN86/88教学实验系统的基本操作。

二.实验设备

TDN86/88教学实验系统一台。

三.实验内容及步骤

1.系统认识实验(1)

(1)程序的输入与修改

从3500H内存单元开始建立0-15共16个数据。

实验步骤:

a.使用串行通讯电缆将实验系统与PC机相连。

b.开启实验系统。

c.在系统软件所在目录(默认为C:\TANGDU\W8688)下运行文件进入集成操作软件环境,打开文件菜单选择新建,即可开始输入源程序。

d.输入程序后,在文件菜单中选择保存程序,注意文件名的格式,扩展文件名必须为*.ASM,例:。

e.在编译菜单中选择汇编(CTRL+F2)对源程序进行汇编,若源程序没有错误生成目标文件*.OBJ,若源程序中有错误则返回错误信息,根据错误信息对源程序进行修改后再进行汇编。

f.汇编无误后,在编译菜单中选择链接(CTRL+F3)对汇编生成的*.OBJ目标文件进行链接,链接信息显示于屏幕上,如没有错误,生成相应的可执行文件*.EXE。

g.在窗口菜单中选择调试(CTRL+1)打开调试窗口,出现系统提示符“>”后选择菜单中的装入程序,选择相应的*.EXE文件,填入程序段地址与偏移量(默认段地址0000,偏移量2000,一般不用修改),确定后PC开始将程序从磁盘装入到教学实验系统内存,提示装载完毕后使用U命令进行反汇编,检查程序是否正确装入。U命令输入格式为U0000:2000。

h.当发现源程序输入错误或需要调整时,在调试窗口下可用A命令来修改,如修改

(2

系统提供了单步运行、断点运行、连续运行等方式,具体操作如下:

a.单步运行:在“>”提示符下输入T↙或点击菜单中的单步运行执行,每运行一条指

令后会显示下一条待执行指令并显示变化寄存器的内容,重复T↙可一步一步运行直至程序结束。

b.连续运行:在“>”提示符下输入G=0000:2000↙(在系统默认段址CS=0000情况

下可直接输入G=2000↙)可连续运行程序,在运行过程中,可通过CTRL+BREAK或点击菜单中的停止来终止程序运行。

c.个断点,例如:

程序中断并显示当前各寄存器内容。GB是G命令的扩充,表示含断点连续运行程序,断点仅当系统复位时清除。

(3)内存单元的内容显示:

使用D0000:3500↙可查看3500H-350FH单元中的内容是否为0-15共16个数。(4)内存单元内容的修改:

若要修改某一单元内容,可进行如下操作,其中,“空格”键用于向待编辑单元的高地址方向移动地址,而“-”键则向反方向移动地址;用↙来确认输入,退出E

2.

将内存3500H单元开始的0-15共16个数传递到3600H单元开始的数据区中。

实验步骤:

(1)输入程序并检查无误,经汇编、连接后装入系统。

(2)E3500↙,在3500-3510单元中分别送入00、01、02…。

(3)G=0000:2000↙,运行程序,按CTRL+BREAK中断,返回监控。

(4)D3600↙,显示结果:3600 00 01 02 …。

实验二运算类编程实验

一.实验目的

1.掌握使用运算类指令编程及调试方法。

2.掌握运算类指令对各状态标志位的影响及其测试方法。

二.实验设备

TDN86/88教学实验系统一台

三.实验内容及步骤

8086/8088指令系统提供了实现加、减、乘、除运算的基本指令,可对二进制、BCD 码数据类型进行算术运算。

1.二进制双精度加法运算

计算X+Y=Z,将结果Z存入某存储单元。

本实验程序是双精度(2个16位,既32位)运算,利用累加器AX,先求低十六位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。

实验步骤:

(1)输入程序并检查无误,经汇编、连接后装入系统。(设:CS:0000H,IP:

2000H)

(2)用U0000:2000查看MOV AX,XXXX(DATA)语句,得到数据段段地址CS:XXXX。用E命令EXXXX:0000↙给XL,XH,YL,YH赋值存入二进制数A0 65 15 00和9E B7 21 00。

(3)G=0000:2000↙,运行程序。

(4)DXXXX:0008↙,显示计算结果:3E 1D 37 00 CC …。

(5)反复试几组数,考察程序的正确性。

2.十进制数的BCD码减法运算

计算X-Y=Z,其中,X、Y、Z为BCD码。

实验步骤:

(1)输入程序并检查无误,经汇编、连接后装入系统。(设:CS:0000H,IP:

2000H)

(2)用U0000:2000查看MOV AX,XXXX(DATA)语句,得到数据段段地址CS:XXXX。用E命令EXXXX:0000↙给X,Y赋值存入40和12的BCD码:00 04 02 01。

(3)G=0000:2000↙,运行程序。

(4)DXXXX:0004↙,显示计算结果:08 02 CC …。

(5)反复试几组数,考察程序的正确性。

3.乘法运算

本实验实现十进制数的乘法,被乘数和乘数均以BCD码形式存放于内存中,乘积在屏幕上显示。

实验步骤:

(1)输入程序并检查无误,经汇编、连接后装入系统。

(2)用U0000:2000↙查看MOV AX,XXXX(DATA)语句,得到数据段段地址CS:XXXX。用E命令EXXXX:0000↙给在对应数据段填入乘数与被乘数。

(3)G=0000:2000↙,运行程序,屏幕显示结果。用CTRL+BREAK可终止程序运行。(4)反复试几组数,考察程序的正确性。

四.思考题

1.编写有符号数A

1B

1

+A

2

B

2

的程序,A

1

、A

2

、B

1

、B

2

均为符号数。

2.编写两个数值长度不等的BCD码相加程序。

一.实验目的

1.掌握分支程序的结构。

2.掌握分支程序的设计、调试方法。

二.实验设备

TDN86/88教学实验系统一台

三.实验内容及步骤

1.比较两个字符串STR1与STR2是否相同,若相同则在屏幕上显示MATCH,不同则显

示NOMATCH。

2.设计一数据块间的搬移程序

设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,如图3-1所示。

图3-1

对于两个数据块分离的情况,如图3-1(a),数据的传送从数据块的首址开始,或者从数据块的末址开始均可。但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏,可以得出以上结论:

当源数据块首址>目的块首址时,从数据块首地址开始传送数据。

当源数据块首址<目的块首址时,从数据块末地址开始传送数据。

实验步骤:

(1)输入程序并检查无误,经汇编、连接后装入系统。

(2)用E命令在以SI为起址的单元中填入16个数。

(3)G=0000:2000↙,运行程序。

(4)用D命令查看DI为起址的单元中的数据是否与SI单元中的数据相同。

(5)试改变SI、DI的取值,观察在三种不同的数据块情况下程序的运行。

四.思考题

为什么当源数据块首址>目的块首址时,应从数据块首地址开始传送数据而当源数据块首址<目的块首址时,应从数据块末地址开始传送数据

一.实验目的

1.加深对循环结构的理解。

2.掌握循环结构程序设计的方法。

3.熟练掌握调试循环程序的方法。

二.实验设备

TDN86/88教学实验系统一台

三.实验内容及步骤

1.编制程序

计算式子1+2+3+…+99+100的结果。

2.求某数据区内负数的个数

设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得区内所包含负数的个数。

实验步骤:

(1)输入程序并检查无误,经汇编、连接后装入系统。

(2)E3000↙输入数据如下:

3000=06(数据个数)

3001=12 88 82 90 22 33

(3)G=0000:2000↙,运行实验程序。

(4)D=3007↙,显示结果03。

四.思考题

修改程序2,使其能分别求出数据区中正数、零和负数的个数。

一.实验目的

1.掌握分支、循环、子程序调用等基本的程序结构。

2.学习综合程序的设计、编制及调试。

二.实验设备

TDN86/88教学实验系统一台

三.实验内容及步骤

1.在数据区中存放着一组数,数据的个数就是数据缓冲区的长度,要求用气泡法对该

数据区中数据按递增关系排序。

设计思想:

a.从最后一个数(或第一个数)开始,依次把相邻的两个数进行比较,即第N个数与

第N-1个数比较,第N-1个数与第N-2个数比较等等;若第N-1个数大于第N 个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。此时,N 个数中的最小数将被排在N个数的最前列。

b.对剩下的N-1个数重复上步,找到N-1个数中的最小数。

c.重复第二步,直到N个数全部排序好为止。

实验步骤:

(1)输入程序并检查无误,经汇编、连接后装入系统。

(2)用E3000↙在3000-3009H数据区中任意放入10个无符号数。

(3)G=0000:2000↙,运行实验程序。

(4)用D=3000↙检查排序结果。

(5)反复修改数据区中的数,运行程序并观察结果,以验证程序的正确性。

2.学生成绩名次表

将分数为1-100之间的30个成绩存入首址为3000H的单元中,3000H+i表示学号为i的学生成绩。编写程序能在3100H开始的区域排出名次表,3100H+i为学号i的学生名次。

实验步骤:

(1)输入程序并检查无误,经汇编、连接后装入系统。

(2)将30个成绩存入首址为3000H的单元中。

(3)调试并运行实验程序。

(4)检查3100H开始的区域中的名次表的正确性。

四.思考题

1.请指出程序1中哪部分属于外循环,哪部分属于内循环

2.程序中对SI、CX压栈和弹栈的意义何在

3.修改程序2,使其能将3100H开始的区域中的名次表显示出来。

实验六中断特性及8259应用编程实验

一.实验目的

1.认识TDN86/88系统的中断特性。

2.掌握8259中断控制器的工作原理。

3.掌握8259可编程控制器的应用编程。

4.学习掌握8259级连方式的使用方法。

5.学习在接口实验单元上构造连接实验电路的方法。

二.实验设备

1.TDN86/88教学实验系统一台。

2.排线、导线若干。

三.实验内容及步骤

1.8259应用实验(1)

图6-1 实验(1)线路

按图6-1所示实验线路编写程序,使每次响应外部中断IRQ7时,显示字符“7”,中断10次后,程序退出。

实验步骤:

(1)按图6-1连接实验线路。

(2)输入程序并检查无误,经汇编、连接后装入系统。

(3)G=0000:2000运行实验程序。

(4)重复按KK2微动开关,显示屏上应用“7”来响应,直到按10次后,系统处于停机状态,用CTRL+BREAK返回监控。

2.8259应用实验(2)

图6-2 实验(2)线路

按图6-2所示实验线路,编写程序,完成下面的要求:

当无中断请求时,执行主程序,延时显示“main”,若有中断请求,则执行其中断服务程序,显示该中断号“6”或“7”;若正在执行较低级的中断服务程序,则允许比它优先级高的中断被响应(IRQ6>IRQ7)。主程序在执行过程中,每显示一个“main”,空一格。

实验步骤:

(1)按图6-2连接实验线路。

(2)输入程序并检查无误,经汇编、连接后装入系统。

(3)G=0000:2000↙,运行实验程序,则连续显示MAIN,先后按动KK1和KK2微动开关来模拟中断请求信号,记录请求顺序及显示结果。

3.8259级连实验

本实验是以系统中的8259作为主片,外接另一片8259作为从片,构成8259级连方式的中断实验线路,如图6-3所示,其中规定主片的IRQ7上连接一片从片,从片上的IRQ7接中断申请电路(R-S单脉冲触发器),并规定从片的中断矢量编号为30-

37H,其命令寄存器组编址为00和01。

图6-3 8259级连实验接线图

实验步骤:

(1)按图6-3连接实验线路,其中INTA连接必须在开机上电之后。

(2)输入程序并检查无误,经汇编、连接后装入系统。

(3)G=0000:2000↙,运行实验程序,并通过按动KK1微动开关向从片申请中断,每按动一次KK1,显示屏上显示一个“7”字符,表明CPU响应了一次中断。

微机原理与接口技术(第三版)课本习题答案

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

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

第一章 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章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=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微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

微机原理课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——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.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 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.375)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

微机原理课后作业答案(第五版)

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万条指令。

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

《微机原理与接口技术》参考答案

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 2 1. 为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2. 8086CPU哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元和执行单元。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3. 8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指

针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。4. 8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5. 在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。它们的含义如下:CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

微机原理课后答案

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 将下列十进制数转换为二进制数、十六进制数。 (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.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接 口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?

答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

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

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.掌握十六进制、二进制、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)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

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