当前位置:文档之家› 微机原理与接口例题及答案

微机原理与接口例题及答案

微机原理与接口例题及答案
微机原理与接口例题及答案

1、例编写程序,计算75÷6=l 2 (3)

解:该除法运算过程表示如下:(注:75以BCD码的形式存放)

第一个商为1→ 1 2 ← 第二个商为2

6/7 5

-6

-----------------

第一个余数为1→ 1 5

-1 2

-----------------

3 ← 第二个余数为3

程序如下:

FIRST DB 06H ;除数6

SECOND DB 75H ;被除数75H

THIRD DB 2 DUP(0);存商

FOUR DB ?;存余数

………

MOV AH,00H ;第一个被除数高位AH清0

MOV AL,SECOND ;AL 被除数75

AND AL,0F0H ;截取高4位

MOV CL,04H

ROL AL,CL ;移至低4位

DIV FIRST ;AX/06,即0007/06;

;得结果:AL 商为1,AH余数 1

MOV THIRD+1,AL ;结果单元 第一个商1

MOV AL,SECOND ;AL 被除数75

AND AL,0FH ;AL 截低4位,故AX=0105H

AAD ;将AX中内容0105H调整为0FH

DIV FIRST ;0FH/6,结果:AL 商为2,AH 余数3

MOV THIRD,AL ;THIRD单元 第二个商2

MOV FOUR,AH ;FOUR单元 第二个余数3

2、例设AL寄存器中存有报警标志。若D7=1,表示温度报警,程序要转到温度报警处理程序T_ ALARM;D6=1,则转压力报警程序P_ALARM。用TEST指令来实现这种功能。

解:TEST AL,80H ;查AL的D7=1?

JNZ T_ALARM ;是1(非零),则转温度报警程序

TEST AL,40H ;D7=0,D6=1?

JNZ P_ALARM ;是1,转压力报警

(其中:JNZ为条件转移指令,表示结果非0 (ZF=1)则转移)

3、例要求把数据段中以SRC_MESS为偏移地址的一串字符“HELLO!”,传送到附加段中以NEW_LOC开始的单元中。

解:DA TA SEGMENT ;数据段

SRC_MESS DB …HELLO!?;源串

DA TA ENDS

EXTRA SEGMENT ;附加段

NEW_LOC DB 6 DUP(?) ;存放目的串

EXTRA ENDS

CODE SEGMENT

ASSUME CS:CD,DS:DATA,ES:EXTRA START:MOV AX,DATA

MOV DS,AX ;DS=数据段段址

MOV AX,EXTRA

MOV ES,AX ;ES=附加段段址

LEA SI,SRC_MESS ;SI指向源串偏移地址

LEA DI,NEW_LOC ;DI指向目的串偏移地址

MOV CX,6 ;CX作串长度计数器

CLD ;清方向标志,地址增量REP MOVSB ;重复传送串中各字节,直到CX=0

其中“REP MOVSB”指令可用以下几条指令代替:

AGAIN:MOVS NEW_LOC,SRC_MESS

DEC CX

JNZ AGAIN

4、例比较两个字符串,一个是程序中设定的口令串PASSWORD,另一个是从键盘输入的字符串IN_WORD,若输入串与口令串相同,程序将开始执行。否则,程序驱动PC机的扬声器发声,警告用户口令不符,拒绝往下执行。

解:这可以用CMPS指令来实现,有关程序段如下:

DA TA SEGMENT ;数据段

PASSWORD DB …750424LI?;口令串

IN_WORD DB …750424LE?;从键盘输入的串

COUNT EQU 8 ;串长度

DA TA ENDS

……

CODE SEGMENT ;代码段

……

LEA S I, PASSWORD ;源串指针

LEA D I, IN_WORD ;目的串指针

MOV CX, COUNT ;串长度

CLD ;地址增量

REPZ CMPSB ;CX≠0且串相等时重复比较

JNE SOUND ;若不相等,转发声程序

OK: ……;比完且相等,往下执行

……

SOUND: ……;使PC机扬声器发声

……;并退出

CODE ENDS

5、例在某一字符串中搜寻是否有字符A,若有,则把搜索次数记下来,送到BX寄存器中,若没有查到,则将BX寄存器清0。设字符串起始地址STRING的偏移地址为0,字符串长度为CX。

解:MOV DI,OFFSET STRING ;DI=字符串偏移地址

MOV CX,COUNT ;CX=字符串长度

MOV AL,…A?;AL=关键字A的A5CII码

CLD ;清标志方向

REPNE SCASB ;CX≠0(没查完)和ZF=0(不相等)时重复

JZ FIND ;若ZF=1,表示已搜到,转出

MOV DI,0 ;若ZF=0,表示没搜到,DI 0

FIND:MOV BX,DI ;BX 搜索次数

HLT

说明:

DI初值存起始地址偏移量0,搜索一次后,DI自动加1,使DI的值等于1;

每执行一次搜索操作,DI自动增1;

因此可用DI的值表示搜索次数。

6、例若在数据段中有一个数据块,起始地址为BLOCK,数据块中的数为8位带符号数,要求将其中所含的正、负数分开,然后把正数送到附加段中始址为PLUS_DATA的缓冲区,负数则送到附加段中始址为MINUS_DATA的缓冲区。

分析:

把数据块作为数据串处理:

用SI作源串指针;

DI和BX分别作正、负数目的缓冲区的指针;

CX用于控制循环次数。

技巧:

使用STOSB指令必须以SI为源指针,DI为目的指针;

负数区的目的指针在BX中,要用XCHG指令将BX内容送进DI,让DI指向负数区,同时也把DI中的正数区目的指针保护了起来;

执行STOSB指令后,再用XCHG指令交换回来,以便下次重复执行时(转回GOON标号后),LODS指令仍能正确执行。

解:写出如下程序段:

START: MOV SI, OFFSET BLOCK ;SI为源串指针

MOV DI, OFFSET PLUS_DATA ;DI为正数目的区指针

MOV BX, OFFSET MINUS_DA TA ;BX为负数目的区指针

MOV CX, COUNT ;CX放循环次数

CLD

GOON: LODSB BLOCK ;AL←源操作数的一个字节

TEST AL, 80H ;是负数?

JNZ MINUS ;是,转MINUS

STOSB ;非负数,将字节送正数区

JMP AGAIN ;处理下一个字节

MINUS: XCHG BX, DI ;交换正负数指针

STOSB ;负数送入负数区

XCHG BX, DI ;回复正负数指针

AGAIN: DEC CX ;次数减1

JNZ GOON ;未处理完,继续传送

HLT ;停机

7、例设某个学生的英语成绩已存放在AL寄存器中,若低于60分,则打印F(FAIL);若高于或等于85分,则打印G(GOOD);当在60分和84分之间时,打印P(PASS)。

解:用下面程序实现要求的操作。

程序:

CMP AL,60 ;与60分比较

JB FAIL ;<60,转FAIL

CMP AL,85 ;≥60,与85分比较

JAE GOOD ;≥85,转GOOD

MOV AL,?P?;其它,将AL←?P?

JMP PRINT ;转打印程序

FAIL:MOV AL,?F?;AL←?F?

JMP PRINT ;转打印程序

GOOD:MOV AL,?G?;AL←?G?

PRINT:…;打印存在AL中的字符

8、例假设某温度控制系统中,从温度传感器输入一个8位二进制的摄氏温度值。当系统中温度低于100度时,则打开加热器;当温度上升到100度或100度以上时,关闭加热器,进行下一步处理。设温度传感器的端口号为320H,同时假设控制加热器的输出信号连到端口321H的最低有效位,当将这一位置1时,加热器便打开,清0时则关闭加热器。

解:实现上述温度控制的程序如下:

程序:

GET_TEMP:MOV DX,320H ;DX指向温度输入端口

IN AL,DX ;读取温度值

CMP AL,100 ;与100度比较

JB HEAT _ON ;<100度,加热

JMP HEAT _OFF ;≥ 100度,停止加热

HEAT _ON:MOV AL,01H ;D0位置1,加热

