32位微机原理考试重点文库.docx

32位微机原理考试重点文库.docx
32位微机原理考试重点文库.docx

1,原码:0表示“+”,I表示“一”,数值位与真值数值位相同。

反码:正数的反码与原码表示相同。负数反码符号位为1,数值位为原码数值各位取反。补码:正数的补码表示与原码相同。负数补码的符号位为1,数值位等于反码加1。[XJ补二[X」反+1负数直接求补:从最低位起,到出现第一个1以前原码中的数字不变,以后逐位取反, 但符号位不变。

2,各种编码方法的表数范围:

n+1位二进制编码x表示的整数范围:

原码、反码:?2n

补码:?2nWx<2n

8位原码、反码的表数范围是-127?+127,补码的表数范围是?128~+127; 16位原码、反码的表数范围是-32767?+32767,补码的表数范围是-32768?+32767

3,原码、反码、补码表示小结:

正数的原码、反码、补码表示均相同,

符号位为0,数值位同数的真值。

零的原码和反码均有2个编码,补码只有1个编码。

负数的原码、反码、补码表示均不同,

符号位为1,数值位:原码为数的绝对值

反码为每一位均取反码

补码为反码再在最低位+1

由[X]补求[-X]补:逐位取反(包括符号位),再在最低位+1

4,进位标志CF (Carry Flag):运算结果的最高位产生进位或借位时,或循坏指令也会影响该位。

奇偶标志PF (Parity Flag):运算结果的低8位小所含1的个数为偶数个,则该位置1。

辅助进位标,忐AF (Auxiliary Carry Flag):加减法运算时,如果第3位与第4位Z间有进位或借位产生,则该位置1。一般川于BCD运算中是否进行|?进制调整的判断依据。

零标志ZF (Zero Flag):运算结果为零,则该位置1。

符号标志SF (Sign Flag):与运算结果符号位(即最高位)相同。

溢出标志OF (Overflow Flag):当运算结果超出结果寄存器的表达范围时,该位置1。

跟踪标志TF (Trap Flag):控制CPU按调试的单步方式执行指令。

中断允许标志IF (Interrupt Enable Flag):控制CPU对?外部可屏蔽中断(INTR)的响应。

当IF=1时,允许CPU响应外部可屏蔽屮断;当IF=0时,禁止响应INTR,但不禁止CPU 对非屏蔽中断(NMI)的响应。

方向标志DF (Direction Flag):用于控制串操作指令中的地址变化方向。

5,立即寻址方式:8086 CFU指令系统中,有一部分指令所用的8位或16位操作数就在指令中提供,这种方式叫立即寻址方式。

■例如:

MOV AL, 80H;将十六进制数80H送入AL

MOV AX, 1090H;将1090H 送AX, AH 中为10H, AL 中为90H

寄存器寻址方式:如果操作数在CPU的内部寄存器中,那么寄存器名可在指令中指出。这种寻址方式就叫寄存器寻址方式。

■例如:

INC CX ;将CX的内容加1

MOV AX, BX ;将BX内容送AX, BX内容不变

ROL AH, 1 ;将AH中的内容不带进位循环左移一位

采用寄存器寻址方式的指令在执行时,操作就在CPU内部进行,不需要使用总线周期, 执行速度快。

直接寻址方式:使用直接寻址方式,数据在存储器中,存储单元有效地址EA由指令直接指出,所以直接寻址是对存储器进行访问时最简单的方式

例如:MOV AX, | 2000H ]

寄存器间接寻址方式:采用寄存器间接寻址方式时,操作数一定在存储器中,存储单元的有效地址由寄存器指出。这些寄存器可以是BX, BP, SI和DI,即有效地址等于其中某一个寄存器的值

寄存器相对寻址方式(直接变址寻址):操作数有效地址EA为基址或变址寄存器内容与指令中指定位移量之和,操作数在存储器中。可用寄存器及其对应的默认段情况与寄存器间接寻址方式相同。

基址变址寻址方式:用这种寻址方式时,操作数的有效地址等于基址寄存器的内容加上一个变址寄存器的内容,16位寻址时,基址寄存器可用BX和BP,变址寄存器可用SI 和DI;32位寻址时,基址寄存器可用任何32位通用寄存器,变址寄存器可用除ESP 以外的32位通用寄存器。

用MOV指令实现两内存字节单元内容的交换

1、M OV BL, [2035HJ;

MOV CL, |2045H|;

MOV |2045H|, BL;

MOV |2035H], CL;

2、M OV AL, [2035H];

XCHGAL, |2045H];

MOV [2035H],AL;

测试某状态寄存器(端口号27H)的第2位是否为1

IN AL, 27H

TEST AL, 00000100B

JNZ ERROR ;若第2位为1,转ERROR处理

设数据段:ADDR1 DF 1234567890ABH

贝lj LES EBX,ADDR1

指令执行后(ES)=1234H, (EBX)=567890ABH

【例题】实现两个无符号双字加法运算。设目的操作数存放在DX和AX寄存器中,其中DX存放高位字。源操作数存放在BX、CX中,其中BX存放高位字。如指令执行前(DX) =0002H, (AX) =0F365H, (BX) =0005H, (CX) =0E024H

指令序列为ADD AX, CX

ADC DX, BX

则第一条指令执行后,(AX)=0D389H, SF=1, ZF=O, CF=1, OF=0

第二条指令执行后,(DX)=0008H, SF=O, ZF=O, CF=O, OF=0 【例题】比较AL的内容数值大小。

CMP AL, 100; (AL) -100

JB BELOW ;(AL) <100,转到BELOW 处执行

SUB AL, 100; (AL) >=100, (AL) -100—AL

INC AH ;(AH) +1—AH

BELOW:???

【例题】设x、y、z均为双字长数,它们分别存放在地址为X, X+2; Y, Y+2;乙Z+2 的存储单元中,存放时高位字在高地址中,低位字在低地址中,编写指令序列实现w J x+y+24 - z,并用w和w+2单元存放运算结果。

MOV AX, X

MOV DX, X+2

ADD AX, Y

ADC DX, Y+2

ADD AX, 24

ADC DX, 0

SUB AX, Z

SBB DX, Z+2

MOV w, AX

MOV W+2, DX

【例题】无符号数0A3H与11H相乘。

MOV AL, 0A3H ;(AL) =0A3H

MOV BL, 11H ;(BL) =11H

MUL BL ;(AX) =0AD3H

【例题】

若(AL) = 0B4H, (BL) =11H,求执行指令IMUL BL和MUL BL后的乘

积值。

(AL) =0B4H为无符号数的180D,带符号数的?76D

(BL) =11H为无符号数的17D,带符号数的17D

则执行IMULBL 的结果为(AX) =0FAF4H =-1292D, CF=OF=1 执行MULBL 的结果为

(AX) =0BF4H = 3060D, CF=OF=1

【例题】写出实现无符号数0400H/0B4H运算的程序段。

MOV AX, 0400H ; (AX) =0400H

MOV BL, 0B4H ; (BL) =0B4H

DIV BL ;商(AL) =05H,余数(AH) =7CH

【例题】写出实现有符号数0400H /0B4H运算的程序段。

MOV AX, 0400H ; (AX) =0400H

MOV BL, 0B4H ; (BL) =0B4H

IDIV BL ; (AL) =0F3H, (AH) =24H

算术运算综合举例【例3?36】

