版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《微机原理与接口技术》复习参考资料复习资料说明:1、标有红色星号“白”的内容为重点内容3,本资料末尾附有“《微机原理与接口技术》综合练习题与答案错误修正”和“《微机原理与接口技术》综合练习题与答案中不作耍求的部分”,请注意查看。第一章概述一、计算机中的数制 整数部分:除2取余;1、无符号数的表示方法:(1)十进制计数的表示法特点:以十为底,逢十进一;共有0-9十个数字符号。(2)二进制计数表示方法:特点:以2为底,逢2进位;只有0和1两个符号。(3)十六进制数的表示法:特点:以16为底,逢16进位;有0-9及A—F(表示10〜15)共16个数字符号。2,各种数制之间的转换(1)非十进制数到十进制数的转换按相应进位计数制的权表达式展开,再按十进制求和。(见书本123,1.2.4)(2)十进制数制转换为二进制数制•卜进制一二进制的转换:二、计算机中的码制(重点自)1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补.注意:对正数,三种表示法均相同.它们的差别在于对负数的表示.(1)原码定义:符号位:0表示正,1表示负;数值位:真值的绝对值。注意:数0的原码不唯一(2)反码定义:若X>0,则[不反=[)<]原若X<0,则[不反=对应原码的符号位不变,数值部分按位求反三、信息的编码I-进制数的二进制数编码小数部分:乘2取整。•十进制--十六进制的转换:整数部分:除16取余;小数部分:乘16取整。以小数点为起点求得整数和小数的各个位.(3)二进制与十六进制数之间的转换用4位二进制数表示1位十六进制数3、无符号数二进制的运算(见教材P5)4、二进制数的逻辑运算特点:按位运算,无进借位(1)与运算只有A、B变量皆为1时,与运算的结果就是1(2)或运算A,B变量中,只要有一个为1,或运算的结果就是1(3)非运算(4)异或运算A、B两个变量只要不同,异或运算的结果就是1注意,数。的反码也不唯一(3)补码定义:若X>0,则凶补=凶反=凶原若X<0,则凶补=凶反+1注意:机器字长为8时,数0的补码唯一,同为000000002、8位二进制的表示范围:原码:-127〜+127反码:-127〜+127补码:-128-+1273、特殊数10000000•该数在原码中定义为:-0•在反码中定义为:-127•在补码中定义为:-128•对无符号数:(10000000)2=128用4位二进制数表示•位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000〜1001表示0〜9,一个字节表示两位十进制数。(2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~92、字符的编码计算机采用7位二进制代码对字符进行编码(1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。(2)英文字母A~Z的ASCII码从1000001(41H)开始顺序递增,字母a~z的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。第二章微机组成原理
第一节、微机的结构1、计算机的经典结构——冯.诺依蛙结构(1)计算机由运算器、控制器、输入设备和输出设备五大部分组成(运算器和控制器又称为CPU)(2)数据和程序以二进制代码形式不加区分地存放在存储器总,存放位置由地址指定,数制为二进制。(3)控制器是根据存放在存储器中的指令序列来操作的,并由一个程序计数器控制指令的执行。3、系统总线的分类(1)数据总线(DataBus),它决定了处理器的字长.(2)地址总线(AddressBus),它决定系统所能直接访问的存储器空间的容量。(3)控制总线(ControlBus)第二节、8086微处理器1、8086是一种单片微处理芯片,其内部数据总线的宽度是16位,外部数据总线宽度也是16位,片内包含有控制计算机所有功能的各种电路。8086地址总线的宽度为20位,有1MB(220)寻址空间。2、8086CPU由总线接口部件BIU和执行部件EU组成。BIU和EU的操作是异步的,为8086取指令和执行指令的并行操作体统硬件支持。3、8086处理器的启动(教材P21)4、寄存器结构(重点8086微处理器包含有13个16位的寄存器和9位标志位。4个通用寄存器(AX,BX,CX,DX)4个段寄存器(CS,DS,SS,ES)4个指针和变址寄存器(SP,BP.SI,DI)指令指针(IP)1)、通用寄存器(1)8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:•AXfAH,AL•BX->BH,BL•CX3CH,CL•DXBDH,DL常用来存放参与运算的操作数或运算结果(2)数据寄存器特有的习惯用法•AX:累加器。多用于存放中间运算结果。所有I/。指令必须都通过AX与接口传送信息;•BX:基址寄存器。在间接寻址中用于存放法地址;•CX:计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存放I/O端口地址。2)、指针和变址寄存器•SP:堆栈指针寄存器,其内容为栈顶的偏移地址;•BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。•SI:源变址寄存器DI:口标变址寄存器变址寄存器常用了指令的间接寻址或变址寻址。3)、段寄存器CS:代码段寄存器,代码段用丁存放指令代码DS:数据段寄存器ES:附加段寄存器,数据段和附加段用来存放操作数SS:堆栈段寄存器,堆栈段用于存放返回地址,保存寄存器内容,传递参数4),指令指针(IP)16位指令指针寄存器,其内容为下一条要执行的指令的偏移地址。5),标志寄存器(I)状态标志:进位标志位(CF):运算结果的最高位有进位或有借位,则CF=1辅助进位标志位(AF):运算结果的低四位有进位或借位,则AF=1溢出标志位(OF):运算结果有溢出,则OF=1零标志位(ZF):反映指令的执行是否产生一个为零的结果符号标志位(SF):指出该指令的执行是否产生一个负的结果奇偶标志位(PF):表示指令运算结果的低8位“1”个数是否为偶数(2)控制标志位中断允许标志位(IF):表示CPU是否能够响应外部可屏蔽中断请求跟踪标志(TF):CPU单步执行5、8086的引脚及其功能(重点掌握以下引脚)ADI5~AD0:双向三态的地址总线,输入/输出信号INTR:可扉蔽中断请求输入信号,高电平有效。可通过设置IF的值来控制。•NMI:非屏蔽中断输入信号。不能用软件进行屏蔽。RESET:复位输入信号,高电平有效。复位的初始状态见P21•MN/MX:最小最大模式输入控制信号。第三节存储器1、分类SRAM-单极型.cRAMd…… .I双极型DRAM'内存” 「PROM<IROM|EPROMIE2PROM<外存2、RAM和ROM的区别・读写存储器(RAM)■可读可写易失性,临时存放程序和数据・只读存储器(ROM)工作时只能读非易失性,永久或半永久性存放信息
3、PC机中存储器的结构(1)8086CPU具有1MB的寻址能力,使用20根地址线A19'A0,数据总线为16位D15-D0。系统的1MB存储器分为两个512KB的存储体。一个为奇地址存储体,一个为偶地址存储体。(2)当进行16位数据操作时,若数据的低8位放在偶地址存储体中,而高8位放在奇地址存储体中,则在一个总线周期内完成数据的传送。反之,则需要两个总线周期才能完成该数据的传送。4、PC机中存储器的地址表示(重点物理地址=(段地址)左移4位+偏移地址(其中偏移地址也叫做“有效地址”或“偏移量”)物理地址的表示方法:段地址:偏移地址例如设某单元的段地址为2000H,偏移地址为3000H,则物理地址为:200011左移4位+3000H=23000H(其中左移四位指二进制数,十六进制数相当了左移一位)第三章8086指令系统说明:8086指令系统这章为重点章节,对下面列出的指令都要求学员掌握。第一节8086寻址方式一、数据寻址方式(重点1一、数据寻址方式(重点1、立即寻址操作数(为一常数)直接由指令给出(此操作数称为立即数)立即寻址只能用于源操作数错误例:XMOV AX,[DX]X MOV CL,[AX]5、直接变址寻址MOVBYTEPTR[2A00H],8FH•例:MOVAX,[BX+8]错误例:XMOV2A00H,AX;错误!MOVCX,TABLE[SI]指令操作例:MOVAX,3102H;AX93102HMOVAX,[BPJ;默认段寄存器为SS执行后,(AH)=31H,(AL)=02H•指令操作例:MOVAX.DATA[BX]2、寄存器寻址?i:(DS)=6000H,(BX)=1000H,DATA=2A00H,(1)操作数放在某个寄存器中(63A00H)=66H,(63A01H)=55H(2)源操作数与目的操作数字长要相同则物理地址=60000H+1000H+2A00H=63A00H(3)寄存器寻址与段地址无关指令执行后:(AX)=5566H例: MOVAX,BX6、基址变址寻址MOV[3F00H],AX•若操作数的偏移地址:MOVCL,AL由基址寄存器(BX或BP)给出—基址寻址方式错误例: XMOVAX,BL ;字长不同由变址寄存器(SI或DI)给出—变址寻址方式XMOVES:AX,DX ;寄存器与段无关由•个基址寄存册的内容和•个变址寄存器的内容相3、直接寻址加而形成操作数的偏移地址,称为基址-变址寻址。(1)指令中直接给出操作数的16位偏移地址 偏移地址也EA=(BX)+(SI)或(DI);称为有效地址(EA,EffectiveAddress)EA=(BP)+(SI)或(DI)(2)默认的段寄存器为DS,但也可以显式地指定其他段寄同•组内的寄存器不能同时出现。例:掰%AX,1C8FH•EA=M址寄存器的内容加上一个8/16位的位移量存器一称为段超越前缀(3)偏移地址也可用符号地址来表示,如ADDR、VAR例: MOVAX,[2A00H]MOV DX,ES:[2A00H]MOV SI,TABLE_PTR4、间接寻址•操作数的偏移地址(有效地址EA)放在寄存器中•只有SI、DLBX和BP可作间址寄存器注意:除了有段跨越前缀的情况外,当基址寄存器为BX时,操作数应该存放在数据段DS中,当基址寄存器为BP时,操作数应放在堆栈段SS中。例:MOVAX,IBX][SI]MOVAX,[BX+SI]MOVAX,DS:[BP][DI]错误例:XMOV X,[BX][BP]XMOV AX,[DI][SI]指令操作例:MOVAX,[BX][SI]假定:(DS)=8000H,(BX)=2000H,SI=IOO()H则物理地址=80000H+2000H+1000H=83OOOH指令执行后:(AL)=(83OOOH](AH)=[83001H]7、相对基址变址寻址寻址方式 指令操作数形式,寄存器间接 只有一个寄存器(BX/BP/SI/DI之一)■寄存湍相对■基址一变址■相对基址-变址一个寄存器加上位移量两个不同类别的寄存器两个不同类别的寄存器加上位移量•在基址-变址寻址的基础上再加I:一个相对位移量二、地址寻址方式(了解有4类,能判断)EA=(BX)+(SI)或(DI)+8位或16位位移简要判断依据(指令中间的单词):量:量:段内直接short,nearEA=(BP)+(SI)或(DI)+8位或16位位移段内间接word量指令操作例।MOVAX,DATA[DI][BX]^:(DS)=8000H,(BX)=2000H,(DI)=1000H,DATA=200H则指令执行后(AH)=[83021H],(AL)=[83020H|寄存器间接、寄存器相对、基址变址、相对基址变址四种寻段间直接far段间间接dword例如《习题册》P16选择题第三题特殊的情况:段内直接用NEAR时可以省略,例如:JMPPTRBETA址方式的比较:址方式的比较:一、数据传送指令(重点1、通用传送指令第二节 8086指令系统规定由SS指示堆栈段的段基址,堆栈指针SP始终指向堆栈的顶部,SP的初值规定了所用堆栈区的大小。堆栈的最(1)MOVdest,src;dest*-src传送的是字节还是字取决于指令中涉及的寄存器是8位还是16位。具体来说可实现:①MOVmem/regl,mem/reg2指令中两操作数中至少有•个为寄存器②MOVreg,data ;立即数送寄存器③MOVmem.data ;立即数送存储单元④MOVacc.mem;存储单元送累加器⑤MOVmem.acc ;累加器送存储单元⑥MOVsegreg,mem/reg;存储单元/寄存器送段寄存器⑦MOVmem/reg,segreg;段寄存器送存储单元/寄存器MOV指令的使用规则①IP不能作目的寄存器②不允许mem-mem③不允许segreg-segreg④立即数不允许作为目的操作数⑤不允许segreg-立即数⑥源操作数与目的操作数类型要一致⑦当源操作数为单字节的立即数,而目的操作数为间址、变址、基址+变址的内存数时,必须用PTR说明数据类型。如:MOV[BX],12H是错误的。(2)、堆栈指令什么是堆栈?按“后进先出(L1FO)”方式工作的存储区域。堆栈以字为单位进行压入弹出操作。高地址叫栈底。①压栈指令PUSHPUSHsrc;src为16位操作数例:PUSHAX;将AX内容压栈执行操作:(SP)-1一高字节AH(SP)-2一低字节AL(SP)—(SP)-2注意进栈方向是高地址向低地址发展。'②弹出指令POPPOPdest例:POPBX;将栈顶内容弹至BX执行操作:(BL)一(SP)(BH)-(SP)+1(SP)-(SP)+2堆栈指令在使用时需注意的几点:①堆栈操作总是按字进行②不能从栈顶弹出一个字给CS③堆栈指针为SS:SP,SP永远指向栈顶@SP自动进行增减量(-2,+2)堆栈指令的习题见综合练习题P77题和P21四,2题(3)、交换指令XCHG格式:XCHGreg.mem/reg功能:交换两操作数的内容。要求:两操作数中必须有•个在寄存器中;操作数不能为段寄存器和立即数;源和目地操作数类型要•致。举例:XCHGAX,BXXCHG[2(X)0],CL(4)查表指令XLAT执行的操作:AL-[(BX)+(AL)]又叫查表转换指令,它可根据表项序号查出表中对应代码的内容.执行时先将表的首地址(偏移地址)送到BX中,表项序号存于AL中。见课本例题P683.212、输入输出指令只限于用累加器AL或AX来传送信息。功能:(累加器)一I/O端口输入指令IN格式:INacc.PORT;PORT端口号0〜255HINacc.DX;DX表示的端口范围达64K例:INAL,80H;(AL)一(80H端口)INAL,DX;(AL)一((DX))(2)输出指令OUT格式:OUTport.accOUTDX,acc例:OUT68H,AX;(69H,68H)-(AX)OUTDX,AL;((DX))—(AL)在使用间接寻址的IN/OUT指令时,要事先用传送指令把I/O端口号设置到DX寄存器如:MOVDX,220HINAL,DX;将220H端口内容读入AL3、目标地址传送指令LEA传送偏移地址格式:LEAreg,mem;将指定内存单元的偏移地址送到指定寄存器要求:1)源操作数必须是一个存储器操作数;2)目的操作数必须是•个16位的通用寄存器。例:LEABX,[SI+10H]设:(SI)=1000H则执行该指令后,(BX)=1010H•注意以下二条指令差别:LEABX,BUFFERMOVBX.BUFFER前者表示将符号地址为BUFFER的存储单元的偏移地址取到BX中;后者表示将BUFFER存储单元中的内容取到BX中。下面两条指令等效:LEABX,BUFFERMOVBX,OFFSETBUFFER其中OFFSETBUFFER表示存储器单元BUFFER的偏移地址。二者都可用于取存储器单元的偏移地址,但LEA指令可以取动态的地址,OFFSET只能取静态的地址。二、算术运算指令1、加法指令(1)不带进位的加法指令ADD格式:ADDacc.dataADDmem/reg,dataADDmem/reg1,mem/reg2实例:ADD AL,30HADD SI,|BX+20H|ADD CX,SIADD [DI],20()H•ADD指令对6个状态标志均产生影响。例:已知(BXAD75FH指令ADDBX.8046H执行后,状态标志各是多少?D75FH=11100111010111118046H=10000000010001101 I11110110011110100101结果:C=l,Z=0,P=0,A=h0=1,S=0判断溢出与进位(重点Q)从硬件的角度:默认参与运算的操作数都是有符号数,当两数的符号位相同,而和的结果相异时有溢出,则OF=1,否则OF=0判断标志位的题目见综合练习题P5五,2题带进位的加法ADCADC指令在形式上和功能上与ADD类似,只是相加时还要包括进位标志CF的内容,例如:ADCAL,68H;AL-(AL)+68H+(CF)ADCAX,CX;AX-(AX)+(CX)+(CF)ADCBX,[DI];BX*-(BX)+[DI+1][DI]+(CF)(3)in1指令INC格式:INCreg/mem功能:类似于C语言中的++操作:对指定的操作数加1例:INCALINCSIINCBYTEPTR[BX+4]注:本指令不影响CF标志。(4)非压缩BCD码加法调整指令AAA(重点Q)AAA指令的操作:如果AL的低4位>9或AF=L贝小①AL-(AL)+6,(AH)-(AH)+1,AF-1②AL高4位清零③CF-AF否则AL高4位清零非压缩BCD码加法调整指令AAA的习题见综合练习题P21四,1题.(5)压缩BCD码加法调整指令DAA(重点昌)・两个压缩BCD码相加结果在AL中,通过DAA调整得到一个正确的压缩BCD码.•指令操作(调整方法):若AL的低4位>9或AF=1则(AL)—(AL)+6,AF-1若AL的高4位>9或CF=1则(AL)-(AL)+60H,CF-1•除OF外,DAA指令影响所有其它标志。•DAA指令应紧霰在ADD或ADC指令之后.压缩BCD码加法调整指令DAA的习题见综合练习题P5五,1题2、减法指令(1)不考虑借位的减法指令SUB格式:SUBdest,src操作:dest-(dest)-(src)注:l.源和目的操作数不能同时为存储器操作数2.立即数不能作为目的操作数指令例子:SUBAL,60HSUB[BX+20H],DXSUBAX,CX(2)考虑借位的减法指令SBBSBB指令主要用于多字节的减法。格式:SBBdest,src操作:dest-(dest)-(src)-(CF)指令例子:SBBAX,CXSBBWORDPTR[SI],2080HSBB[SI],DX(3)减1指令DEC作用类似于C语言中的“一一”操作符。格式:DECopr操作:opr-(opr)T指令例子,DECCLDECBYTEPTR[DI+2]DECSI(4)求补指令NEG格式:NEGopr操作:opr-O-(opr)对一个操作数取补码相当于用0减去此操作数,故利用NEG指令可得到负数的绝对值。例:若(AL)=0FCH,则执行NEGAL后,(AL)=04H,CF=I(5)比较指令CMP格式:CMPdest,src操作:(dest)-(src)CMP也是执行两个操作数相减,但结果不送口标操作数,其结果只反映在标志位上。指令例子:CMPAL,0AHCMPCX,SICMPDL[BX+03](6)非压缩BCD码减法调整指令AAS对AL中由两个非压缩的BCD码相减的结果进行调整。调整操作为:若AL的低4位>9或AF=1,则:①AL-(AL)-6,AH-(AH)-1,AF-1②AL的高4位清零③CF-AF否则:AL的高4位清零(7)压缩BCD码减法调整指令DAS对AL中由两个压缩BCD码相减的结果进行调整。调整操作为:若AL的低4位>9或AF=1,则:AL-CAD-6,且AF-1若AL的高4位>9或CF=1,则:AL-(AD-60H,且CF-1DAS对OF无定义,但影响其余标志位。DAS指令要求跟在减法指令之后。3,乘法指令进行乘法时:8位*8位f16位乘积16位*16位~32位乘积(1)无符号数的乘法指令MUL(MEM/REG)格式:MULsrc操作:字节操作数(AX)一(AL)X(src)字操作数 (DX,AX)-(AX)X(src)指令例子:MULBL:(AL)X(BL),乘积在AX中MULCX;(AX)X(CX),乘积在DX,AX中MULBYTEPTR[BX](2)有符号数乘法指令IMUL格式与MUL指令类似,只是要求两操作数均为有符号是.指令例子:IMULBL;(AX)—(AL)x(BL)IMULWORDPTR[SI]:(DX,AX)-(AX)x([SI+l][SI])注意:MUL/IMUL指令中•AL(AX)为隐含的乘数寄存器:•AX(DX,AX)为隐含的乘积寄存器:•SRC不能为立即数;•除CF和OF外,对其它标志位无定义。4、除法指令进行除法时:16位/8位一8位商32位/16位一16位商对被除数、商及余数存放有如下规定:被除数 商余数字节除法AX ALAH字除法DX:AX AXDX(1)无符号数除法指令DIV格式:DIVsrc操作:字节操作(AL)一(AX)/(SRC)的商(AH)-(AX)/(SRC)的余数字操作(AX)一(DX,AX)/(SRC)的商(DX)一(DX,AX)/(SRC)的余数指令例子:DIVCLDIVWORDPTR[BX](2)有符号数除法指令IDIV格式:IDIVsrc操作与DIV类似。商及余数均为有符号数,且余数符号总是与被除数符号相同。注意:对于DIV/IDIV指令AX(DX,AX)为隐含的被除数寄存器。AL(AX)为隐含的商寄存器。AH(DX)为隐含的余数寄存器。src不能为立即数。对所有条件标志位均无定关于除法操作中的字长扩展问题•除法运算要求被除数字长是除数字长的两倍,若不满足则需对被除数进行扩展.否则产生错误.•对于无符号数除法扩展,只需将AH或DX清零即可。•时有符号数而言,则是符号位的扩展。可使用前面介绍过的符号扩展指令CBW和CWD三、逻辑运算和移位指令1,逻辑运算指令(1)逻辑与AND对两个操作数进行按位逻辑“与”操作。格式:ANDdest,src用途:保留操作数的某几位,清零其他位。例1:保留AL中低4位,高4位清0。ANDAL,OFH(2)逻辑或OR对两个操作数进行按位逻辑”或”操作。格式:ORdest,src用途:对操作数的某几位置1;对两操作数进行组合。例1:把AL中的非压缩BCD码变成相应十进制数的ASCII码。ORAL,30H(3)逻辑非NOT对操作数进行按位逻辑“非“操作。格式:NOTmem/reg例:NOTCXNOTBYTEPTR[DI](4)逻辑片或XOR对两个操作数按位进行“异或"操作。格式:XORdest,src用途:对reg清零(自身异或)把reg/mem的某几位变反(与‘1'异或)例1:把AX寄存器清零。①MOVAX,0②XORAX,AX③ANDAX,0@SUBAX,AX(5)测试指令TEST操作与AND指令类似,但不将''与"的结果送回,只影响标志位。TEST指令常用于位测试,与条件转移指令•起用。例:测试AL的内容是否为负数。TESTAL.80H;检查AL中D7=l?JNZMINUS;是1(负数),转MINUS…… ;否则为正数2、移位指令(1)非循环移位指令(重点Q)尊术左移指令SAL(ShiftArithmeticLeft)算术右移指令SAR(ShiftArithmeticRight)逻辑左移指令SHL(ShiftLeft)逻辑右移指令SHR(ShiftRight)这4条指令的格式相同,以SAL为例:CL-;移位位数大于1时SALmem/reg〈11 ;移位位数等于1时A算术移位一把操作数看做有符号数;逻辑移位——把操作数看做无符号数。A移位位数放在CL寄存器中,如果只移1位,也•JNB•JNBA》B则转移可以直接写在指令中。例如:第四章第四章8086汇编语言程序设计第一节伪指令(重点CPU指令与伪指令之间的区别: (l)CPU指令是给CPU的命令,在运行时由CPU执行,每MOVCL,4SHRAL.CL;AL中的内容右移4位A影响C,P,S,Z,O标志。A结果未溢出时:左移1位三操作数*2右移1位三操作数/2例:把AL中的数x乘10因为10=8+2=23+2],所以可用移位实现乘10操作。程序如MOVCL,3SALALJ ;2xMOVAH,ALSALALJ ;4xSALAL,1 ;8xADDAL,AH ;8x+2x=lOx移位指令的题目见综合练习题P6五,4题;P21五,1题四、控制转移指令1,转移指令(1)无条件转移指令JMP格式:JMPlabel本指令无条件转移到指定的目标地址,以执行从该地址开始的程序段。(2)条件转移指令(补充内容)(重点①根据单个标志位设置的条件转移指令JB/JC:低于,或CF=1,则转移JNB/JNC/JAE;高于或等于,或CF=O,则转移JP/JPE ;奇偶标志PF=1(偶),则转移JNP/JPO :奇偶标志PF=O(奇),则转移JZ/JE ;结果为零(ZF=1),则转移JNZ/JNE ;结果不为零(ZF=O),则转移JS :SF=1,则转移JNS ;SF=O,则转移JO:OF=1,则转移JNO ;OF=0,则转移②根据组合条件设置的条件转移指令这类指令主:要用来判断两个数的大小。I判断无符号数的大小•JA高于则转移条件为:CF=OAZF=O,即A>B•JNA/JBE低于或等于则转移条件为:CF=1VZF=1,即AWB•JBA<B则转移判断有符号数的大小JG;大于则转移(A>B)条件为:(SF©OF=0)AZF=OJGE;大于或等于则转移(A》B)条件为:(SF®OF=0)VZF=1*JLE:小于或等于则转移(AWB)条件为:(SF&OF=1)VZF=1JL;小于则转移(A<B=条件为:(SF®OF=1)AZF=02、循环控制指令用在循环程序中以确定是否要继续循环。循环次数通常置于CX中.转移的FI标应在距离本指令-128〜+127的范围之内。循环控制指令不影响标志位。(l)LOOP格式:LOOPlabel操作:(CX)「CX;若(CX)XO,则转至label处执行:否则退出循环,执行LOOP后面的指令。LOOP指令与下面的指令段等价:DECCXJNZlabel3、过程调用指令(1)调用指令CALL一般格式:CALLsub',sub为子程序的入口4、中断指令(l)INTn执行类型n的中断服务程序,N=0〜255五、处理器控制指令1、标志位操作CF设置指令CLC0-CF STC1-CFCMCCF变反DF设置指令CLD 0-DF(串操作的指针移动方向从低到高)STD 1-DF(串操作的指针移动方向从高到低)IF设置指令CLIO-IF(禁止INTR中断)STI1-IF(开放INTR中断)2,HLT(halt)执行HET指令后,CPU进入暂停状态。条指令对应CPU的一种特定的操作。而伪指令是给汇编程序的命令,在汇编过程中由汇编程序进行处理。(2)汇编以后,每条CPU指令产生一一对应的目标代码;而伪指令则不产生与之相应的目标代码。1、数据定义伪指令(1)数据定义伪指令的一般格式为:•[变量名]伪指令操作数[,操作数…]DB用来定义字节(BYTE)DW用来定义字(WORD)DD用来定义双字(DWORD)(2)操作数的类型可以是:①常数或常数表达式・例如:DATA_BYTEDB10,5,1OHDATA_WORDDW1OOH,100,-4DATA_DWDD2*30,0FFFBH合可以为字符串(定义字符串最好使用DB)•例如:charlDB'AB'设可以为变量股可以为?号操作符例如:XDB5,?,6?号只是为了给变量保留相应的存储单元,而不赋予变量某个确定的初值。总重复次数:NDUP(初值[,初值…])•例如:ZERODB2DUP(3,5)XYZDB2DUP(0,2DUP(1,3),5)n在伪操作的操作数字段中若使用$,则表示的是地址计数器的当前值。2、补充内容:(1)类型PTR地址表达式例如:MOVBYTEPTR[BX],12HINCBYTEPTR[BX]注意:单操作数指令,当操作数为基址、变址、基+变的时候必须定义3、符号定义伪指令(DEQU格式:名字EQU表达式EQU伪指令将表达式的值赋予一个名字,以后可用这个名字来代替上述表达式。例:CONSTANTEQU100NEW_PORTEQUPORT_VAL+I⑵=(等号)与EQU类似,但允许重新定义例:IIIEMP=7;值为7EMP=EMP+1;值为8(3)LABELLABEL伪指令的用途是定义标号或变量的类型格式:名字LABEL类型变量的类型可以是BYTE,WORD,DWORD0标号的类型可以是NEAR或FAR4、段定义伪指令与段有关的伪指令有:SEGMENT、ENDS、ASSUME、ORG(1)段定义伪指令的格式如下:段名SEGMENT[定位类型][组合类型]「类别」段名ENDSSEGMENT和ENDS这两个伪指令总是成对出现,二者前面的段名一致。二者之间的删节部分,对数据段、附加段及堆栈段,一般是符号、变量定义等伪指令。对于代码段则是指令及伪指令。此外,还必须明确段和段寄存器的关系,这可由ASSUME语句来实现。ASSUME格式:ASSUME段寄存器名:段名[,段寄存器名:段名[,…]]ASSUME伪指令告诉汇编程序,将某一个段寄存器设置为某一个逻辑段址,即明确指出源程序中逻辑段与物理段之间的关系。ORG伪指令ORG规定了段内的起始地址或偏移地址,其格式为:ORG〈表达式〉表达式的值即为段内的起始地址或偏移地址,从此地址起连续存放程序或数据。5、汇编程序的•般结构(重点(记住)DATASEGMENTDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABGN:MOVAX.DATAMOVDS,AXMOVAH,4CHINT21HCODEENDSENDBGN第三节程序设计1、顺序程序的设计(略)JMPEXIT2、分支程序的设计BIG:JEEQUL典型例题:MOVY,1[ X>0JMPEXITY=-0 X=0EQUL:MOVY,0l-lX<0EXIT:....・程序为:3、循环程序见MOVAL,X•用计数控制循环CMPAL,0•见教材例题4.8JGEBIG•见练习册P9八.2MOVY,-1第五章微机接口技术基础说明:第五章主要是一些概念,以下所列的要求学员记住第一节I/O接口的概念1、I/O接口的作用2、I/O接口的分类(I)匹配外设与主机间的数据形式按外设的性能及通用的程度,可将I/O接口分为两类:(2)匹配外设与主机间的工作速度I/O接口芯片和I/O接口卡(3)在主机与外设之间传输控制信息第二节I/O端口的编址方式1、I/O端口的编址方式(1)I/。端口的统一编址 (2)I/O端口的独立编址第三节输入/输出控制方式1、程序控制传送方式•(1)无条件传送方式•(2)程序查询传送方式第六章一、中断的类型(教材P217):PC机中各种类型的中断共有256个,并对它们进行了统•的编号,称为中断类型码1、内中断(1),微处理器中断①0号中断(除数为0)②1号中断(单步执行程序)③4号中断(运算溢出)④3号中断(断点处理)(2)、不可屏蔽中断(3)、保留的微处理器中断(不要求)2、外中断外中断特点:①INTR为电平触发②外中断可多级排优③外中断可用指令屏蔽④外中断可以嵌套⑤外中断响应条件的修正(重点掌握)•在IF=1,任何一条指令执行完时,CPU将检测引脚INTR,2、中断控制传送方式3、直接存储器存取传送方式中断技术以便响应外中断。3,软中断•由中断指令INTn引发的中断称为软中断。4,保留中断5、各类中断的优先级高 >低除数0,INTn,断点,溢出NMI+INTR低单步二、中断向量表(重点白)(1)中断向量表(教材P223)在8086系统中,内存最低端的1K字节地址范围内(从00000-003FFH),放置256个中断的中断向量(入口地址),即称为中断向量表。每个中断矢量在表中占据4个字节,地址较高的两个字节放入口地址的段地址(CS),地址较低的两个字节放偏移地址(IP).中断向量我中的存储地址=中断类型码nX4中断向量见综合练习题P9七,3题(2)中断服务程序的执行•8个外设来的中断请求信号,IRO的优先级最高,IR7最低。第一、将标志寄存器F入栈第二、清除中断标志(IF=O)、单步标志(TF=O)第三、将程序当前代码地址CS和指令偏移地址IP依次入栈第四、根据中断号n,计算中断向量的首地址一0000:n*4第五、根据中断向量首地址,取出4个字节的中断向量,③INT(向CPU的中断请求)3、硬中断的执行过程(重点◎)(掌握)PC机的外设接口卡输出中断请求信号IRQi至8259A中断控制器,并将其中的中断请求寄存器IRR的相应位i置1。8259A收到IRQi信号后,将它与同时请求中断的信号或者正挂起的中断,通过优先级分析器,分析比较优先并分别置入CS和IP4',CPU便转而执行相应的中断服务程级。若该中断请求是唯的或其优先级最高,则8259A序。三、可编程中断控制器8259A1、8259A的特点:每片芯片具有8级优先权控制,可连接8个中断源。通过级联可扩展至64级优先权控制,可连接64个中断源。每一级中断均可屏蔽或允许。在中断响应周期,可提供相应的中断号向CPU发中断请求信号INT。CPU响应中断,连续发生两个中断响应脉冲INTA。第一个INTA将中断服务器ISR的I位置1,表示正在响应I级中断,同时将旧R的I位清0,为本i级中断卜一一次的中断请求做准备;第二个INTA则耍求8259A将中断源i的中断号n送至CPU.CPU收到I级中断的中断号n后,将其乘4作为中断编程进行连接编程进行连接・28条引脚,+5V供电2、8259A的内部结构•具有固定优先权、循环优先权、等多种工作方式,可通过 向量地址。CPU屏蔽中断,将中断现场信息(F,IP.CS)压入堆栈,将标志寄存器F中的IF和TF清0,同时由中断向量表取得IP和CS的值。(I)、中断控制逻辑①中断请求寄存器(IRR)②中断服务寄存器(ISR)(6)CPU以CS值为段地址、IP为偏移地址转入中断服务程序。见综合练习题P9七,1题③中断屏蔽寄存器(IMR)⑵8259A引脚功能HIR0~IR7(外设的中断请求)8255A与外设连接的引脚8255A与外设连接的引脚①PA0~PA7(A口输入/输出线)©PB0-PB7(B口输入/输出线)③PC0-PC7(C口输入/输出线)8255A与CPU连接的引脚①D0~D7(数据线)②CS(芯片选择)@A1利A2(口地址线)A1A0端口C口按位置位/复位控制字见教材P258图7.4二、8255A的工作方式1、方式0方式。是•种基本的输入/输出方式2、方式1•种选通的输入/输出方式3、方式2第七章接口技术第二节可编程并行接口一、可编程并行接口芯片8255A0001AB1、8255A的基本特点2、8255A的内部结构10C3、(1)数据总线缓冲器<2)读/写控制逻辑(3)端口A、B,C(4)A/B组控制部件8255A的引脚功能1 1 控制寄存器4,8255A的编程命令(1)控制方式选择控制字见教材P257图7.3
当A口工作在方式1当B口工作在方式1PA7—PA0为端口输入数据线PC5,PC4为输入联络线PC4自动定义为输入,称STBaPC5自动定义为输出,称旧FaPC3为INTRaPB7—PB0为端口输入数据线PC2,PC1为输入联络线PC2自动定义为输入,称STBbPC1自动定义为输出,称旧FbPC0为INTRb一种选通的双向输入/输出方式方式一2、选通输入(记住以下结论)当A口工作在方式1当B口工作在方式1PA7-PA0为端口输出数据线PC5,PC4为输出联络线PC6自动定义为输入,称ACKaPC7自动定义为输出,称OBFaPC3为INTRaPB7—PB0为端口输出数据线PC2,PC1为输出联络线PC2自动定义为输入,称ACKbPC1自动定义为输出,称OBFbPC0为INTRb1.选通输入(记住以下结论)3、选通输入输出(综合前面两者) 口按位置位/复位控制字,设置中断允许标志1.选通输入(记住以下结论)三、8255A的初始化(重点A) ・8255A初始化编程举例•对8255A的初始化的内容是: •见教材P267例7.37.4•写控制字到控制字寄存器,规定8255A的工作方式。控制 见综合练习题P11七,6题字有工作方式选择控制字,C第三节串行通信接口一、串行通信的基本概念1、串行通信的传输方式(1)串行通信的同步方式①同步通信②异步通信异步通信方式要求每一需要传输的信息的数据位前面加一个起始位,表示字符的开始:在信息数据位的后面加一个或多个停止位,表示字符的结束。这样由起始位、信息数据位和停止位构成了一个传输单位,称为一帧信息。•帧信息的格式:(重点—5到8位可选一►起始位 数据位奇偶校验位(可选>停止位(1,1.5,2)可选(2)信号的调制和解调(3)线路传输方式①单工方式②半双工方式③全双工方式(4)数据的传输速率数据的传输速率指单位时间传输的信息量,可用比特率(bit/s)和波特率来表示。二、应用异步通信芯片82501、8250的内部结构及引脚功能8250的特性8250的内部结构①数据总线缓冲器②读/写控制逻辑③MODEM控制逻辑④内部寄存器8250的引脚功能①输入信号引脚•SIN(串行输入)•CTS(清除发送信号)
DSR(数据装置准备好)RLSD(接受端线路信号检测)RI(振铃指示信号)②输出信号引脚DTR(数据终端准备好)R云7请求发送信号)0UT1(用户指定的输出端)0UT2(用户指定的输出端)•INTRPT(中断信号)•SOUT(串行输出信号)2、8250的内部寄存器8250的内部寄存器①线路控制寄存器(LCR)主要作用是指定异步通信的数据格式。控制字的格式见P295图7.38②线路状态寄存器(LSR)作用是向CPU提示有关数据传输的状态信息。控制字的格式见P296图7.39③数据发、收寄存器④分频次数锁存器(除数寄存器)分低8位和高8位分频次数=1.8432MHz/(16*波特率)⑤MODEM控制寄存器(MCR)⑥MODEM状态寄存器(MSR)⑦中断允许寄存器(IER)⑧中断标识寄存器(IIR)3、8250的初始化(重点Q)(必考内容)8250初始化的一般步骤:①80H送通信线控制REG,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国医科大学《波谱解析》2025-2026学年期末试卷
- 阳泉师范高等专科学校《数字贸易学》2025-2026学年期末试卷
- 中国矿业大学《微观经济学》2025-2026学年期末试卷
- 延边大学《旅游目的地管理》2025-2026学年期末试卷
- 2026八年级上志愿服务活动
- 拳击教练职业前景分析
- 中风康复健康指导
- 人工智能发展终极阶段
- 2024年公共安全开学第一课观后感个人感想作文
- 2024大学自我鉴定(31篇)
- GB/T 46878-2025二氧化碳捕集、运输和地质封存地质封存
- 2026中国侨联直属事业单位招聘9人备考题库及答案详解(夺冠系列)
- 2026年1月浙江省高考(首考)历史试题(含答案)
- 基于雨水花园的2025年海绵城市学校建设可行性研究报告
- 河海大学介绍
- 【高中语文】《玩偶之家(节选)》课件+统编版高二语文选择性必修中册
- 混凝土挡墙施工工艺方案
- 2025年国家义务教育质量监测八年级心理健康测试题及答案
- 企业内训师培训教程与实践工具包
- 长输管线施工关键技术方案
- 石材护理合同范本
评论
0/150
提交评论