MOV DX,321H ;加热器口地址

OUT DX,AL ;打开加热器

JMP GET_TEMP ;继续检测温度

HEAT _OFF:MOV AL,00H ;D0位置0,停止加热

MOV DX,321H

OUT DX,AL ;关闭加热器

…;进行其他处理

9、例设商店里有8种商品,价格分别为83元,76元,65元,84元,7l元,49元,62元和58元,现要将每种商品提价7元,编程计算每种商品提价后的价格。

解:加法问题:将商品的原价按BCD码的形式,依次存放在标号为OLD开始的8个存储单元中,而新的价格存放进NEW开始的8个单元,然后用LOOP指令来实现8次循环。即

程序清单:

OLD DB 83H,76H,65H,84H

DB 71H,49H,62H,58H

NEW DB 8 DUP(?)

MOV CX,08H ;共8种商品

MOV BX,00H ;BX作指针,初值为0

NEXT: MOV AL,OLD[BX] ;读入一个商品的原价

ADD AL,7 ;加上提价因子

DAA ;调整为十进制

MOV NEW[BX] ,AL ;存放结果

INC BX ;地址指针加1

LOOP NEXT ;如未加满8次,继续循环

…;已加完8次

10、例这是一个用循环和跳转指令来控制PC机的扬声器发声的程序。在PC机中,61H端口的D1和D0位接到扬声器接口电路上,在D0=0的情况下:当Dl=1时,扬声器被接通,D1=0则断开,通过控制这一位的值,就能产生一个由1和0构成的二进制序列,使扬声器发声。

解:

IN AL,61H ;AL←从61H端口读取数据

AND AL,0FCH ;保护D7 ~D2位,D0位清零

MORE:XOR AL,02 ;触发D1位,使之在0和1间变化

OUT 61H,AL ;控制扬声器开关通断

MOV CX,260 ;CX=循环次数

DELAY:LOOP DELAY ;循环延时

JMP MORE ;再次触发

延时程序的实现:

MOV CX,10 ;循环次数为10

DELAY:LOOP DELAY ;本指令重复执行10次

11、例设有一个由50个字节组成的数组存放在ARRAY开始的内存单元中,现要对该数组中的元素进行测试,若元素为0,而且不是最后一个元素,便继续进行下一个元素的测试,直到找到第一个非零元素或查完了为止。

解:

ARRAY:DB × ×,× ×,…;含50个元素的数据

MOV BX,OFFSET ARRAY ;BX指向数组开始单元

DEC BX ;指针减1

MOV CX,50 ;CX=元素个数

NEXT: INC BX ;指向数组的下个元素

CMP [BX],00H ;数组元素与0比较

LOOPE NEXT ;若元素为0 ;和

CX≠0,循环

…;否则,继续查找

12、例设一个由17个字符组成的字符串存放在STRING开始的内存中,查找该字符串中是否包含空格符。若没有找到和尚未查完,测继续查找,直到找到第一个空格符或查完了才退出循环。

解:

下面是实现上述操作的程序:

STRING:DB ‘Personal Computer’;字符串

MOV BX,OFFSET STRING ;BX指向字符串的开始

DEC BX ;BX-1

MOV CX,17 ;CX=字符串长度

NEXT: INC BX ;指向下一个字符串

CMP [BX],20H ;字符串元素与空格比较

LOOPNE N EXT ;找到空格或CX已为0

13、例设CPU的时钟频率为5MHZ,试编写一个延时1ms的程序。

解:程序如下:

;时钟周期×执行次数

DEL_1MS:MOV CX,N ;4 ×1

NEXT:NOP ;3×N

NOP ;3×N

LOOP NEXT ;循环时为17,不循环为5

延时常数N的计算:

CPU的时钟频率为5MHZ,则一个时钟周期为:0.2us。

延时t=1ms所需要的总的时钟周期数CT为:CT =1s/0.2us=5000

总的时钟周期数CT又可以用循环常数N来表示:

∵CT=4+3N+3N+17(N-1)+5=23N-8=5000

∴N=(5000+8)/23=218=0DAH,可实现1ms的精确延时。

(注:第一条指令只执行一次;两条NOP指令各执行N次;最后的LOOP指令,共循环执行N一1次,最后一次不循环)

14、例若希望获得时间更长的延时,可以采用嵌套的多重循环程序来实现。这时程序中往往有两个定时常数,通常先指定其中的一个,再计算出另一个。

解:观察下面的程序:

;时钟×次数

MOV BX,N1 ;4 ×1

CNT1:MOV CX,N2 ;4 ×N1

CNT2:LOOP CNT2 ;(17×N2-12)×N1

DEC BX ;2×N1

JNZ CNT1 ;16 ×N1 -12

上面程序执行所需要的总的时钟周期数CT为:

CT=4+(4×N1)+((17×(N2-1)+5)×N1)+(2×N1)+(16×(N1-1)+4)

=4+(4×N1)+((17×N2-12)×N1)+(2×N1)+(16×N1-12)

=17×N1×N2+10×N1-8

假设CPU的时钟频率仍为5MHz,可根据所需的延时,计算出总的时钟周期数。然后,

先选定常数N2,再根据上式算出N1来。

15、例两个16位无符号二进制数相乘

DDATA SEGMENT ;数据段

D1 DW 1234H

D2 DW 5678H

P1 DD ?

P2 DD ?

DDATA ENDS

EDATA SEGMENT ;附加段

E1 DB ?

E2 DW 4 DUP (?)

EDATA ENDS

SSTACK SEGMENT STACK ‘STACK’

DW 100 DUP (?)

SSTACK ENDS

CCODE SEGMENT

MAIN PROC FAR

ASSUME CS:CCODE, DS:DDATA, ES:EDA TA, SS:SSTACK

START:

PUSH DS ;返回DOS用

SUB AX, AX

PUSH AX

MOV AX, SSTACK ;初始化SS

MOV SS, AX

MOV AX, DDA TA ;初始化DS

MOV DS,AX

MOV AX, EDA TA ;初始化ES

MOV ES, AX

L1: MOV BX, OFFSET D1 ;D1*D2,积在(DX,AX)MOV AX, [BX]

MOV DX, 0

MUL WORD PTR [BX+2]

MOV BX, OFFSET P1 ;积→P2和P1所指向的存储单元MOV [BX], AX

MOV [BX+2], DX

RET

MAIN ENDP

CCODE ENDS

END START

16、例用过程调用的方法,将内存中N个BCD码相加。

DA TA SEGMENT

ONE DB 22,33,44,55

TWO DB 55,66,77,88

SUM DB 20 DUP(?)

DA TA ENDS

STACK SEGMENT STACK

STT DB 50 DUP(?)

TOP EQU LENGTH STT

STACK ENDS

CODE SEGMENT

MAIN PROC FAR

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

START: MOV AX, STACK

MOV SS, AX

MOV SP, TOP

PUSH DS

SUB AX,AX

PUSH AX

MOV AX, DA TA

MOV DS, AX

MOV SI, OFFSET ONE ;SI指向第一个加数

MOV BX, OFFSET TWO

MOV DI, OFFSET SUM

CLD ;清方向标志

CLC ;清进位标志

MOV CX, 4

LL: CALL ABC

LOOP LL

RET

MAIN ENDP

ABC PROC NEAR ;完成单字节数据加法运算

LODSB ;【SI】→AL, SI+1→SI

L1: ADC AL, [BX] ;相加

DAA ;十进调整

STOSB ;AL→[DI],DI+1→DI

INC BX ;指针改变

RET

ABC ENDP

CODE ENDS

END START

17、例5-1 内存中TABLE开始存放0~9的平方值,通过人机对话,当任给定一个数X(0~9),查表得X的平方值,放在AL中。

解:DATA SEGMENT

TABLE DB 0,1,4,9,16,25,36,49,64,81

BUF D B ‘Please input one number (0~9):’,0DH,0AH,‘$’DA TA ENDS

STACK SEGMENT PARA STACK ‘STACK’

DB 50 DUP(?)

TOP LABEL WORD