计算:(C-120 +A*B)/C,保存商和余数到X和Y中,其中A、B、C、X和Y都是有符号的字变量。编制程序如下:

MOVAX,C

SUB AX, 120 CWD MOV CX, DX

MOV BX, AX ; (CX, BX)—(DX, AX) MOV AX, A IMUL B ;

(DX, AX)—A*B

ADD AX, BX ;计算32位二进制之和 ADC DX, CX

IDIVC ; AX 是商,DX 是余数 MOV X, AX ;保存商到指定单元 MOV Y, DX

课堂练习

计算:(V- (X*Y+Z-540)) /X,其中X, Y,乙V 均为16位带符号数,已分别装入X, Y,乙V 单元中,上式计算结果的商存入AX,余数存入DX 寄存器。编制程序如下: mov a x, x

imul y mov ex, ax mov bx, dx mov ax, z

cwd add ex, ax adc bx, dx sub ex, 540 sbb bx, 0 mov ax, v cwd sub ax, ex sbb dx, bx idiv

x

【例题】压缩BCD 码的加法运算。

;(AL) =68H,表示压缩BCD 码68

:(BL) =28H,表示压缩BCD 码28

;二进制加法:(AL) =68H+28H=90H ;十进制调整:(AL) =96H

;实现压缩BCD 码加法:68+28=96

【例题】压缩BCD 码的减法运算。

MOV AL, 68H ;(AL) =68H,表示压缩BCD 码68

MOV BL, 28H

;(BL) =28H,表示压缩BCD 码28 SUBAL,

BL

■ 二进制减法:(AL) =68H-28H=40H

DAS

;十进制调整:(AL) =40H

■ 实现压缩BCD 码减法:68-28=40

【例题】 AND AL, 77H ;将AL 中第3位和第7位清零。 AND AX, BX ;两个寄存器逻辑与

MOV AL, 68H MOV BL, 28H ADD AL, BL DAA

AND AL, 1111 OOOOB ;屏蔽AL 寄存器低4位 AND MEM-BYTE, AL ;存储单元和寄存器逻辑与

例题】

OR AL, 88H OR BX, 0C000H

【例题】逻辑非运算。

MOV

NOT NOT AX, 878AH

; (AX) =878AH

AX ; (AX) =7875H

WORD PTR L1OOOH ];将 1000H 和 1001H 两单

;元中的内容求反码,再送回这两单元中

【例题】测试AX 中的第12位是否为0,不为0则转L 。

TEST AX, 1000H

JNEL /JNZ L

例3?54:

(BX)=84F1H,把(BX)中的16位数每4位压入堆栈 MOV CH, 2 ;循环次数 MOV CL, 4 ;移位次数

NEXT: ROL

BX, CL

MOV AH, BL AND AH, OFH

ROL BX, CL

MOV AL, BL AND AL, OFH PUSH AX DEC CH JNZ NEXT

例题:设BLOCK 数据块中存储有正数和负数,试编写程序将正负数分开,分别存放在 Dplus 和Dminus 开始的存储区域

mov si,offset block

mov di^offset dplus mov bx,offset dminus mov ax 5ds mov es^ax mov cx 9count cld so on: lodsb

test

al,80h

jnz

minus stosb jmp again minus: xchg bx^di

;数据都在一个段中,所以设置e§=d§

;cx~字节数

;从block 取出一个数据 ;检测符号位,判断是正是负 ;符号位为1,是负数,转向minus ;符号位为0,是正数,存入dplus ;程序转移到聘ain 处继续执行

stosb

;把负数存入dminus xchg bx,di again:

loop go on

;字节数减1

;将AL 寄存器中第3位和第7位置1 ;将BX 中第15位和第14位置1

◎例:检验一段被传送过的数据是否与源串完全相同,程序如下:

CLD

MOV CX, 100 初始化

MOV SI, 2400H

MOV DI, 1200H;

REPE CMPSB ;串比较,直到ZF=0 或CX=0

JZ EQQ

DEC SI

MOV BX, SI ;第一个不相同字节偏移地址~BX

MOV AL, [SI];第一个不相同字节内容一AL

JMP STOP

EQQ: MOV BX, 0 ;两串完全相同,BX=0

STOP: HLT

?例题:在某字符串中查找是否存在字符。若存在,则将“ $ ”字符所在地址送入BX寄存器中,否则将BX寄存器清“0”。程序如下:

CLD ;清除方向标志DF

MOV DI, 0100H ;送目标串首元素偏移地址

MOV CX, 100 ;字串长度

MOV

REPNE

JNZ

DEC

MOV

JMP ZER: MOV STO: HLT

AL, ' ;关键字一AL

SCASB ;找关键字

ZER ;判断是否找到DI

BX, DI ;关键字所在地址?BX

STO

BX, 0 ;未找到,0->BX

例题:比较两个长度为count的字符串是否完全相同,若相同置al=0,不相同置al=Offli

mov si,offset stringl

mov di,offset string2

mov ex,count

cld

mov al,Of'fh ;标记初始为不同

mov al,0 ;字符串相等,设置OOh

output:mov result,al ;输出结果标记

■例3?61若AL最高位为0,设置(AH)=0;若AL最高位为1,贝IJ设置(AH)=FFH。即编程实现符号扩展指令CBW功能

?方法一:用JZ指令实现。

test al, 80h ;测试最高位

jz setO ;最高位为0则转到setO

mov ah, Offh ;最高位为1,则将AH置0FFH

jmp next ;无条件转向next

setO: mov ah, 0

next:?

?方法二:用JNZ指令实现。

test al, 80h ;测试最高位

jnz set! ;最高位为1则转到set!

mov ah, Oh ;最高位为0,则将AH置0

jmp next ;无条件转向next

setl: mov ah, Offh

next:…

■例3?62计算|X-Y|, X和Y是存放于X单元和Y单元的16位操作数,结果存入result

mov ax, X

sub ax, Y ;X-Y送AX,下面求绝对值

jns next ;绝对值为正,不需处理,转向next保存结果

neg ax ;绝对值为负,进行求补得到绝对值

next: movresult, ax ;保存结果

■例3.63编写程序段判断DX中1的个数

xor al, al

again: test dx, offffh ;等价于emp bx, 0

je next

shl dx, 1

jnc again

inc al jmp again

next:... ; AL保存1的个数

例3.64比较AX和BX中两个无符号数的大小,将较小的存放到AX中emp ax, bx ;比较ax 和bx

JB next ;若axVbx,则转移到next

xchg ax, bx ;若axNbx,则两者交换

next:...

例3.65比较AX和BX中两个有符号数的大小,将较小的存放到AX中emp ax, bx ;比较ax 和bx

JL next ;若ax

xchg ax, bx ;若ax^bx,则两者交换

next:...

a> b是双精度数,分别存于DX, AX及BX, CX中,a>b时转LI,否例 3.66

则转L2

emp dx, bx ;比较dx 和bx

JG 11 ;若dx>bx,则转移到11

JL 12 ;若dx

emp ax, ex ;若dx=bx,则比较ax 和ex

JA 11 ;若ax>cx,则转移到】1

12: .......................

11: .....................

例3-67:求首地址为ARRAY的n个字之和,结果存入sum单元mov ex, n ;将计数值n送CX

xor ax, ax ;累加器AX清零

xor dx, dx ;DX清零

xor si. si ;SI清零

again: add

