上测控12微机原理复习题题型详解版.docx
《上测控12微机原理复习题题型详解版.docx》由会员分享,可在线阅读,更多相关《上测控12微机原理复习题题型详解版.docx(23页珍藏版)》请在冰点文库上搜索。
![上测控12微机原理复习题题型详解版.docx](https://file1.bingdoc.com/fileroot1/2023-7/27/5e836c49-5548-4598-a6bc-93d0bb3d1e9c/5e836c49-5548-4598-a6bc-93d0bb3d1e9c1.gif)
上测控12微机原理复习题题型详解版
一、填空题(每空1分,共20分)请将正确答案写在题目后面的括号内。
1.进制转换(二进制转化到十六进制、十进制转化到二进制、十进制小数值转化成二进制小数)
•(6543.21)10
•=6543.21D
=6×10^3+5×10^2+4×10^1+3×10^0+2×10^-1+1×10^-2
2到10
•按权展开求和。
•如:
①10101.101B
•=1×24+1×22+1×20+1×2-1+1×2-3
•=16+4+1+0.5+0.125
•=21.625D
•(1010.101)2
•=1010.101B
=1×23+0×22+1×21+0×20+1×2-1+0×2-2+1×2-3
10进制2进制
EG119D=?
B
Quotient(商)remainder(余数)
19÷2=9…1
9÷2=4…1
4÷2=2…0
2÷2=1…0
1÷2=0…1
Thenweget:
•Solution:
10011B
2到16
•Example:
1110110101100.10101B=?
H
0001110110101100.10101000B
1DAC.A8H
•Solution:
1DAC.A8H
16到2
•Example:
39F.E1AH=?
B
Solution:
39F.E1AH=001110011111.111000011010B
•19B.ABH
•=1×162+9×161+11×160+10×16-1+11×16-2
•=256+144+11+0.625+0.04296875
•=411.66796875D
10进制小数转换为2进制小数
Example:
0.625D=?
B
IntegerProduct
0.625×2=1.25…1
0.25×2=0.5…0
0.5×2=1.0…1
Thenweget:
0.625D=0.101B
2.二进制加法
•Format:
ADD/ADCDST,SRC(字节/字)
•Description:
ADD:
DEST=DST+SRC
ADC:
DEST=DST+SRC+CF
DST:
REGorMemvar
SRC:
Imm,REGorMemVar
•Examles
ADDAX,[30H]
ADDBP,20H
ADDVAL,DX
ADDBYTEPTR[SI+10H],5
Flagsaffected:
CF,OF,PF,SF,ZFandAF
•.DATA
•COUNTEQU05
•DATADW27345,28521,29533,30105,32375
•ORG0010H
•SUMDW2DUP(?
)
•.CODE
•MAINPROCFAR
•MOVAX,@DATA
•MOVDS,AX
•MOVCX,COUNT;CXistheloopcounter
•MOVSI,OFFSETDATA;SIisthedatapointer
•MOVAX,00;AXwillholdthesum
•MOVBX,AX;BXwillholdthecarries
•BACK:
ADDAX,[SI];addthenextwordtoAX
•ADCBX,0;addcarrytoBX
•INCSI;incrementdatapointertwice
•INCSI;topointtonextword
•DECCX;decrementloopcounter
•JNZBACK;ifnotfinished,continueadding
•MOVSUM,AX;storethesum
•MOVSUM+2,BX;storethecarries
•MOVAH,4CH
•INT21H;gobacktoDOS
•MAINENDP
•ENDMAIN
3.给一个指令,求解结果。
内存、数值和地址等。
Example1:
•MOVAL,03H
•MOVBL,AL
•MOVCL,02H
•SALAL,CL
•ADDAL,BL
•SALAL,1
•;AL=___1EH________
•;BL=____03H_______
•;CL==____02H_______
Forexample,in“MOVBX,5”theresultwillbeBX=0005;thatis,BH=0andBL=05.
Example2:
•
(1)MOVAL,[BX]
•physicaladdress=(DS)*10H+(BX)
•
(2)MOVAX,[BX+SI]
•physicaladdress=(DS)*10H+(BX)+(SI)
•(3)ADDAL,ES:
[BX]
•physicaladdress=(ES)*10H+(BX)
•(4)SUBAX,[1000H]
•physicaladdress=(DS)*10H+1000H
•(5)MOVCX,[BP+SI]
•physicaladdress=(SS)*10H+(BP)+(SI)
.MODELSMALL
.STACK64
.DATA
DATA1DB52H
DATA2DB29H
SUMDB?
.CODE
MAINPROCFAR;thisistheprogramentrypoint
MOVAX,@DATA;loadthedatasegmentaddress
MOVDS,AX;assignvaluetoDS
MOVAL,DATA1;getthefirstoperand
MOVBL,DATA2;getthesecondoperand
ADDAL,BL;addtheoperands
MOVSUM,AL;storetheresultinlocationSUM
MOVAH,4CH;setuptoreturntoDOS
INT21H;
MAINENDP
ENDMAIN;thisistheprogramexitpoint
PAGE60,132
TITLEPROG2-1(EXE)PURPOSE:
ADDS5BYTESOFDATA
.MODELSMALL
.STACK64
;------------------------------------------
.DATA
DATA_INDB25H,12H,15H,1FH,2BH
SUMDB?
;-----------------------------------------
.CODE
MAINPROCFAR
MOVAX,@DATA
MOVDS,AX
MOVCX,05;setuploopcounterCX=5
MOVBX,OFFSETDATA_IN;setupdatapointerBX
MOVAL,0;initializeAL
AGAIN:
ADDAL,[BX];addnextdataitemtoAL
INCBX;makeBXpointtonextdataitem
DECCX;decrementloopcounter
JNZAGAIN;jumpifloopcounternotzero
MOVSUM,AL;loadresultintosum
MOVAH,4CH;setupreturn
INT21H;returntoDOS
MAINENDP
ENDMAIN
物理地址等内容
•IfCS=24F6handIP=634AH,show:
•(a)Thelogicaladdress24F6:
634A
•(b)Theoffsetaddress634A
•Andcalculate:
•(c)Thephysicaladdress2B2AA(24F60+634A)
•(d)Thelowerrange24F60(24F60+0000)
•(e)Theupperrangeofthecodesegment
•34F5F(24F60+FFFF)
4.求解标志寄存器内容
例:
已知(BX)=D75FH
指令ADDBX,8046H执行后,状态标志各是多少?
D75FH=1110011101011111
8046H=1000000001000110
101011110
0110011110100101
•Solution:
结果:
最高位有进位CF=1;结果不为零ZF=0,结果后八位有四个1,为偶数,PF=1;第三位又向第四位进位(第四位有进位)AF=1,最高位有进位,而次高位无进位(两负数相加的正数),有溢出OF=1,结果最高位(符号位为零)SF=0
Example3-1
Showhowtheflagregisterisaffectedby
MOVAL,0F5H
MOVAL,0BH
Solution:
Aftertheaddition,theAlregister(destination)contains00andtheflagsareasfollows:
CF=1sincethereisacarryoutfromD7
SF=0thestatusofD7oftheresult
PF=1thenumberof1siszero(zeroisanevennumber)
AF=1thereisacarryfromD3toD4
ZF=1theresultoftheactioniszero(forthe8bits)
•Showhowtheflagregisterisaffectedbytheadditionof38Hand2H
•Solution:
•MOVBH,38H;BH=38H
•ADDBH,2FH;add2FtoBH,nowBH=67H
•CF=0sincethereisnocarrybeyondd7
•PF=0sincethereisanoddnumberof1sintheresult
•AF=1sincethereisacarryfromd3tod4
•ZF=0sincetheresultisnotzero
•SF=0sinced7oftheresultiszeroOF=0, NoOverflow
Eg1
•Showhowtheflagregisterisaffectedby
•MOVAL,9CH;AL=9CH
•MOVDH,64H;DH=64H
•ADDAL,DH;nowAL=0
•Solution:
Eg2
•Showhowtheflagregisterisaffectedby
•MOVAX,34F5H;AX=34F5H
•ADDAX,95EBH;nowAX=CAE0H
•Solution:
二、简答题(共4题,每题5分,共20分)
1基址变址寄存器求解
•1.register寄存器寻址
•2.immediate立即寻址
•3.direct直接寻址
•4.registerindirect寄存器间接寻址
•5.basedrelative基址寻址(BX、BP)
•6.indexedrelative变址寻址(SI、DI)
•7.basedindexedrelative基址加变址寻址
•MOVCL,[BX][DI]+8;PA=DS(shiftedleft)+BX+DI+8
•MOVCH,[BX][SI]+20;PA=DS(shiftedleft)+BX+SI+20
•MOVAH,[BP][DI]+12;PA=SS(shiftedleft)+BP+DI+12
•MOVAH,[BP][SI]+29;PA=SS(shiftedleft)+BP+SI+29
•
•MOVAH,[BP+SI+29]
•Or
•MOVAH,[SI+BP+29];theregisterorderdoesnotmatter
2求解堆栈地址;
进栈PUSH
•AssumingthatSP=1236H,AX=24B6H,DI=85C2H,andDX=5F93H,showthecontentsofthestackaseachofthefollowinginstructionsisexecuted:
•PUSHAX
•PUSHDI
•PUSHDX
出栈POP
•Assumingthatthestackisasshownbelow,andSP=18FAH,showthecontentsofthestackandregistersaseachofthefollowinginstructionsisexecuted.
•POPCX
•POPDX
•POPBX
3AADAAM指令求解
4标志寄存器求解
5双字节的减法
DATA_ADD62562FAH
DATA_BDD412963BH
RESUTLDD?
MOVAX,WORDPTRDATA_A;
SUBAX,WORDPTRDATA_B;
MOVWORDPRTRESULT,AX;
MOVAX,WORDPTRDATA_A+2;
SBBAX,WORDPTRDATA_B+2;
MOVWORDPTRRESULT+2,AX;
字节运算的除法,被除数放在AX中,计算后商放在AX中,余数放在DX中
6MOVAX,10050;AXholdsnumerator十进制10050
SUBDX,DX;DXmustbecleared
MOVBX,100;BXusedfordenominator十进制100
DIVBX
MOVQOUT2,AX;quotient=AX=64H=100
MOVREMAIND2,DX;remainder=DX=32H=50
四、程序题(共3题,共40分)
1.下图是用8251作为串行通信接口电路实现两台微机之间的串行通信。
要求:
采用异步方式,字符长度6位,采用偶校验,1位停止位。
波特率为9600b/s,波特率因子为16。
CPU采用查询方式和8251进行数据传送。
假设8251对应端口地址为388H、389H。
(1)画出图中TTL电平和EIA电平转换电路;
(2)写出8251初始化程序段;
书P238点评转换电路P245初始化程序段
ThefigureisaserialcommunicationinterfacecircuitsbetweenPCand8251.
Requirements:
asynchronousmode,thelengthofsixcharacters,evenparity,onestopbit.Baudrate9600b/s,thebaudratefactoris16.usingqueriesanddatatransfer.Assuming8251correspondingportaddress388H,389H.
(1)DrawfigureTTLlevelandEIAlevelconversioncircuit;
(2)8251initializationblock.
2.比较两个无符号数的大小,把大数存入MAX单元,要求编写8086CPU的汇编程序。
Comparingtwounsignednumber,thelargenumbersstoredintheMAXunit,andediting8086CPUassembler.
书P98
3.2片8259级联,从8259A的INT接主8259A的IR7。
Twocascaded8259,receivedfromthemaster8259A8259AofINT'sIR7.
INTpickconnecttheaffiliated8259Awithmain8259A'sIR7pick.
端口地址:
主8259A是A0H、A1H,从8259A是20H、21H
PortAddress:
Main8259AisA0H,A1H,theaffiliated8259Ais20H,21H
主8259和从8259均采用脉冲触发,
Masterfrom8259and8259areusedtopulsetrigger,
主8259A采用特殊全嵌套方式,从8259A采用全嵌套方式。
Main8259Aisspecialfullnestingmode,andaffiliated8259Aisfullnestingmodefrom.
采用非缓冲方式,主8259ASP/EN接+5V,从8259ASP/EN接地。
Usingnon-bufferedmode,themain8259ASP/ENisconnectedtopositivefivevolt,andtheaffiliated8259ASP/ENisgrounded.
主8259A的中断类型号为70H~77H,从8259A的中断类型号为08H~0FH
Themain8259Ainterrupttypenumberisfrom70Hto77H,andaffiliated8259Ainterrupttypenumberisfrom08Hto0FH
写出主8259A和从8259A初始化程序段?
Programmingmaster8259Aandaffiliated8259Ainitializationblock?
书P202