STACK ENDS

CODE SEGMENT

MAIN PROC FAR

ASSUME CS:DA TA, DS:DATA, SS:STACK

START:MOV AX, DA TA ;段初始化

MOV DS, AX

MOV AX, STACK

MOV SS, AX

MOV SP, OFFSET TOP

MOV BX, OFFSET TABLE

NEXT: MOV DX, OFFSET BUF ;9号功能调用,提示输入一个数(P161) MOV AH, 9

INT 21H

MOV AH, 1 ;1号功能调用,键入数送AL (P159)

INT 21H

MOV AH, 0 ;查表得输入数的平方值

AND AL, 0FH

ADD BX, AX

MOV AL, [BX]

MOV AH, 4CH

INT 21H

RET

MAIN ENDP

CODE ENDS

END START

18、存储器中有一串字符串首址为BUF,字符串长度N小于256,要求分别计算出其中数字‘0’~‘9’,字母‘A’~‘Z’和其它字符的个数,并分别将它们的个数存放到此字符串的下面三个单元中。

解:DATA SEGMENT

BUF D B N

DB 01H,38H,47H,60H, …76H

NUM DB 3 DUP (?)

DA TA ENDS

CODE SEGMENT

MAIN PROC FAR

ASSUME CS:CODE ,DS:DATA

START:PUSH DS

SUB AX, AX

PUSH AX

MOV AX, DATA

MOV DS, AX

MOV CH, N ;数组个数N→CH

MOV BX, 1

MOV DX, 0 ;DH计数字的个数,DL计字母的个数LP:MOV AH, BUF [BX]

CMP AH, 30H

JL NEXT ;小于‘0’转

CMP AH, 39H

JG ABC ;大于‘9’转

INC DH ;数字个数加1

JMP NEXT

ABC:CMP AH, 41H

JL NEXT ;小于‘A’转

CMP AH, 5AH

JG NEXT ;大于‘Z’转

INC DL ;字母的个数加1

NEXT: INC BX ;数组地址加1

DEC CH ;计数器减1

JNZ LP

MOV BUF[BX], DH ;数字的个数送入内存单元

MOV BUF[BX+1], DL ;字母的个数送入内存单元

MOV AH, N

SUB AH, DH ;N―DH―DL=其它字符的个数

SUB AH, DL

MOV BUF[BX+2], AH ;其它字符的个数送入内存单元

RET

MAIN ENDP

CODE ENDS

END START

19、设有首地址为BUFFER的数组,已按升序排好,数组长度N=10,在数组中查找数M(=80),若找到则从数组中删掉,若找不到将它插入正确的排序位置,DX中记录数组最后的长度。

解:DATA SEGMENT

BUFFER DW 5,10,32,47,53,77,89,106,115,124

N EQU 10

M EQU 80

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DA TA, ES:DA TA MAIN PROC FAR

START:PUSH DS

SUB AX, AX

PUSH AX

MOV AX, DA TA

MOV DS, AX

MOV ES, AX

MOV AX, M ;待查数→AX

MOV CX, N ;计数→CX

MOV DX, N

MOV DI, OFFSET BUFFER

CLD

REPNE SCASW ;串扫描查找

JE DEL ;查到ZF=1

DEC DX ;未查到,此数插入正确位置

MOV SI, DX ;关键字与最后一个数比较

ADD SI, DX

L1:CMP AX, BUFFER[SI]

JL L2 ;关键字比较组中某个字小

MOV BUFFER[SI+2], AX ;否则插在后面

JMP L3

L2:MOV BX, BUFFER[SI] ;数组下移一位

MOV BUFFER[SI+2], BX

SUB SI, 2

JMP L1

L3:ADD DX, 1 ;修改长度

JMP NEXT1

DEL:JCXZ NEXT ;找到,删此元素

DEL1:MOV BX, [DI] ;其后元素依次前移

MOV [DI-2], BX

ADD DI, 2

LOOP DEL1

NEXT:DEC DX ;改变数组长度

NEXT1:RET

MAIN ENDP

CODE ENDS

END START

解:MOV SI, OFFSET BUF ;设置内存地址

MOV CH, 4 ;计数初值=4

NEXT:MOV C L, 4

ROL BX, CL ;最高位移到右边

MOV AL, BL ;一个数转换成ASCII码

AND AL, 0FH

ADD AL, 30H

CMP AL, 3AH ;字符为A~F吗?

JL STORE

ADD AL, 7

STORE:MOV [SI], AL ;字符存入内存

MOV AH, 2 ;调用屏幕显示(P161)

MOV DL, AL

INT 21H

INC SI ;修改计数并判断

DEC CH

JNZ NEXT

HLT ;循环结束

21、AX寄存器中有一个16位二进制数,编程统计其中1的个数,结果放到CL寄存器。

解:相应程序如下

MOV CL, 0 ;初始化

L1:AND AX, AX ;控制循环

JZ STOP

SAL AX, 1 ;循环体

JNC L2

INC CL

L2:JMP L1

STOP:HLT

22、存储器数据段从BUF开始存放一个字数组,数组中第一个字中存放该数组的长度N,编制一个程序使此数组中的数据按照从小到大的次序排列。

解:ADA TA SEGMENT

BUF D W N,15,37,8600,A768H,3412H,1256H,76H

ADATA ENDS

ASTACK S EGMENT STACK ‘STACK’

SA DB 100 DUP(?)

TOP LABEL WORD

ASTACK ENDS

ACODE SEGMENT

ASSUME CS:ACODE, DS:ADA TA, SS:ASTACK MAIN PROC FAR

START:MOV AX, ASTACK

MOV SS, AX

MOV SP, OFFSET TOP

PUSH DS

SUB AX, AX

PUSH AX

MOV AX , ADTA T

MOV DS, AX

MOV BX, 0

MOV CX, BUF[BX] ;设计数器CX,内循环次数

DEC CX

L1:MOV DX, CX ;设计数器DX,外循环次数

L2:ADD BX, 2

MOV AX, BUF[BX] ;取BUF[I]与BUF[I+2]

CMP AX, BUF [BX+2] ;若BUF[I]<=BUF[I+2]转

JBE CONT1

XCHG AX, BUF[BX+2] ;否则两数交换

MOV BUF[BX], AX

CONT1:LOOP L2 ;内循环

MOV CX, DX ;外循环次数→CX

MOV BX, 0 ;地址返回第一个数据

LOOP L1 ;外循环

RET

MAIN ENDP

ACODE ENDS

END START

23、排序可采用另一种算法,用设置标志的方法排序。当排序已完成,即没有数进行交换时,可以结束外循环,不必循环N—l遍,节省了操作时间。设立一个FLAG位作标志,进入外循环时标志为0,在内循环中每进行一次交换,标志置1。内循环结束测试标志,若

为1再一次进入外循环;若为0表示内循环没有进行数据交换,可以结束外循环了。下面给出了排序算法2的有关程序。

MAIN PROC FAR

START:MOV DI, OFFSET BUF ;数组起始地址

MOV CX, [DI] ;设计数器CX, 内循环用DEC CX ;N-1,内循环次数

L1:MOV DX, CX ;设计数器DX,外循环用

MOV BH, 0 ;BH为FLAG

L2:ADD DI, 2

MOV AX, [DI] ;若BUF[I]>BUF[I+1],两数交换,FLAG=1

CMP AX, [DI+2]

JBE CONTI

XCHG AX, [DI+2]

MOV [DI], AX

MOV BH, 1

CONTI :LOOP L2

CMP BH, 0 ;FLAG=0,内循环未交换数,跳出外循环,;否则DX-1,又一次内循环,继续比较

JE STOP

MOV CX, DX

MOV DI, OFFSET BUF

LOOP L1

STOP:RET

24、有一个子程序说明如下:

;名称:BCD2BIN

;功能:将一个字节的BCD码转换成二进制数

;所用寄存器:CX

;入口参数:AL存放两位BCD码

;出口参数:AL存放二进制数

;调其它子程序:无

子程序形式如下;

BCD2BIN PROC NEAR(或FAR)