ax arrayfsi];将下一个数据累加到AX

adc dx, 0 ;将产生的进位累加到DX

add si, 2 ;SI加2,指向下一个数据

loop again ;若CX不为0,继续循环

mov sum, ax ;结果低16位送sum单元

例 4.21]

□ (1)编写程序把BX中的二进制数以十六进制数的形式显示在屏幕上。

CODE SEGMENT

ASSUME CS:CODE

START: MOV CH, 4 ;设置循环初值为4

ROTAT: MOV CL, 4

ROL BX, CL ; BX循环左移4位

MOV AL, BL

AND AL, OFH ;把最右面要显示的4位取到AL中

ADD AL, 30H ;将其加30H转换为ASCII码

CMP AL, 3AH ;判断是否大于9

JL PRINT ;“0”?“9”,转向PRINTIT 直接显示

ADD AL, 7H ;?“F”,ASCII 值再加7

PRINT: MOV DL, AL ; 2号功能调用,显示该字符

MOV AH, 2

INT 21H

DEC CH

JNZ ROTAT ;若循环次数未到,则继续循环

MOV AH, 4CH

INT21H ;程序结束,返回DOS

CODE ENDS

END START

【例4.24]数据段中从BUF单元开始的数据区内存放着一组有符号字数据,其中第一个单元存放数组元素个数,请编一程序求出该数组中的最大值、最小值及总和,并分别存入MAX、MIN、SUM单元中

DATA SEGMENT

BUF DW12

DW 5,?4,0,3,100,?51,69,?21,?5,255,33,150

MAX DW ?

MIN DW ?

SUM DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

DS, AX