PUSH CX

MOV CH, AL

AND CH, 0FH ;存低8位

MOV CL, 4

SHR A L, CL ;高8位右移4位后乘10

MOV CL, 10

MUL CL

ADD AL, CH ;高8位加低8位

POP CX

RET

BCD2BIN ENDP

25、数据段定义两个数组,编程序实现数组段分别求和(不计溢出)。

解:本例通过存储器来传递参数。相应程序如下:

DA TA SEGMENT

ARY1 DW 100 DUP(?) ;定义数组1

SUM1 DW ?

ARY2 DW 100 DUP(?) ;定义数组2

SUM2 DW ?

DA TA ENDS

STACK SEGMENT STACK

SA DW 50 DUP(?)

TOP EQU LENGTH SA

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA,SS:STACK

MAIN PROC FAR

START:

MOV AX, DA TA

MOV DS, AX

MOV AX, STACK

MOV SS, AX

MOV SP, TOP

LEA SI, ARY1 ;数组1首地址,入口参数

MOV CX, LENGTH ARY1 ;数组1长度,入口参数

CALL SUM ;调用求和子程序

LEA SI, ARY2 ;数组2首地址,入口参数

MOV CX, LENGTH ARY2 ;数组2长度,入口参数

CALL SUM ;调用求和子程序

RET

MAIN ENDP

SUM PROC NEAR ;子程序

XOR AX, AX ;AX清0

L1:ADD AX, WORD PTR[SI] ;加数组元素

INC SI

INC SI

LOOP L1

MOV WORD PTR[SI], AX ;数组和送入SUM

MOV AH, 4CH

INT 21H

RET

SUM ENDP ;子程序返回

CODE EDNS

END START

26、通过堆栈传递参数,实现十进制数数组求和,要求主程序和过程不在同一个代码段中,

要进行段间调用。相应程序如下:

MDATA S EGMENT

ARY1 DW 20 DUP(?) ;定义数组1

SUM1 DW ?

ARY2 DW 20 DUP(?) ;定义数组2

SUM2 DW ?

MDATA ENDS

MSTACK SEGMENT STACK

SB DW 100 DUP(?)

TOP LABEL WORD

MSTACK ENDS

MCODE SEGMENT ;主程序段

ASSUME CS:MCODE,DS:MDATA,SS:MSTACK MAIN PROC FAR

START:MOV AX, MSTACK

MOV SS, AX

MOV SP, OFFSET TOP

PUSH DS ;初始化DS, SS, SP

MOV AX, 0

PUSH AX

MOV AX, MDATA

MOV DS, AX

MOV AX, OFFSET ARY1 ;PADD过程入口参数进栈

PUSH AX ;数组地址

MOV AX, SIZE ARY1 ;数组长度

PUSH AX

CALL FAR PTR PADD

MOV AX, OFFSET ARY2

PUSH AX

MOV AX, SIZE ARY2

PUSH AX

CALL FAR PTR PADD

RET

MAIN ENDP

MCODE ENDS

PCODE SEGMENT ;过程段

ASSUME CS:PCODE, DS:MDA TA, SS:MSTACK PADD PROC FAR

PUSH BX ;寄存器保护

PUSH CX

PUSH BP

MOV BP, SP

PUSHF ;标志入栈

MOV CX, [BP+10] ;数组长度→CX

MOV BX, [BP+12] ;数组ARY起始地址→BX

MOV AX, 0

NEXT:ADD AL, [BX] ;数组相加

DAA

MOV DL, AL ;‘低位和’入DL暂存

MOV AL, 0

ADC AL, AH ;AH+进位→AL

DAA

MOV AH, AL ;进位→AH

MOV AL, DL ;从DL中取回低位和

INC BX

LOOP NEXT

MOV [BX], AX ;送数组和→SUM

POPF ;标志出栈

POP BP

POP CX

POP BX

RET 4 ;返回作废参数

;弹出返回地址后,再弹出4个字节数据

PADD ENDP

PCODE ENDS

END START

27、己知两个无符号数125及468,求它们的和并将和转换成十六进制数在屏幕上显示DA TA SEGMENT

P DW 125, 368

SUM DW ?

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

MAIN PROC FAR

START PUSH DS

XOR AX, AX

PUSH AX

MOV AX, DATA

MOV DS, AX

MOV SI, OFFSET P ;数组起始地址→SI

CALL PADD ;两数相加子程序

RET

MAIN ENDP

PADD PROC NEAR ;两数相加子程序

PUSH AX

PUSH BX

PUSH CX

PUSH DX

MOV AX, [SI] ;数组起始地址→SI

ADD AX, [SI+2]

MOV SUM, AX

CALL DISP ;显示子程序

POP DX

POP CX

POP BX

POP AX

RET

PADD ENDP

DISP PROC NEAR ;显示子程序

MOV BX, SUM

MOV CH, 4 ;16进制数的位数

L1:MOV CL, 4

ROL B X, CL ;循环左移4次:高4位→低4位

MOV AL, BL

AND AL, 0FH

ADD AL, 30H ;化成ASCII码

CMP AL, 3AH

JL L2

ADD AL, 07H

L2:MOV DL, AL ;显示(P161)

MOV AH, 2

INT 21H

DEC CH

JNZ L1

RET

DISP ENDP

CODE ENDS

END START

28、要求计算N!(N>=0)

解:递归调用的应用:

N!=N*(N一1)* (N一2)…*1

N !=1,N=0

N !=N *(N一1)!,N>0

计算核心:N!子程序。注意入栈信息。

N!子程序说明:

;名称:FACT

;功能:阶乘子程序

;入口参数:AL=N

;出口参效:DX=N!

;使用寄存器:CX

具体程序如下:

ADA TA SEGMENT

D1 DB 4 ;N=4

D2 DW 2 DUP(?) ;存放运算结果

ADA TA ENDS

ASTACK S EGMENT PARA STACK ‘STACK’

SA DW 100 DUP(?)

TOP LABEL WORD

ASTACK E NDS

ACODE S EGMENT

ASSUME CS:ACODE, DS:ADATA, SS:ASTACK MAIN PROC FAR

START:MOV AX, ASTACK

MOV SS, AX

MOV SP, OFFSET TOP

PUSH DS

MOV AX, 0

PUSH AX

MOV AX, ADATA ;初始化DS, SS, SP

MOV DS, AX

MOV DX, 0 ;DX = N!

MOV AH, 0 ;AH清零,为AL入栈保护

MOV BX, OFFSET D1 ;数据指针

MOV AL, [BX] ;AL=N,子程序的入口参数

CALL FACT

LP1:MOV [BX+1], DX

RET

MAIN ENDP

FACT PROC ;N!子程序

CMP AL, 0

JNZ CHN

MOV DL, 1 ;N=0, N!=1

RET

CHN:PUSH AX ;N入栈

DEC AL ;N-1

CALL FACT ;递归调用FACT子程序LP2:POP AX ;N弹出

MUL DL ;N逐层返回相乘

MOV DX, AX ;送结果到内存

RET

FACT ENDP

ACODE ENDS

END START

29、将十六位二进制数转换成4位压缩型BCD码算法:将AX中的二进制数先后除以l000、100和10,每次除法所得的商,即是BCD数的千位、百位和十位数,余数是个位数。

子程序名:B2TOBCD

输入参数:

AX=十六位二进制数

输出参数:

CF=0,则AX=4位压缩型BCD码;

CF=1,则要转换的数大于9999,AX不变。

使用寄存器:

CX:存放除数;

DX:存放中间结果。

B2TOBCD PROC FAR

CMP AX, 9999 ;AX>9999,则CF置1

JBE TRAN

STC

JMP EXIT

TRAN: PUSH CX

PUSH DX

SUB DX, DX ;DX清0

MOV CX, 1000 ;计算千位数

DIV CX ;商在AX,余数在DX

XCHG AX, DX ;商在DX中,余数在AX中;DX=_ _ _ ×

MOV CL, 4

SHL DX, CL ;DX左移4位,DX=_ _ ×_

MOV CL, 100 ;计算百位数