SI, 2 ;初始化 SI 、AX 、BX 、DX AX, BUF[SI] BX, BUF|SI| DX, BUF[SI1

CX, BUF ;初始化循环计数器CX

DEC

CX

L:

ADD SI, 2

CMP

BX, BUF[SI1 ; 比较

JL LESS

CMP DX, BUF|SI|

JG GREATER

JMP S

LESS:

MOV

BX, BUF[SI]

;大数送入BX

JMP S

GREATER: MOV DX, BUF[SI| ;小数送入 DX s :

ADD AX, BUF|SI|

;求累加和,送入AX

LOOP L

MOV MAX,BX ;最大值、最小值及总和分别存

MOV MIN,DX

入 MAX 、MIN> SUM 单元

MOV SUM,AX

MOV AH,4CH

1NT21H

CODE ENDS

END START

例4.25]字符串STRING 以回车符作为结束标志,编程统计该字符串的长度

DATA SEGMENT LEN DB? STRING DATA CODE

MOV AX, DATA DS, AX ES, AX DI, STRING DL, 0 AL, ODH SCASB

JE DONE INCDL JMP AGAIN DONE: MOV

START: MOV AX, DATA

MOV MOV MOV MOV MOV

MOV ASSUME START: MOV MOV LEA MOV MOV AGAIN: DB "computer science and technology 9,ODH ENDS SEGMENT

CS:CODE, DS: DATA, ES:DATA ;串的首地址送入DI ;置串长度初值为0

;串结束标志送入AL

:搜索串

;找到结束标志,转向DONE 结束 ;否则,串长度加1

LEN,DL ;串长度送入LEN

MOV AH, 4CH

INT21H

CODE ENDS

END START

【例4.20】从键盘接收两个有符号十进制数,并求它们的和,再将结果以有符号十进制数的形式在屏幕上显示输出。

DATA SEGMENT

MES1 DB 'input the first number: $'

MES2 DB 'input the second number: $'

MES3 DB She sum is: $'

X DW?

Y DW ?

SUM DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX,DATA

MOV DSAX

MOV DX,OFFSET MES1

MOV AH,9

INT 21H ;显示输入提示信息

CAM READ;调用子程序READ,输入第一个数

MOV X,AX ;将输入的第一个数送入变量X

CALLCRLF ;调用子程序CRLF

MOV DX,OFFSET MES2

MOV AH,9

INT 21H显示输入提示信息

CALL READ;调用子程序READ,输入第二个数

MOV Y,AX ;将输入的第二个数送入变量Y

ADD AX,X ;两数相加

MOV SUM,AX;和送到SUM,入口参数

MOV DX,OFFSET MES3

MOV AH,9

INT 21H显示输出提示信息

CALL WRITE;调用子程序WRITE,显示结果

MOV AH.4CH

INT 21H

READ PROC NEAR ;输入有符号十进制数的子程序READ

PUSH BX

PUSH CX

PUSH DX

XOR BX,BX ;用BX保存结果

XOR cx,cx ;正负标志,0为正,一1为负

MOV AH,1 ;输入一个字符 INT21H CMP AL, + ;比较是否为“+”

JZ READ1 ;是“+”,转向READ1继续输入

CMP AL/-9 ;否则,比较是否为“一” JNZ READ2 “+,,和“一…,转向 READ2

MOV CX,-1 ;是“一”,设置一 1标志

Readl:

...

Read2: ... Read3:… Read4:… READ

ENDP

READ1: MOV AH,1 ;继续输入字符

INT 21H

READ2: CMP AL,W

;是否在0?9之间

JB READ3

:数据结束

CMP AL/9'

JA READ3

SUB AL,30H ;在0?9之间,转换为对应数值 SHL BX,1 ;用移位指令实现已输入数值乘10 MOV DX,BX ;

BP : (BX) —

(BX) X10

SHL BX, 1 SHL BX, 1 ADD

BX, DX

MOV AH,0 ;已输入数值乘10+新输入值 ADD BX, AX ;相力口 JMP READ1 ;继续输入字符 READ3: CMP CX, 0

;判断该数值正负

JZ READ4 ;是正数,转向READ4 ;是负数,进行求补

AX, BX ;出口参数,数值送入AX

POP DX POP CX

POP BX

PUSH AX PUSH BX PUSH DX

MOV AX, SUM ;取出要显示的数据 TEST AX, AX ;判断零、正数或负数

RET ;子程序返回

READ

ENDP

WRITE PROC NEAR ;显示有符号十进制数的子程序WRITE

NEG BX READ4: MOV

JNZ WRITE 1

MOV DL, W ;是零,显示“0”后退出

MOV AH, 2

INT 21H

JMP WR1TE5

WRITE1:JNS WRITE2;;是正数,转向WRITE2

MOV BX, AX ;是负数,AX数据暂存于BX以免被修改MOV DL, 7 ;显示“一”

MOV AH, 2

INT 21H

MOV AX, BX ;恢复AX数据

NEG AX数据求补(求绝对值)

WRITE2:MOV BX,10

PUSH BX10压入堆栈,作为退出标志

WRITE3:CMPAX, 0 ;数据(商)是否为零

JZ WRITE4;为零转向显示

SUB DX, DX ;扩展被除数(DX, AX) ,DX清零

DIV BX数据除以10: (DX, AX) 4-10

ADD DL, 30H ;余数(0?9)转换为ASCII码

PUSH DX数据各位先低位后高位压入堆栈

JMP WRITE3

WRITE4:POP DX ;数据各位先高位后低位弹出堆栈

CMP DL, 10 ;是结束标志10,则退出

JE WRITE5

MOV AH, 2 ;进行显示

INT 21H

JMP WRITE4

WRITE5:POP DX

POP BX

POP AX

子程序返回

RET ■

9

WRITE ENDP

CRLF PROC NEAR ;使光标回车换行的子程序PUSH AX

PUSH DX

MOV AH, 2

MOV DL, 0DH

INT 21H显示回车符

MOV DL, 0AH

INT 21H显示换行符

POP DX

POP AX

RET

CRLF ENDP

CODE ENDS

END START

(1)设计要求:在源程序中设置数据段、堆栈段及代码段。在数据段中定义8个字节数据,把这些数据转换成十六进制数的ASCII码存在上述数据之后,然后在屏幕上显示这些数据。显示数据用DOS功能2号调用,每个数据用空格分隔。

1: NAME EX1 ;程序命名伪指令,程序名为EX1

2: PAGE 50, 70 ;列表文件每页50行每行70字符

3:; ----------------------------------------------------------

4: DAT SEGMENT PARA ' DAT'

5: Al DB 12H, 34H, 56H, 78H, 9AH

6:DB 0BCH,0DEH,0F0H

7:B1=$-A1 ;赋值伪指令,求Al(符号地址倒当

前汇编指针地址($)的字节数

8: B2=B1*2 ;求 2 倍Bl

9: A2 DB B2 DUP (?); 数据重复定义伪指令,定

义ASCII码字符区

10: DAT ENDS

11:; ------------------------------------------------------

11:; ------------------------------------------------------------

12: STAC SEGMENT PARA STACK ' STA Z

13:STA1 DW100D(JP(?)

14:STAC ENDS

15:; ---------------------------------------------------------

16: CODE SEGMENT PARA ' CODE'

17:ASSUME CS: CODE, DS: DAT

18:ASSUME SS: STAC, ES: DAT

19: STAR PROC FAR

20:PUSH DS

21:XOR AX, AX

22:PUSH AX

23:MOV AX, DAT

24:MOV DS, AX ;段寄存器赋值

25:MOV ES, AX

26:LEA SI, Al ;取有效地址

27:LEA DI, A2

28

MOV CX, Bl ;循环次数

29

:Gl: MOV BL, 2 ;每个字节处理两次

30:MOV AL, [SI] ;被处理的字节送AL

31:MOV BH, AL ;AL暂存到BH

32:PUSH ex

33

MOV CL, 4

34:ROR AL, CL ;循环右移4位

35:POP ex

36:G2: AND AL, OFH ;取AL低4位,高4位清零

37:ADD AL, 30H

38:CMP AL, 3AH JB AA

39:ADD AL, 7

40:AA: MOV [DI], AL ;处理完毕送目标地址

41:INC DI

42:MOV AL, BH

43:DEC BL

44:JNZ G2

45:INC SI

46:LOOP G1 ;CX-1,若CX#)则返回G1

47:MOV SIOFFSET A2 ;A2的偏移地址送SI寄存器

48: MOV CX, B2

49: CALL Pl

50: RET

显示ASCII码字符子程序如下:

51:P1 PROC

52:MOV BL, 2

53:G:MOV DL, [SI]

54:MOV AH, 2

55:INT 21H

56:INC SI

57:DEC BL

58:JNZ ' r

59:MOV DL, / / ;加空格

60:MOV AH, 2

61:INT 21H

62:MOV BL, 2

63:T:LOOP G ■

9

cx-1循环处理

64:RET

65:P1 ENDP

66:C ODE ENDS

67:END STAR

例9?3】利用8255A的A 口方式0与微型打印机相连,将内存缓冲区BUFF中的字符打印输出。试完成相应的软硬件设计。(CPU为8088)

■说明:

?由PC0充当打印机的选通信号,通过对PC0的置位/复位來产生选通。同时,由PC7 来接收打印机发出的“BUS Y”信号作为能否输出的查询。

?8255A的控制字为:10001000 即88H

? A 口方式0,输出;C 口高位方式0输入,低位方式0输出?PC0 置位:00000001 即01H

?PC0 复位:00000000 即00H

?8255A 的 4 个口地址分别为:OOH, 01H, 02H, 03H。

■DADA SEGMENT

BUFF DB *This is a print program!*, $

■DATA ENDS

■CODE SEGMENT

ASSUME CS

:CODE, DS: DATA

START:MOV AX, DATA

MOV DS, AX

MOV SI, OFFSET BUFF

MOV AL, 88H ;8255A初始化,A 口方式0,输出

OUT 03H, AL ;C 口高位方式0输入,低位方式0输出

MOV AL, 01H;

OUT 03H, AL ;使PC0置位,即使选通无效

WAIT: IN AL, 02H

TEST AL, 80H ;检测PC7是否为1即是否忙

JNZ WAIT ;为忙则等待

MOV AL, [SI]

CMP AL, $ ;是否结束符

JZ DONE ;是则输出回车

OUT OOH, AL ;不是结束符,则从A 口输岀

MOV AL, OOH

OUT 03H, AL

MOV AL, 01H

OUT 03H, AL ;产生选通信号

INC SI修改指针,指向下一个字符

JMP WAIT

DONE: MOV AL, 0DH

OUT OOH, AL ;输出回车符

MOV AL, OOH

OUT 03H, AL

MOV AL, 01H

OUT 03H, AL ;产生选通

WAIT1: IN AL, 02H

TEST AL, 80H ;检测PC7是否为1

JNZ WAIT1 :为忙则等待

MOV AL, 0AH

OUT OOH, AL ;输出换行符

MOV AL, OOH

OUT 03H, AL

32位微机原理考试重点

1,原码:0表示“+”,1表示“-”,数值位与真值数值位相同。 反码:正数的反码与原码表示相同。负数反码符号位为1,数值位为原码数值各位取反。 补码:正数的补码表示与原码相同。负数补码的符号位为1,数值位等于反码加1。[X]补= [X]反+1 负数直接求补: 从最低位起,到出现第一个1以前原码中的数字不变,以后逐位取反,但符号位不变。 2,各种编码方法的表数范围: n+1位二进制编码x表示的整数范围: 原码、反码:-2n<x<2n 补码:-2n≤x<2n 8位原码、反码的表数范围是-127~+127,补码的表数范围是-128~+127;16位原码、反码的表数范围是-32767~+32767,补码的表数范围是-32768~+32767 3,原码、反码、补码表示小结: 正数的原码、反码、补码表示均相同, 符号位为0,数值位同数的真值。 零的原码和反码均有2个编码,补码只有1个编码。 负数的原码、反码、补码表示均不同, 符号位为1,数值位:原码为数的绝对值 反码为每一位均取反码 补码为反码再在最低位+1 由[X]补求[-X]补:逐位取反(包括符号位),再在最低位+1 4,进位标志CF(Carry Flag):运算结果的最高位产生进位或借位时,或循环指令也会影响该位。 奇偶标志PF(Parity Flag):运算结果的低8位中所含1的个数为偶数个,则该位置1。 辅助进位标志AF(Auxiliary Carry Flag):加减法运算时,如果第3位与第4位之间有进位或借位产生,则该位置1。一般用于BCD运算中是否进行十进制调整的判断依据。 零标志ZF(Zero Flag):运算结果为零,则该位置1。 符号标志SF(Sign Flag):与运算结果符号位(即最高位)相同。 溢出标志OF(Overflow Flag):当运算结果超出结果寄存器的表达范围时,该位置1。 跟踪标志TF(Trap Flag):控制CPU按调试的单步方式执行指令。 中断允许标志IF(Interrupt Enable Flag):控制CPU对外部可屏蔽中断(INTR)的响应。 当IF=1时,允许CPU响应外部可屏蔽中断;当IF=0时,禁止响应INTR,但不禁止CPU对非屏蔽中断(NMI)的响应。 方向标志DF(Direction Flag):用于控制串操作指令中的地址变化方向。 5,立即寻址方式:8086 CPU指令系统中,有一部分指令所用的8位或16位操作数就在指令中提供,这种方式叫立即寻址方式。 例如: MOV AL,80H;将十六进制数80H送入AL MOV AX,1090H;将1090H送AX,AH中为10H,AL中为90H 寄存器寻址方式:如果操作数在CPU的内部寄存器中,那么寄存器名可在指令中指出。 这种寻址方式就叫寄存器寻址方式。

微机原理期末考试试题及答案

上海应用技术学院2008—2009学年第一学期 《微机原理及应用》期末试卷 A 课程代码: B203205A 学分: 3.5 考试时间: 100 分钟 课程序号: 1958,1960 班级:学号:姓名: 我已阅读了有关的考试规定和纪律要求,愿意在考试中遵守《考场规则》,如有违反将愿接受相应的处理。 试卷共页,请先查看试卷有无缺页,然后答题。 一、填空(每空1分,共20分) 1.MCS-51的EA管脚接低电平时,CPU只能访问外部程序存储器。 2.MCS-51单片机从外部程序存储器取指令时,使用/PSEN信号作“读”信号,从外部数据存储器取数据时,使用/RD信号作“读”信号。 3.MCS-51的堆栈设在内部RAM中,单片机复位后SP的内容为07 H。 4. MOV A,34H 中的34H 是直接寻址。 MOV A,@R0 中的 @R0 是间接寻址。 5.若PSW=98H,则选择了第3组工作寄存器,此时R7的地址是1F H。 6.MCS-51的数据总线共8位,来自P0 口,地址总线共16位,来自P2和P0口。 7.8255A具有(3)个8位可编程I/O口。 8.若串口工作于方式1,每分钟传送3000个字符,其波特率是(500)bit/s。 9.一个8位A/D转换器的分辨率是( 3.9)‰。 10.若0809 U REF=5V,输入模拟信号电压为2.5V时,A/D转换后的数字量是(80H)。 11.一个EPROM的地址有A0----A11引脚,它的容量为(4)KB。

12.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( 06H )。 二、判断题,对者划“√”,错者划“×”。(每小题1分,共10分) 1.(√)8051单片机的算术运算类指令执行的一般会影响标志位。 2.(√)8051单片机的外部数据存储器和内部数据存储器的要用不同的指令来访问。 3.(×)AJMP指令转移范围是-128~127之间。 4.(√)DPTR可以分成高8位和低8位分别寻址。 5.(×)MCS51内部定时/计数器在溢出时,都必须由软件重装初值才能按原设定值定时/计数。 6.(×)MCS-51系列单片机4个I/O端口都是多功能的。 7.(√)MCS-51特殊功能寄存器的字节地址能被8整除者,可以位寻址。 8.(×)并行扩展简单I/O口,对芯片的要求是:输入要锁存,输出要缓冲。 9.(√)串行通信要求是互相通信的甲乙双方具有相同的波特率。 10.(√)8255A的PA口具有3种工作方式。 三、阅读程序片段,指出执行结果。(每空2分,共20分) 1.MOV R1,#30H MOV A,#62H ADD A,#0B4H RLC A ANL A,01H MOV @R1,A RET ;执行到此 A=(20H),R1,=(30H),CY=(0),30H=(20H) 2.MOV R0,#20H MOV 20H,#05H MOV A,#10H MOV R2,A LOOP: ADD A,@R0

微机原理期末考试试卷(有答案)

丽水学院《微机原理》考试试卷 班级:___________ 姓名:___________学号:____________ 题号一二三四五六总分得分 得分 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 得分 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是_____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。 A.IN AL,端口地址 B.MOV AL,端口地址 C.OUT AL,端口地址 D.OUT 端口地址,AL 5、与十进制数58.75等值的十六进制数是__B______。 A.A3.CH B.3A.CH C.3A.23H D.C.3AH 6、将十六进制数FF.1转换成十进制数是__C______。 A.255.625 B.2501625 C.255.0625 D.250.0625 7、十进制负数-38的八位二进制补码是____D____。

微机原理与接口技术知识点复习总结汇编

第一章计算机基础知识 本章的主要内容为不同进位计数制计数方法、不同进位制数之间相互转换的方法、数和字符在计算机中的表示方法、简单的算术运算以及计算机系统的组成。下边将本章的知识点作了归类,图1为本章的知识要点图,图1.2为计算机系统组成的示意图。 本章知识要点 数制 二进制数(B) 八进制数(Q) 十六进制数(H) 十进制数(D) B) 码制 带符号数编码 奇偶校验码 字符编码 原码 反码 补码 ASCII码 BCD码 压缩BCD码 非压缩BCD码计算机系统组成 计算机系统组成硬件 主机 外部设备 中央处理器(CPU) 半导体存储器 控制器 运算器 ROM RAM 输入设备 输出设备 软件 系统软件 应用软件 操作系统:如DOS、Windows、Unix、Linux等 其他系统软件 用户应用软件 其他应用软件 各种计算机语言处理软件:如汇编、解释、编译等软件

第二章8086微处理器 本章要从应用角度上理解8086CPU的内部组成、编程结构、引脚信号功能、最小工作模式的系统配置、8086的存储器组织、基本时序等概念。下面这一章知识的结构图。 本章知识要点 Intel 8086微处理器 时钟发生器(8284) 地址锁存器(74LS373、8282) 存储器组织 存储器逻辑分段 存储器分体 三总线(DB、AB、CB) 时序 时钟周期(T状态) 基本读总线周期 系统配置 (最小模式) 8086CPU 数据收发器(8286、74LS245) 逻辑地址物理地址 奇地址存储体(BHE) 偶地址存储体(A0) 总线周期指令周期 基本写总线周期 中断响应时序 内部组成 执行单元EU(AX、BX、CX、DX、SP、BP、SI、DI、标志寄存器) 总线接口单元BIU(CS、DS、SS、ES、IP) 地址/数据 控制 负责地址BHE/S7、ALE 引脚功能(最小模式)地址/状态 数据允许和收发DEN、DT/R 负责读写RD、WR、M/IO 负责中断INTR、NMI、INTA 负责总线HOLD、HLDA 协调CLK、READY、TEST 模式选择MN/MX=5V

浙江大学微机原理(DSP)考试必背(知识点及基本程序部分)

第二章系统控制与中断+老师复习时专讲的中断内容 1、【强记】void InitSysCtrl( ) void InitSysCtrl() { EALLOW; WDCR=0x0068; //屏蔽WatchDog PLLCR=0xA; //锁相环设为10/2=5倍频(使系统时钟30MHz*5=150MHz) //PLLCR可设0x0~0xA,其中0x0和0x1等效,均为1/2=0.5倍频for(i= 0; i< ( (131072/2)/12 ); i++) {;} HISPCP=1; // HISPCLK=SYSCLK/HISPCP*2,从而有75MHz LOSPCP=2; // LOSPCLK=SYSCLK/LOSPCP*2,从而有37.5MHz PCLKCR=0x0D0B; //写1开启部分外设,这里开启了SCIA/B,SPI,ADC,EV A/B //0000 1101 0000 1011 EDIS; } 2、解释WatchDog(看门狗)工作原理(记住位域名称与功能) 片内振荡器时钟OSCCLK经过分频后进入8位看门狗计数器,当计数器上溢,则可输出中断或复位信号。当看门狗使能,若系统正常运行,则需用户周期性地在看门狗计数器上溢前向复位寄存器WDKEY写入0x55+0xAA来清零计数器,若程序受干扰而跑飞,则看门狗的中断或复位信号可使系统恢复至正常状态,提高系统稳定性与可靠性。 补充——涉及寄存器: 系统控制和状态寄存器SCSR:WDENINT指定看门狗输出复位信号还是中断信号;WDOVERRIDE指定是否允许用户修改控制寄存器WDCR的WDDIS位; 计数寄存器WDCNTR:低8位连续加计数,可由复位寄存器WDKEY立即清零; 复位寄存器WDKEY:连续写入0x55+0xAA可清零计数寄存器WDCNTR,写入其它序列则立即触发看门狗复位事件。读该寄存器返回控制寄存器WDCR值; 控制寄存器WDCR:WDFLAG为看门狗复位状态标志位,若复位事件由看门狗触发则置1,用户写1清零;WDDIS写1使能,写0屏蔽看门狗;WDCHK必须写101才能写WDCR 寄存器;WDPS为看门狗计数器时钟相对于OSCCLK/512的分频系数。 3、解释PLL(锁相环)工作原理 PLL负责把片内振荡器时钟或外部时钟经过倍频转化为系统时钟SYSCLKOUT。 当引脚XF_XPLLDIS为低电平:PLL被禁止,系统时钟直接引用外部时钟源。 当引脚XF_XPLLDIS为高电平:若PLLCR为0,则PLL被旁路,片内振荡器时钟OSCCLK被二分频;若PLLCR为n(n=0x1~0xA),则PLL使能,OSCCLK被(n/2)倍频。 4、【强记】为了使CPU定时器工作在指定频率,应如何设置 void InitSysCtrl(); void InitCputimer(void) //定时器初始化,中断周期为1ms(1kHz) { EALLOW; TIMER0TPR=149;//CPU定时器分频寄存器,150MHz/(149+1)=1MHz的计时器时钟TIMER0TPRH=0;//CPU定时器分频寄存器的高位置0 TIMER0PRD=(long)999;//设置CPU定时器周期寄存器,1MHz/(999+1)=1kHz

微机原理-期末考试题库及答案(含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]指令需要的总

微机原理期末考试试卷(有答案)

微机原理期末考试试卷 (有答案) -CAL-FENGHAI.-(YICAI)-Company One1

《微机原理》考试试卷 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是 _____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。

微机原理重点考试习题Chapter 3

第3章 80x86微处理器 一、自测练习题 ㈠选择题 1.因为8086 CPU的字数据既可以存放在内存的偶地址单元,也可以安排在奇地址单元,所以其堆栈指针SP( )。 A.最好指向偶地址单元 B.可以指向任何地址单元 C.只能指向偶地址D.只能指向奇地址 2.8086/8088微处理器内部能够计算出访问内存储器的20位物理地址的附加机构是( )。 A.ALU B.加法器C.指令队列 D.内部通用寄存器3.8086CPU外部的数据总线和地址总线分别为( )位。 A.16,16 B.20,16 C.16,20 D.20,20 4.指令代码的地址存放在寄存器( )中。 A.DS和SI B.BX和BP C.ES和DI D.CS和IP 5.最大方式中,控制总线的信号来自( )。 A.8282 B.8284 C.8288 D.8286 6.在8086中,一个基本的总线周期由( )个时钟周期组成。 A.1 B.2 C.3 D.4 7.在8086CPU中,数据地址引脚( )采用时分复用。 A.AD0~AD15 B.AD0~AD9 C.AD0~AD20 D.AD10~AD2 8.8086CPU把1MB空间划分为若干逻辑段,每段最多可含( )的存储单元。 A.1KB B.8KB C.16KB D.64KB 9.当标志寄存器FLAGS中OF位等于1时,表示带有符号的字运算超出数据( )范围。 A.-128~+127 B.-32768~+32767 C.000~FFFFH D.0~FFH 10.总线写周期中,在( )时不需要像读周期时要维持一个周期的浮空状态以作缓冲。 A.-32767~+32767 B.-32767~+32768 C.-32768~+32767 D.-32766~+32769 11.CPU执行指令过程中,BIU每完成一次对存储器或I/O端口的访问过程,称为( )。 A.时钟周期 B.总线周期 C.总线读周期 D.总线写周期 12.BHE与A0配合以决定访问存储器的数据是高字节还是低字节工作,其BHE仅在总线周期开始的( )周期有效。 A.T1 B.T2 C.T3 D.T4 13.最小方式下原8086微处理器最大方式下S2、S1、S0引脚应改为( )。 A.M/IO、DEN、DT/R B.DT/R、M/IO、DEN C.M/IO、DT/R、DEN D.DEN、M/IO、DEN 14.最大方式下引脚25号和24号分别为QSo和QSl,若工作于最小方式下则分别为( )。 A.INTA和ALE B.ALE和INTA C.TEST和INTA D.DEN和ALE 15.复位时,由于( )被清零,使从INTR输入的可屏蔽中断就不能被接受。 A.标志寄存器B.通用寄存器C.暂存寄存器 D.内部通用寄存器

16、32位微机原理、汇编语言与接口技术教程课后复习题答案

《16/32位微机原理、汇编语言及接口技术教程》 部分习题参考解答 第1章微型计算机系统概述 〔习题1.2〕 什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统? 〔解答〕 通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。 单片机:是指通常用于控制领域的微处理器芯片,其部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。 DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,部集成有高速乘法器,能够进行快速乘法和加法运算。 嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。 〔习题1.5〕 说明微型计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。

总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。 〔习题1.6〕 什么是总线?微机总线通常有哪3组信号?各组信号的作用是什么? 〔解答〕 总线:传递信息的共用通道,物理上是一组公用导线。 3组信号线:数据总线、地址总线和控制总线。 (1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。 (2)数据总线:传输读写操作的数据信息。 (3)控制总线:协调系统中各部件的操作。 〔习题1.7〕 简答如下概念: (1)计算机字长 (2)取指-译码-执行周期 (3)ROM-BIOS (4)中断 (5)ISA总线 〔解答〕 (1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。 (2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 (3)ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 (4)中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。 (5)ISA总线是指IBM PC/AT机上使用的系统总线。 〔习题1.8〕 下列十六进制数表示无符号整数,请转换为十进制形式的真值: (1)FFH (2)0H (3)5EH (4)EFH 〔解答〕 (1) 255 (2) 0 (3) 94 (4) 239

微机原理期末考试考试卷及答案

的数据线为16位,地址线为20位,I/O口使用16位地址线。 2.在某进制的运算中7×3=33,则7×5=_55。 3.用8位二进制数表示整数时,十进制数(-128)的补码为__。原码为无,反码为无。3.8086内部寄存器长度为16位,通用寄存器有8个,段寄存器有4个。 4.8086偶存储体的选片信号是A0,奇存储体的选片信号是BHE 。 5.MOV AX,[BX+SI]的源操作数是基址变址寻址方式,目的操作数是寄存器寻址方式。6.8086可以指向堆栈的指针寄存器有bp和sp。 7.程序中段定义结束的伪指令是ENDS,子程序定义结束的伪指令是ENDP。 8.EEPROM的擦除方法为点擦除. 9.下列指令段经汇编后,DATA所代表的偏移地址为_100 CH__。 & ORG 1000H STROE DB 12 DUP() DATA DB 05H,06H,07H,08H 1. 8086/8088在不考虑段跨越情况下,DI寄存器给出的偏移地址位于_C__。 A. 仅DS段 B. DS或SS段 C. DS或ES段 D. DS或CS段 2. 下列指令中格式错误的是___A___。 A. SHL AL,CX B. XCHG AL,BL C. MOV BX,[SI] D. AND AX,BX 3. 设(20010H)=3FH,(20011H)=B2H,执行下列指令段后,BX=____B__。 MOV AX,2000H " MOV DS,AX MOV BX,[0010H] A. B2B2H B. B23FH C. 3F3FH D. 3FB2H 4. 若SP=0124H,SS=3300H,在执行INT 60H这条指令后,堆栈栈顶的物理地址为___D___。 A. 3311CH B. 33120H C. 33122H D. 3311EH 5. 下列指令中格式错误的是_C__。 A. MOV AX,357AH[BX][DI] B. OUT DX,AL C. LEA AX,50H[BX][BP] D. RCR BX,1 6. 下列指令中允许寻址范围最大的是_D__。 A. JNZ NEXT B. LOOP NEXT ¥ C. JMP SHORT PTR NEXT D. CALL NEAR PTR NEXT 7. 8086/8088不属于BIU部分的寄存器是__D____。 A. IP B. ES C. DS D. SP 8088最大模式比最小模式在结构上至少应增加___B_。 A. 中断优先级控制器 B. 总线控制器 C. 数据驱动器 D. 地址锁存器 9. 8086在存取存贮器中以偶地址为起始地址的字时,M/IO、BHE、A0的状态分别是____D__。 A. 0,0,1 B. 1,0,1 C. 1,1,0 D. 1,0,0 10. 一个半导体存贮芯片的引脚有 A13~A0,D3~D0,WE,OE,CS,VCC,GND等,该芯片存贮容量为____C__。 A. 8K×8 B. 8K×4 C. 16K×4 D. 16K×8 !

微机原理常考知识点

1、必须注意,不能用一条MOV指令实现以下传送: ①存储单元之间的传送。 ②立即数至段寄存器的传送。 ③段寄存器之间的传送。 2、ORG 表示将逻辑地址搬移至某一地方 OFFSET表示数组的偏移量(首地址) JNZ 非零跳转 JB 小于跳转 JA 大于跳转 LOOP 无条件跳转 WORD PTR的作用类似于OFFSET ROL 左移 ROR 右移 3、程序书写的一般格式: STACK SEGMENT DW 64 DUP(?) STACK ENDS DA TA SEGMENT DB:一个字节DW:两个字节DQ:四个字节 ORG .... DA TA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE DS:DA TA SS:STACK MOV AX DATA MOV DS AX MOV CX X(循环次数,可以是立即数,可以是DATA域内定义的一个常数) MOV DI OFFSET NAME(将定义的数组的首地址放入到SI或DI寄存器中用与后续的循环) ... MOV AH 4CH INT 21H MAIN ENDP CODE ENDS END MAIN 在进行运算的过程过程中,需要根据运算数是DB还是DW对寄存器进行选择是AL还是AX。 4、8086的寻址方式:

寄存器寻址、立即寻址、直接寻址、寄存器间接寻址、基址相对寻址、变址相对寻址、基址变址相对寻址 5、各个寄存器的功能: CX用于存储循环次数、AX用于各种运算和CPU与接口的数据交换、BX用来存放地址 注意寄存器的清零(一般是对AX寄存器清零,因为需要使用该寄存器进行各项运算) 6、如何处理加法过程中的进位问题。 第四章PPT 43页开始 方法一:如果有进位,AH加1 方法二:使用ADC指令 小写转大写程序 压缩BCD和非压缩BCD码的程序 7、冯诺依曼体系: 1.计算机由运算器、存储器、控制器、输入、输出设备五大部件组成; 2.程序和数据均以二进制的形式存储在存储器中,存储的位置由地址码指定,地址码也是二进制形式的; 3.控制器是根据存放在存储器中的指令序列(即程序)控制的,并由程序计数器控制指令的执行。

32位微机原理与接口技术试题

32位微机原理与接口技术试题

信息科学技术学院 (答案写在答题纸上,写在试题纸上无效) 一、 填空题(30分) 1、计算机存储信息是按位存放的,1个字节等于 个二进制位,1KB 等于 个字节。 2、设A=10001110,B=11001100,则A 和B 的“或”A+B= ,A 和B 的“与”A ?B= ,A 和B 的异或 A ⊕ B = , A 的“非”A = 。 3、布尔代数中的摩根定理是: B A += ,B A ?= 。 4、8088CPU 的数据总线是 位的,地址总线是 位的。 5、8086CPU 从功能上可分为两部分,即 和 。 6、8086CPU 的4个段地址寄存器分别是CS 、DS 、ES 、SS,其中CS 是 寄存器,DS 寄存器,ES 是 寄存器,SS 是寄存器。 7、8086CPU 的标志寄存器的标志位可分为控制标志和状态标志,其中ZF 是 标志,DF 是 标志。 8、8086CPU 的4个通用寄存器分别是 、 、 、 ,它们既可以作为 位寄存器使用, 也可以作为 位寄存器使用。 9、8086CPU 可用20位地址寻址 字节的内存空间。 10、计算机I/O 接口电路与外部设备间可以交换的信号类型有4类,除了 量和 量外,还包括开关量和脉 冲量。 11、在8086的几种寻址方式中,采用立即数寻址时操作数在指令中提供,那么采用寄存器寻址时操作数在 中,采用直接寻址方式时操作数在 中,采用寄存器间接寻址方式时操作数在 中。 二、 选择题(14分) 1、与十进制数88等值的二进制数是 。 A )1110001 B )1110011 C )1011000 D )1101100 2、十进制数63.875转换成二进制数是 。 A )110100.01 B)111111.111 C)100110.11 D)100101.101 3、十进制数64转换成八进制数是 。 A )001Q B )100Q C )161Q D )112Q 4、将二进制小数11.11转换成十进制小数是 。 A )3.75 B)2.75 C)3.25 D)3.5 5、 是计算机的记忆装置的基本单元。 A )触发器 B)寄存器 C)存储器 D)计数器 6、常见的通信方式有并行通信和串行通信,那么8255A 是一颗 芯片。 A )并行通信 B )串行通信 C )既可以进行并行通信也可以进行串行通信 D )无线通信 7、8086计算机系统中常用的中断处理芯片是 。 A )8259A B )8255A C )8286 D )8284A 8、计算机系统中的I/O 接口又被称为 。 A )输入/输出接口 B )并行通信接口 C )串行通信接口 D )控制接口 9、DW 是 伪指令。 课程考试试题 学期 学年 拟题人: 校对人: 拟题学院(系): 适 用 专

微机原理与接口技术考试试题及答案A

《微机原理与接口技术》课程期末考试试卷(A卷,考试) 一、单项选择(在备选答案中选出一个正确答案,并将其号码填在题干后的括号内。每题2分,共30分) 1 .某微机最大可寻址的内存空间为16MB,其CPU地址总线至少应有( D )条。 A. 32 B. 16 C. 20 D. 24 2 .用8088CPU组成的PC机数据线是( C )。 A. 8条单向线 B. 16条单向线 C. 8条双向线 D. 16条双向线 3 .微处理器系统采用存储器映像方式编址时存储单元与I/O端口是通过( B )来区分的。 A. 不同的地址编码 B. 不同的读控制逻辑 C. 不同的写控制逻辑 D. 专用I/O指令 4 .要禁止8259A的IR0的中断请求,则其中断屏蔽操作指令字OCW1应为( D )。 A. 80H B. 28H C. E8H D. 01H 5 .在8086环境下,对单片方式使用的8259A进行初始化时,必须放置的初始化命令字为( B )。 A. ICW1,ICW2,ICW3 B. ICW1,ICW2,ICW4 C. ICW1,ICW3,ICW4 D. ICW2,ICW3,ICW4 6 .6166为2Kx8位的SRAM芯片,它的地址线条数为( A )。 A. 11 B. 12 C. 13 D. 14 7 .在计算机系统中,可用于传送中断请求和中断相应信号的是( C )。 A. 地址总线 B. 数据总线 C. 控制总线 D. 都不对 8 .段寄存器装入2300H,该段的最大结束地址是( A )。 A. 32FFFH B. 23000H C. 33FFFH D. 33000H 9 .在进入DMA工作方式之前,DMA控制器当作CPU总线上的一个( A )。 A. I/O设备 B. I/O接口 C. 主处理器 D. 逻辑高 10 .在8086宏汇编过程中不产生指令码,只用来指示汇编程序如何汇编的指令是( B )。 A. 汇编指令 B. 宏指令 C. 机器指令 D. 伪指令 11 .中断向量表占用内存地址空间为( A )。 A. 00000H~003FFH B. 00000H~000FFH C. 00000H~00100H D. FFF00H~FFFFFH 12 .实现CPU与8259A之间信息交换是( D )。A. 数据总线缓冲器 B. 级联缓冲/比较器 C. 读写控制电路 D. 数据总线缓冲器与读写控制电路 13 .Intel 8253的最大输入时钟频率是( B )。 A. 5MHz B. 2MHz C. 1MHz D. 4MHz 14 .完成两数相加后是否溢出的运算,用( C )标志位判别。 A. ZF B. IF C. OF D. SF 15 .8255A的方式选择控制字应写入( D )。 A. A口 B. B口 C. C口 D. 控制口