DIV CL

ADD DL, AL ;百位数加到DL中,DX=_ _ ××

MOV CL, 4

SHL DX, CL ;DX左移4位,DX=_ ××_

XCHG AL, AH ;余数保留在AL中

SUB A H, AH

MOV CL, 10 ;计算十位数

DIV CL

ADD DL, AL ;十位数加到DL中,DX=_×××

MOV CL, 4

SHL DX, CL ;DX左移4位,DX=×××_

ADD DL, AH ;加个位数,DX=××××

MOV AX, DX ;结果送到AX中

POP DX

POP CX

微机原理试题及答案

1 一、选择题(20分,在每小题的4个备选答案中选出一个正确的答案编号填写在该题空白处,每题2分) 1.指令MOV DX,[BX]的寻址方式是 D 。 (A)立即寻址(B)直接寻址(C)寄存器寻址(D)寄存器间接寻址2.若AL的内容为3FH,执行SHL AL,1指令后,AL的内容为 A 。 (A)7EH (B)1FH (C)9FH (D)7FH 解析:shl al ,1 即目的操作数各位左移一次,移动一次,相当于将目的操作数乘以2。3fh=63 63*2=126 126=7eh 故选A 3.属于在工作中需定时刷新的存储器的芯片是 B 。 (A)SRAM (B)DRAM (C)EEPROM (D)EPROM 4.某EPROM芯片上有19条地址线A 0~A 18 ,它的容量为 C 。 (A)128K (B)256K (C)512K (D)1024K 5.8086/8088CPU的SP寄存器是多少位的寄存器 B 。 (A)8位(B)16位(C)24位(D)32位 6.在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址, 该寄存器是 D 。 (A)SP (B)BX (C)SI (D)DI 解析:stos数据串存储指令功能:将累加器al或ah中的一个字或字节,传送到附加段中以di为目标指针的目的串中,同时修改di,以指向串中的下一个单元。 7.8255工作在方式0时,下面哪种说法不正确 C 。 (A)A口输入无锁存能力(B)A、B口输出有锁存能力 (C)C口输入有锁存能力(D)A、B、C三个口输出均有锁存能力 解析:对于方式0,规定输出信号可以被锁存,输入不能锁存 8.采用DMA方式来实现输入输出是因为它 A 。 (A)速度最快(B)CPU可不参与操作(C)实现起来比较容易(D)能对突发事件做出实时响应 9.工作在最小模式下,8086/8088CPU芯片中,将地址信号锁存的信号是 C 。 (A)DT/R (B)DEN (C)ALE (D)AEN 10.在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器是用寄存 器 C 。 (A)AX (B)BX (C)CX (D)DX 解析:loop:循环指令。指令执行前必须事先见重复次数放在cx寄存器中,每执行一次loop指令,cx自动减1。 二、填空题(每小题2分,共10分) 1.两个无符号数相等,该两数相减后ZF标志= 1 。解析:zf: 全零标志位。本次运算结果为0时,zf=1,否则zf=0。 2.执行LODSB后,SI的内容较该指令执行前增加1,说明DF= 0 。

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

第一章 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原 [-42]反 [-42]补 [+85]原=01010101B=[+85]反=[+85]补 [-85]原 [-85]反 [-85]补 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行 两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS: SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

微机原理习题解答第四章-

第四章 1.在下列程序运行后,给相应的寄存器及存储单元填入运行的结果: MOV AL,10H MOV CX,1000H MOV BX,2000H MOV [CX],AL XCHG CX,BX MOV DH,[BX] MOV DL,01H XCHG CX,BX MOV [BX],DL HLT 解:寄存器及存储单元的内容如下: AL=10H BL=00H BH=20H CL=00H CH=10H DL=01H