微机原理期末考试试卷(有答案)

微机原理期末考试试卷(有答案)

INC DI LOOP AGAIN 也可用指令___A____完成同样的功能。 A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB 11、动态存贮器刷新,下面哪种说法正确________。 A.刷新可在CPU执行程序过程中进行 B.刷新在外电路控制下,定时刷新,但刷新时,信息不读出 C.在正常存贮器读操作时也会发生刷新,可防止刷新影响读出信息,故读操 作时,应关闭电路工作。 D.刷新过程一定伴随着信息输出,无法控制,故刷新时不要进行读出操作。 12、用4K×8的存贮芯片,构成64K×8的存贮器,需使用多少4K×8的存贮芯片,正确答案为________。 A.128片 B.16片 C.8片 D.32片 13、对内存单元进行写操作后,该单元的内容________。 A.变反 B.不变 C.随机 D.被修改 14、在DMA方式下,CPU与总线的关系是________。 A.只能控制地址总线 B.相互成隔离状态 C.只能控制数据线 D.相互成短接状态 15、在PC/XT机中键盘的中断类型码是09H,则键盘中断矢量存储在________。 A.36H~39H B.24H~27H C.18H~21H D.18H~1BH 16、已知某系统共带三台外设,即X、Y、Z,每台外设都能发出中断,它们的中 断优先级为X>Y>Z,当前在执行Z中断服务程序时,X,Y同时发出中断请求, 若此时IF=0,问CPU响应哪台外设请求________。 A.X设备 B.Y设备 C.无响应X,后响应Y D.都不响应 17、8255A芯片中各端口的位数是________。 A.8位 B.26位 C.12位 D.4位 18、8255A的________一般用作控制或状态信息传输。 A.端口A B.端口B C.端口C D.端口C的上半部分 19、若以8253某通道的CLK时钟脉冲信号为基础,对其实行N分频后输出,通 道工作方式应设置为________。 A.方式0 B.方式2 C.方式3 D.方式4 20、8253有________个独立的计数器。 A.2 B.3 C.4 D.6 得分 三、填空题(每空1分,共20分) 1、IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为___64K_____ 字节。 2、下列字符表示成相应的ASCII码是多少? 回车___0AH_____;数字’0’ ___36H_____。 3、假设(DS)=0B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH) =4000H,当执行指令“LES DS,[BX]”后,(DI)=____05AEH____,(ES)

微机原理及接口技术考试各章重点题库及答案

微机原理与接口技术试题库 第一章基础知识 一、填空 1、计算机中采用二进制数,尾符用B 表示。 2、西文字符的编码是ASCII 码,用 1 个字节表示。 3、10111B用十六进制数表示为H,八进制数表示为O。 4、带符号的二进制数称为真值;如果把其符号位也数字化,称为原码。 5、已知一组二进制数为-1011B,其反码为10100B ,其补码为10101B 。 6、二进制码最小单位是位,基本单位是字节。 7、一个字节由8 位二进制数构成,一个字节简记为1B ,一个字节可以表示256 个信息。 8、用二进制数表示的十进制编码,简称为BCD 码。 9、8421码是一种有权BCD 码,余3码是一种无权BCD 码。 二、选择 1、计算机中采用 A 进制数。 A. 2 B. 8 C. 16 D. 10 2、以下的 C 编码是一种有权码。 A. 循环码 B. BCD码 C. 8421码 D. 余3码 3、八进制数的尾符是 B 。 A. B B. O C. D D. H 4、与十进制数254等值的数是 A 。 A. 11111110 B. 11101111 C. 11111011 D. 11101110 5、下列不同数制表示的数中,数值最大的是 C 。 A. 11011101B B. 334O C. 1219D D. DAH 6、与十六进制数BC等值的数是B 。 A. 10111011 B. 10111100 C. 11001100 D. 11001011 7、下列字符中,ASCII码值最小的是 A 。 A. K B. Y C. a D. i 8、最大的10位无符号二进制整数转换成十进制数是C 。 A. 51 B. 512 C. 1023 D. 1024 9、A的ASCII码值为65D,ASCII码值为68D的字母是C 。 A. B B. C C. D D. E 10、下列等式中,正确的是 D 。 A. 1KB=1024×1024B B. 1MB=1024B

32位微机原理考试重点文库.docx

1,原码:0表示“+”,I表示“一”,数值位与真值数值位相同。 反码:正数的反码与原码表示相同。负数反码符号位为1,数值位为原码数值各位取反。补码:正数的补码表示与原码相同。负数补码的符号位为1,数值位等于反码加1。[XJ补二[X」反+1负数直接求补:从最低位起,到出现第一个1以前原码中的数字不变,以后逐位取反, 但符号位不变。 2,各种编码方法的表数范围: n+1位二进制编码x表示的整数范围: 原码、反码:?2n

相关文档
最新文档