DH=10H (1000H=10H (2000H=01H 2.要求同题4.1,程序如下: MOV AL,50H MOV BP,1000H MOV BX,2000H MOV [BP],AL MOV DH,20H MOV [BX],DH MOV DL,01H MOV DL,[BX] MOV CX,3000H HLT 解:寄存器及存储单元的内容如下: BL=00H BH=20H CL=00H CH=30H

DL=20H DH=20H BP=1000H (1000H=50H (2000H=20H 3.自1000H单元开始有一个100个数的数据块,若要把它传送到自2000H开始的存储区中去,可以采用以下三种方法实现,试分别编写程序以实现数据块的传送。 (1不用数据块传送指令。 (2用单个传送的数据块传送指令。 (3用数据块成组传送指令。 解:(1LEA SI,1000H LEA DI,2000H MOV CX,100 L1: MOV AX,[SI] MOV [DI],AX LOOP L1 HLT (2LEA SI,1000H LEA DI,2000H

微机原理与接口习题1_

第1章习题 1、诺依曼计算机的涵是什么?这种计算机的程序运行是由指令流驱动的还是数据流驱动的? 2、微型计算机系统有哪三个层次?试简述它们的涵及其联系和区别。 3、为什么把微型计算机的基本结构说成是总线结构?试简述总线结构的优点。 4、微型计算机硬件系统由哪些部分组成?各组成部分的功能是什么? 5、计算机分那几类?各有什么特点? 6、微处理器应包含的最基本功能部件是哪些? 7、微计算机应包含的最基本功能部件是哪些? 8、微型计算机系统有哪几部分组成,简述各部分功能特点? 9、一个完整的计算机系统通常包括系统软件和应用软件、硬件系统和软件系统、计算机及其外部设备、系统硬件和系统软件这四种组合中的哪一种? 第1章习题解答 1、诺依曼计算机的涵是什么?这种计算机程序运行是由指令流驱动的还是数据流驱动的? 答:诺依曼计算机的涵: 由运算器、控制器、存储器、输入设备、输出设备5大部分组成计算机硬件。 数据和计算机指令采用二进制数形式表示,存储在计算机部存储器中。 计算机工作原理的核心是“存储程序”和“程序控制”。事先编制好的由计算机指令组成的程序在执行前先装入存储器,控制器依据程序中的指令顺序而复始地取出指令、分析指令、执行指令,根据指令的功能进行相应的运算,直到完成全部指令操作为止. 程序的运行是通过指令流来驱动的。 2、微型计算机系统有哪三个层次?试简述它们的涵及其联系和区别。 答:微型计算机系统的三个层次:微处理器、微型计算机和微型计算机系统。 三者的涵: 微处理器是利用大规模集成电路技术,将组成计算机的核心部件——运算器和控制器集成在一块硅片上的集成电路,简称MPU,习惯上称CPU。 微型计算机则是以微处理器为核心,配以存储器、输入/输出(I/O)接口电路,通过总线结构连接而构成的裸机。 微型计算机系统是由微型计算机配以相应的外围设备(如键盘、显示器、打印机、外存储器等)、电源和其他辅助设备(如面板、机架等),以及控制微型计算机工作的软件而构成的完整的计算系统。 它们三者之间是从局部到全局的关系。单纯的微处理器和单纯的微型计算机都不能独立工作。只有微型计算机系统才是完整的计算系统,才可正常工作。 3、为什么把微型计算机的基本结构说成是总线结构?试简述总线结构的优点。 答:在微型计算机中,各组成部分之间是通过总线(包括地址总线、数据总线、控制总线)连接在一起而构成一个整体的,它们之间的信息交换也是通过总线进行。CPU通过总线与存储器和I/O接口电路连接,I/O接口和外设也是通过总线连接,即使在CPU部,它的各功能部件也是通过总线相连的。因此微型计算机的基本结构就是总线结构。 微型计算机采用总线结构后,系统中各功能部件之间的相互关系变为各部件面向总线的单一关系。一个部件只要满足总线标准,就可直接连接到采用这种总线标准的系统中。这使得系统的设计与构造非常便,同时也便于系统的扩充、升级和维修。 4、微型计算机硬件系统由哪些部分组成?各组成部分的功能是什么? 答:微型计算机硬件系统主要由CPU、存储器、I/O接口电路、输入/输出设备、总线,以及电源和一些辅助设备构成。 CPU:微机系统的核心部件,是运算和指挥控制中心。 存储器:包括存和外存,是微机系统的存储和记忆部件,用以存放数据和程序。 I/O接口电路:CPU与输入/输出设备的连接与信息交换不能直接进行,I/O接口电路充当了二者之间的“桥梁”。 输入/输出设备:计算机与外界(人或其他设备,包括另一台计算机)联系和沟通的桥梁,用户通

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

《微机原理及应用》试题库 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, V1D. MOV2000H, V2 9. –49D 的二进制补码为A。

最新微机原理习题与答案

微机原理习题与答案

微机原理习题与答案 第一章微机基础 1-1微处理器、微机与微机系统三者之间有什么不同? 答: 微处理器一般也称为CPU,它本身具有运算能力和控制功能。微型计算机是由CPU、存储器、输入/输出接口电路和系统总线构成的裸机系统。微型计算机系统是以微型计算机为主机,配上系统软件和外设之后而构成的计算机系统。微处理器是微型计算机的一组成部分,而微型计算机又是微型计算机系统的一组成部分。 1-2 CPU在内部结构上由那几部分组成? 答:8位CPU在内部结构上由寄存器阵列、算术逻辑运算单元ALU、控制器和内部总线及缓冲器等部分组成。 1-3总线接口部件有哪些功能? 8086的执行部件有什么功能? 答:总线接口部件的功能是负责与存储器、I/O端口传送数据。 执行部件的功能是负责指令的执行。 1-4 8086/8088的状态标志和控制标志分别有哪些? 答:8086/8088的状态标志有6个:CF、AF、SF、PF、OF、ZF,控制标志有3个:TF、DF、IF。 1-5 8086/8088和传统的8位计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 答:8位饥是取一条指令,执行一条,再取,再执行; 8088执行时,取指与执行几乎是同时进行的。

1-6 8086/088微处理器中有哪些寄存器?通用寄存器中哪些可以作地址指针用? 答:8086/8088各有14个寄存器,它们可分为3组: (1)四个通用寄存器和四个变址和指针寄存器,即AX,BX,CX,DX,SP,BP,SI,DI。 (2)四个段寄存器,即CS,DS,SS,ES。 (3)两个控制寄存器,即IP,FR。 1-7 8086/8088 20位物理地址是怎么样形成的?当CS=2000H, IP=0100H,其指向的物理地址等于多少? 答:物理地址=段地址×16+段内偏移地址。 20100 2-1 试述8088微处理器的各种寻址方式,并写出各种寻址方式的传送指令1~~2条(源操作数寻址与目的操作数寻址) 答:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,变址寻址,基址加变址寻址。 第三章汇编语言程序设计 3-2指令AND AX,X AND Y中X和Y是两个已赋值的常量,问:两个AND操作分别在什么时间进行?功能上有何区别? 答:指令中的X AND Y操作在程序汇编时进行,该操作完成后得到一个数,即为指令中的第二操作数。由此得到“AND AX,立即数”这样形式的一条指令,由汇编器将其翻译为机器码。该指令中的AND操作由CPU在执行指令时完成,结果存于AX中,并影响F寄存器。 3-3指出以下三条指令的区别(NUM为数据段一个变量名)。

微机原理习题解答

第一章微型计算机的基础知识 1-1 将下列十进制数转换为二进制数、十六进制数。 (1)110 (2)1 039 (3)0.75 (4)0.156 25 1-2 将下列十进制数转换为BCD 码。 (1)129 (2)5 678 (3)0.984 (4)93.745 1-3 将下列二进制数转换为十进制数、十六进制数。 (1)10101010 (2)10000000 (3)11000011.01 (4)01111110 1-4 将下列十六进制数转换为二进制数、十进制数。 (1)8E6H (2)0A42H (3)7E.C5H (4) 0F19.1DH 1-5 将下列二进制数转换为BCD 码。 (1)1011011.101 (2)1010110.001 1-6 将下列BCD 码转换为二进制数。 (1)(0010 0111 0011) BCD (2)(1001 0111.0010 0101) BCD 1-7 完成下列二进制数的运算。 (1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101 1-8 完成下列十六进制数的运算。 (1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH 1-9 已知X=01H,Y=0FFH ,在下面的情况下比较两数的大小。 (1)无符号数 (2)符号数 (均为补码) 1-10 计算下列各表达式。 (1)101+‘A’+01101001B+0D5H+57Q (2)127.8125+10111101.101+375.63Q+1FC.8AH 1-11 写出下列字符串的ASCII 码。 (1)HELLO (2)A8=

微机原理与接口习题

第1章习题 1、冯诺依曼计算机的内涵是什么这种计算机的程序运行是由指令流驱动的还是数据流驱动的 2、微型计算机系统有哪三个层次试简述它们的内涵及其联系和区别。 3、为什么把微型计算机的基本结构说成是总线结构试简述总线结构的优点。 4、微型计算机硬件系统由哪些部分组成各组成部分的功能是什么 5、计算机分那几类各有什么特点 6、微处理器应包含的最基本功能部件是哪些 7、微计算机应包含的最基本功能部件是哪些 8、微型计算机系统有哪几部分组成,简述各部分功能特点 9、一个完整的计算机系统通常包括系统软件和应用软件、硬件系统和软件系统、计算机及其外部设备、系统硬件和系统软件这四种组合中的哪一种 第1章习题解答 1、冯诺依曼计算机的内涵是什么这种计算机程序运行是由指令流驱动的还是数据流驱动的 答:冯诺依曼计算机的内涵: 由运算器、控制器、存储器、输入设备、输出设备5大部分组成计算机硬件。 数据和计算机指令采用二进制数形式表示,存储在计算机内部存储器中。 计算机工作原理的核心是“存储程序”和“程序控制”。事先编制好的由计算机指令组成的程序在执行前先装入存储器,控制器依据程序中的指令顺序周而复始地取出指令、分析指令、执行指令,根据指令的功能进行相应的运算,直到完成全部指令操作为止. 程序的运行是通过指令流来驱动的。 2、微型计算机系统有哪三个层次试简述它们的内涵及其联系和区别。 答:微型计算机系统的三个层次:微处理器、微型计算机和微型计算机系统。 三者的内涵: 微处理器是利用大规模集成电路技术,将组成计算机的核心部件——运算器和控制器集成在一块硅片上的集成电路,简称MPU,习惯上称CPU。 微型计算机则是以微处理器为核心,配以内存储器、输入/输出(I/O)接口电路,通过总线结构连接而构成的裸机。 微型计算机系统是由微型计算机配以相应的外围设备(如键盘、显示器、打印机、外存储器等)、电源和其他辅助设备(如面板、机架等),以及控制微型计算机工作的软件而构成的完整的计算系统。 它们三者之间是从局部到全局的关系。单纯的微处理器和单纯的微型计算机都不能独立工作。只有微型计算机系统才是完整的计算系统,才可正常工作。 3、为什么把微型计算机的基本结构说成是总线结构试简述总线结构的优点。 答:在微型计算机中,各组成部分之间是通过总线(包括地址总线、数据总线、控制总线)连接在一起而构成一个整体的,它们之间的信息交换也是通过总线进行。CPU通过总线与存储器和I/O接口电路连接,I/O接口和外设也是通过总线连接,即使在CPU内部,它的各功能部件也是通过总线相连的。因此微型计算机的基本结构就是总线结构。 微型计算机采用总线结构后,系统中各功能部件之间的相互关系变为各部件面向总线的单一关系。一个部件只要满足总线标准,就可直接连接到采用这种总线标准的系统中。这使得系统的设计与构造非常方便,同时也便于系统的扩充、升级和维修。 4、微型计算机硬件系统由哪些部分组成各组成部分的功能是什么 答:微型计算机硬件系统主要由CPU、存储器、I/O接口电路、输入/输出设备、总线,以及电源和一些辅助设备构成。 CPU:微机系统的核心部件,是运算和指挥控制中心。 存储器:包括内存和外存,是微机系统的存储和记忆部件,用以存放数据和程序。 I/O接口电路:CPU与输入/输出设备的连接与信息交换不能直接进行,I/O接口电路充当了二者之间的“桥梁”。 输入/输出设备:计算机与外界(人或其他设备,包括另一台计算机)联系和沟通的桥梁,用户通过输入/输出设备与微机系统互相通信。

微机原理习题及答案

一、选择 1、在微型计算机中,微处理器的主要功能是进行( )。 D A、算术运算 B、逻辑运算 C、算术、逻辑运算 D、算术、逻辑运算及全机的控制 2、Pentium I属于()位CPU C A、16 B、8 C、32 D、64 3、Intel 8086属于()位CPU A A、16 B、8 C、32 D、64 4、CPU与I/O设备间传送的信号通常有( ) D A、控制信息 B、状态信息 C、数据信息 D、以上三种都有 5、存储器用来存放计算机系统工作时所需要的信息,即( )。 D A、程序 B、数据 C、技术资料 D、程序和数据 6、运算器的核心部件是( )。 D A、加法器 B、累加寄存器 C、多路开关 D、算逻运算单元 二、填空 1、内存可分为2大类:随机存储器RAM 和 2、数据总线是向的,地址总线是向的。 3、计算机的五大部件是:、、、、输出设备 4、总线可分为三类:、、 5、存储程序工作原理最先由提出 6、在计算机内部,一切信息的存取、处理和传送都是以形式进行的。 1、只读存储器ROM 2、双、单 3、运算器、控制器、存储器、输入设备 4、地址总线、数据总线、控制总线 5、冯·诺依曼 6、二进制 三、简答 1、冯·诺依曼型计算机的特点是什么 (1).以二进制表示指令和数据 (2).程序和数据存放在存储器中,从存储器中取指令并执行 (3).由运算器、控制器、存储器、输入设备、输出设备构成计算机硬件系统。 一、选择 1、在机器数______中,零的表示形式是唯一的()。BD A、原码 B、补码 C、反码 D、移码 2、计算机内部表示带符号整数通常采用()。C A、原码 B、反码 C、补码 D、移码

微机原理及接口技术课后习题答案

《微机原理与接口技术》 复习题 第1章 1.简述名词的概念:微处理器、微型计算机、微型计算机系统。 答: (1)微处理器:微处理器(Microprocessor)简称μP或MP,或CPU。CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU (Control Unit)和寄存器组R(Registers)等三个基本部分以及部总线集成在一块半导体芯片上构成的电子器件。 (2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。 (3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。其中,硬件(Hardware)系统由CPU、存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。 软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。一般把软件划分为系统软件和应用软件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。 2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。 答: (1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。当一条指令被执行时,首先,CPU从存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。 (2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的存单元。 (3)标志寄存器:标志寄存器(Flags,F)是CPU中不可缺少的程序状态寄存器,因此,也称程序状态字寄存器(PSW),所谓状态是指算术或逻辑运算后,结果的状态以二进制的0或1在标志寄存器中标识出来,例如,运算结果有进位,则进位标志位CF=1,否则为0。 3.何谓IA-32处理器? 答:

微机原理试题及答案

微机原理试题及答案 微机原理试题及答案 一、填空题(每空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单片机中,

微机原理模拟试题4答案

模拟试题4参考答案 一、填空题(20) 1、1100100 144 64H 2、181 B5 3、11011010 10100101 10100110 4、-46 5、10100101 6、ALU 16 BIU 地址产生器20 7、2 512K 奇地址BHE 8、16 64K 9、程序控制方式中断控制方式DMA方式 10、段地址、偏移量 11、高速缓冲存储器;存取速度快、容量小、由SRAM组成 12、CF 、OF 13、(1)7 (2)4 (3)10 (4)1 (5)3 (6)9 (7)2 (8)5 (9)6 (10)8 14、总线宽度、工作速度、最大数据传输率 二、简答题 1.8086CPU分为哪两个工作部件?每个部件主要由什么组成? 答:8086CPU分为执行部件EU和总线接口部件BIU。 EU主要包括:ALU、标志寄存器、数据暂存器、通用寄存器组、控制单元。 BIU主要包括:指令队列缓冲器、地址加法器和段寄存器、指令指针寄存器IP、总线控制电路与内部通信寄存器。 2.什么是段基址?什么是段基值?它们之间的关系是什么? 答:段基址是指一个逻辑段在内存中的起始单元的20位物理地址; 段基值是指段的起始地址放入相应的段地址寄存器中的内容。 两者关系为:段基值=段基址/16 3.虚拟存储器的含义是什么?虚拟存储器的3种方式分别是什么? 答:虚拟存储器(Virtual Memory)是以存储器访问的局部性为基础,建立在主存—辅存物理体系结构上的存储管理技术。在存储系统中,由于主存容量不能满足用户的需要,因而引入辅存作为后援。即辅存作主存用,扩大编程者的使用空间。 3种方式分别为:页式虚拟存储器、段式虚拟存储器、段页式虚拟存储器。 三、寻址方式的有效地址计算(10) 正确答案的序号为:C A B E D 四、在每小题的括号中分别填入执行结果(15)

微机原理与接口技术习题

1.8051微控制器包含哪些主要功能模块?经典8051 MCU有哪些功能特点? 8051微控制器包含CPU、存储器(ROM、RAM)、输入输出(I/O)接口、中断系统、定时器/计数器、串行接口和时钟、复位电路以及特殊功能寄存器SFR。 经典8051MCU有8位CPU,包含运算器和控制器两大部分;内部的RAM和可扩展的外部RAM、内部的ROM和可扩展的外部ROM;21个特殊寄存器SFR,用于内部功能部件的管理、控制和监视;4个并行8位I/O接口;具有5个中断源的中断系统,且有2个中断优先权;有2个16位的定时器/计数器,具有4种工作方式;1个全双工的串行口,用于MCU与具有串行接口的的外设进行异步串行通信,也可以扩展I/O接口;具有较强位寻址、位处理能力的布尔处理器;具有内部时钟电路;还有属于CISC的指令系统。2.8051微控制器的存储器在结构上有何特点?ROM、RAM各有哪几种地址空间?分别如何 使用? 8051微控制器的存储器采用哈佛结构,是程序存储器和数据存储器分别编址的结构,即ROM和RAM是分开寻址的。 ROM(程序存储器)可以分为内部和外部两部分:内部8K空间(0000H-1FFFH)、外部64K空间(0000H-FFFFH)。其中内外部的低8KB空间具有相同的地址,会有地址重叠问题,可以通过控制信号EA进行选择,EA=1时表示优先选用内部ROM的低8K位,EA=0时表示全部选用外部ROM。 RAM(数据存储器)也有内部和外部两个空间,内部256B空间(00H-FFH)、外部64KB 空间(0000H-FFFFH)。其中内部RAM中低32位(00H-1FH)是工作寄存器,共8组,可用PSW寄存器中的两位RS1、RS0来确定。(20H-2FH)是位寻址区,可用CPU用位操作指令直接访问。(30H-FFH)通常作为数据缓存区和堆栈区,其中(30H-7FH)可运用直接寻址和寄存器间接寻址这两种寻址方式,对其进行访问;而(80H-FFH)则只能采用寄存器间接寻址方式进行访问。外部数据存储器和内部的低256B地址重叠区可采用不同指令访问,外部区只能用MOVX类指令,通过累加器ACC与其进行数据传输。 3.程序状态寄存器PSW的作用是什么?常用状态标志有哪几位?作用是什么? PSW用来存放程序状态信息,表征指令的执行状态,供程序查询和判别之用。 常用的有CY(进位标志)、AC(辅助进位)、OV(溢出标志)、P(奇偶标志) CY:进位标志。在。在加、减法运算时,若高位(D7)发生进位或借位则被置1(即C=1),否则被清0(C=0); AC:辅助进位标志。在加、减法运算时,若低4位向高4位发生进位或借位则AC=1,

《微机原理》复习题及解答

微机原理》复习题解答 1、在8086/8088系统中,存储器是怎样组织的?整个存储空间有多大?最大逻辑长度为多大?至少可将存储器分为多少个段?段起始于什么位置?偏移地址是什么?怎样计算20位物理地址? ①分段组织②1兆字节③64K字节④至少分成16段⑤起始于最后四位二进制数都为0的位置⑥偏移地址是相当于段起始位置的偏移量⑦段地址×16+偏移地址 2、系统总线分为哪几组?各自传送的方向如何? ①分成3组:数据部线、地址总线、控制总线②数据总线和控制总线都是双向的,地址总线始终由CPU发出 3、8086微处理器分为哪几个部分?它们之间采用什么工作方式?其中状态寄存器由几类标志组成?与中断有关的是哪一位? ①分成2部分:总线接口部件、执行部件②并行工作方式③2类:状态标志、控制标志④IF 位,IF置1,响应外部可屏蔽中断 4、怎样将8086设置为最小或最大模式?分别应配置哪些外围器件?作用怎样?最大模式与最小模式的配置相比多了什么器件?作用是什么? ①引脚接高电平则设置为最小模式,如接低电平则设置为最大模式②最小模式下:1片8248A,作为时钟发生器;3片8282或74LS373,用来作为地址锁存器;2片8286/8287作为总线收发器。最大模式下:1片8284A,3片8282,2片8286,1片8288总线控制器,1片8259A及有关电路③8284A除了提供频率恒定的时钟信号外,还对准备发(READY)和(RESET)信号进行同步。8282:地址/数据总线是复用的,而和S7也是复用的,所以在总路线周期前一部分时间中输出地址信号和信号的引脚,在总线周期的后一部分时间中改变了含义。因为有了锁存器对地址和进行锁存,所以在总线周期的后半部分,地址和数据同时出现在系统的地址总线和数据总线上;同样,此时也在锁存器输出端呈现有效电平,于是确保了CPU对存储器和I/O端口的正常读/写操作。8286/8287:当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力。④多了1片8288。作用:对CPU 发出的S0,S1,S2控制信号进行变换和组合,以得到对存储器和I/O端口的读/写信号和对锁存器8282及对总线收发器8286的控制信号。 5、8086/8088系统中为什么将数据与地址总线复用? 因为数据线与地址线传送时间不一样,在总线周期T1传送地址,其他时刻传送数据,传送数据和地址时间是分离的,所以8086/8088系统中能将数据线与地址线复用。 6、CPU从奇地址或偶地址读写一个字(或字节)时,和A0是什么电平?分别用几个总线周期? A0 操作总线周期 0 0 从偶地址开始读/写一个字1个 1 0 从偶地址单元或端口读/写一个字节1 个 0 1 从奇地址单元或端口读/写一个字节1个 1 1 0 从奇地址开始读/写一个字2个(在第一总线周期,将低8位数据送到AD15—AD8,在第二个总线周期,将高8位数据送到AD7—AD0) 7、CPU的READY和RESET信号有什么作用?

《微机原理》习题参考答案4章

第4章 AT89C51单片机汇编语言程序设计 1.已知程序执行前有A = 02H,SP = 42H,(41H) = FFH,(42H) = FFH。下述程序执行后,A = ;SP = ;(41H) = ;(42H) = ;PC = 。 POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,@A+DPTR PUSH Acc MOV A,B INC A MOVC A,@A+DPTR PUSH Acc RET ORG 3000H DB 10H,80H,30H,80H,50H,80H 答:A=80H,SP=40H,(51H)=50H,(52H)=80H ,PC=8050H。 2.说明伪指令的作用。“伪”的含义是什么?常用伪指令的功能如何? 答:伪指令不属于指令系统中的汇编语言指令,它是程序员发给汇编程序的 控制命令。只有在汇编前的源程序中才有伪指令。所以“伪”体现在汇编后, 伪指令没有相应的机器代码产生。 3.解释手工汇编、机器汇编、交叉汇编、反汇编术语概念。 答:(1)手工汇编:手工编程,首先把程序用助记符指令写出,然后通过查 指令的机器代码表,逐个把助记符指令“翻译”成机器代码,这种人工查表 “翻译”指令的方法称为手工汇编。 (2)机器汇编:是借助于微型计算机上的软件(汇编程序)来代替手工汇编, 完成把助记符指令“翻译”成机器代码的工作。 (3)交叉汇编:使用微型计算机来完成汇编,而汇编后得到的机器代码却是 在另一台计算机(这里是单片机)上运行,称这种机器汇编为交叉汇编。 (4)反汇编:将二进制的机器代码语言程序翻译成汇编语言源程序的过程。4.下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么?ORG 1000H TAB1 EQU 1234H TAB2 EQU 3000H DB "MAIN" DW TAB1,TAB2,70H 答:4D 41 49 4E 12 34 30 00 00 70

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

, 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(.10101)B=(AE. A8)H .01011B=()D=()H 4BCH=(0)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 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=(-37)补= , +

由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=(-70)补= + 01010110 》 由于C s=1, C p=0,所以有溢出,结果错误 50+84 其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 由于C s=0, C p=1,所以有溢出,结果错误 4.( 5.请写出下列字符串的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.> 3.微处理器的发展过程是什么 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。

微机原理试题及答案 (1)

学年第学期微机原理及应用(A)课程试卷 卷16 班级姓名得分任课教师 一、选择题:(每题分,共18分) 1、DMAC向CPU发出请求信号,CPU响应并交出总线控制权后将( 3)。 反复执行空操作,直到DMA操作结束 进入暂停状态, 直到DMA操作结束 进入保持状态, 直到DMA操作结束 进入等待状态, 直到DMA操作结束 2、有一个实时数据采集系统,要求10ms进行一次数据采集,然后进行数据 处理及显示输出,应采用的数据传送方式为( 3 )。 无条件传送方式查询方式 中断方式直接存储器存取方式 3、在数据传送过程中,数据由串行变并行,或由并行变串行的转换可通过 (3 )来实现。 计数器寄存器移位寄存器 D触发器 4、8088 CPU输入/输出指令可寻址外设端口的数量最大可达(4 )个。 128 256 16K 64K 5、CPU响应中断后,通过( 4)完成断点的保护。 执行开中断指令执行关中断指令 执行PUSH指令内部自动操作 6、并行接口芯片8255A具有双向数据传送功能的端口是(1 )。 PA口PB口 PC口控制口 7、8088CPU处理动作的最小时间单位是(2 )。 指令周期时钟周期机器周期总线周期8.堆栈是内存中(4 )。 先进先出的ROM区域后进先出的ROM区域 先进先出的RAM区域后进先出的RAM区域

9、计算机中广泛应用的RS-232C实质上是一种(3 )。 串行接口芯片串行通信规程(协议) 串行通信接口标准系统总线标准 5--1 10、高速缓冲存储器(CACHE)一般是由( 1 )芯片组成。 SRAM DRAM ROM EPROM 11、鼠标器是一种(3 )。 手持式的作图部件手持式的光学字符识别设备 手持式的座标定位部件手持式扫描器 12、传送速度单位“bps”的含义是( 2 )。 bytes per second bits per second baud per second billion bytes per second 二、填空题:(每空1分,共12分) 1、CPU在响应中断后,自动关中。为了能实现中断嵌套,在中断服务程序中, CPU必须在保护现场后,开放中断。 2、在计算机运行的过程中,有两股信息在流动,一股是数据,另 一股则是控制命令。 3、指令MOV BX,MASK[BP]是以 ss 作为段寄存器。 4、指令REPE CMPSB停止执行时,表示找到第一个不相等的字符 或 CX=0 。 5、设CF=0,(BX)= 7E15H,(CL)= 03H,执行指令 RCL BX,CL后, (BX) = ,(CF)=,(CL)=。0F0A9H 1 3 6、在8088 CPU中,一个总线周期是 CPU从存储器或I/O端口存取一个字 节的时间。 8253定时/计数器有 3 个独立的16位计数器,每个计数器都可按二进制或 bcd 来计数。 三、程序设计(共40分) 1.(10分)假设X和X+2单元与Y和Y+2单元中分别存放的是两个双

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