(完整版)微机原理与接口技术知识点总结整理

上传人:Sc****h 文档编号:139795030 上传时间:2022-08-22 格式:DOC 页数:48 大小:1.39MB
返回 下载 相关 举报
(完整版)微机原理与接口技术知识点总结整理_第1页
第1页 / 共48页
(完整版)微机原理与接口技术知识点总结整理_第2页
第2页 / 共48页
(完整版)微机原理与接口技术知识点总结整理_第3页
第3页 / 共48页
点击查看更多>>
资源描述
微机原理与接口技术微机原理与接口技术复习参考资料第一章概 述一、计算机中的数制1、无符号数的表示方法:( 1)十进制计数的表示法特点:以十为底,逢十进一;共有 0-9 十个数字符号。( 2)二进制计数表示方法:特点:以 2 为底,逢 2 进位;只有 0 和 1 两个符号。( 3 )十六进制数的表示法:特点:以 16 为底,逢 16 进位;有 0-9 及 A F(表示 1015 )共 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/46微机原理与接口技术注意:对正数,三种表示法均相同。它们的差别在于对负数的表示。( 1)原码定义:符号位: 0 表示正, 1 表示负;数值位:真值的绝对值。注意:数 0 的原码不唯一( 2)反码定义:若 X0 ,则X 反 =X 原若 X0 , 则X补= X 反= X 原若 X0 , 则X补= X 反+1注意:机器字长为8 时,数 0 的补码唯一,同为000000002、 8 位二进制的表示范围:原码: -127+127反码: -127+127补码: -128+1273、特殊数10000000该数在原码中定义为:-0在反码中定义为:-127在补码中定义为:-128对无符号数:(10000000) = 128三、信息的编码1、 十进制数的二进制数编码用 4 位二进制数表示一位十进制数。有两种表示法:压缩 BCD 码和非压缩 BCD 码。(1 )压缩 BCD 码的每一位用 4 位二进制表示, 00001001 表示 09 ,一个字节表示两位十进制数。(2 )非压缩 BCD 码用一个字节表示一位十进制数,高 4 位总是 0000 ,低 4 位的 00001001表示 092、 字符的编码计算机采用7 位二进制代码对字符进行编码(1 )数字 09 的编码是 01100000111001,它们的高 3 位均是 011 ,后 4 位正好与其对应的二进制代码(BCD 码)相符。2/46微机原理与接口技术(2 )英文字母 AZ 的 ASCII 码从 1000001 (41H )开始顺序递增,字母 az 的 ASCII 码从 1100001 ( 61H )开始顺序递增,这样的排列对信息检索十分有利。第二章微机组成原理第一节、微机的结构1、计算机的经典结构冯. 诺依曼结构( 1)计算机由运算器、控制器、输入设备和输出设备五大部分组成(运算器和控制器又称为 CPU)( 2)数据和程序以二进制代码形式不加区分地存放在存储器总,存放位置由地址指定,数制为二进制。( 3)控制器是根据存放在存储器中的指令序列来操作的,并由一个程序计数器控制指令的执行。3、 系统总线的分类( 1)数据总线( Data Bus ),它决定了处理器的字长。( 2)地址总线( Address Bus ) , 它决定系统所能直接访问的存储器空间的容量。( 3)控制总线( Control Bus )第二节、 8086 微处理器1、 8086 是一种单片微处理芯片,其内部数据总线的宽度是16 位,外部数据总线宽度也是16 位,片内包含有控制计算机所有功能的各种电路。8086 地址总线的宽度为20 位,有 1MB (2 20 )寻址空间。2、 8086CPU由总线接口部件BIU 和执行部件EU 组成。 BIU 和 EU 的操作是异步的,为8086 取指令和执行指令的并行操作体统硬件支持。3、 8086 处理器的启动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 位寄存器,即:AXAH ,ALBXBH ,BLCXCH ,CLDXDH ,DL常用来存放参与运算的操作数或运算结果(2 )数据寄存器特有的习惯用法AX :累加器。多用于存放中间运算结果。所有 I/O 指令必须都通过 AX 与接口传送信息; BX :基址寄存器。在间接寻址中用于存放基地址;CX :计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;3/46微机原理与接口技术DX :数据寄存器。在 32 位乘除法运算时,存放高 16 位数;在间接寻址的 I/O 指令中存放 I/O 端口地址。2)、指针和变址寄存器SP :堆栈指针寄存器,其内容为栈顶的偏移地址;BP :基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。SI :源变址寄存器DI :目标变址寄存器变址寄存器常用于指令的间接寻址或变址寻址。3)、段寄存器CS :代码段寄存器,代码段用于存放指令代码DS :数据段寄存器ES :附加段寄存器,数据段和附加段用来存放操作数SS :堆栈段寄存器,堆栈段用于存放返回地址,保存寄存器内容,传递参数4)、指令指针(IP )16 位指令指针寄存器,其内容为下一条要执行的指令的偏移地址。5)、标志寄存器(1)状态标志:进位标志位(CF ):运算结果的最高位有进位或有借位,则CF=1辅助进位标志位(AF ):运算结果的低四位有进位或借位,则AF=1溢出标志位(OF ):运算结果有溢出,则OF=1零标志位( ZF ):反映指令的执行是否产生一个为零的结果符号标志位(SF ):指出该指令的执行是否产生一个负的结果奇偶标志位(PF ):表示指令运算结果的低8 位“ 1个”数是否为偶数(2 )控制标志位中断允许标志位(IF ):表示 CPU 是否能够响应外部可屏蔽中断请求跟踪标志( TF ): CPU 单步执行5、 8086 的引脚及其功能(重点掌握以下引脚)AD 15 AD0 :双向三态的地址总线,输入/输出信号INTR :可屏蔽中断请求输入信号,高电平有效。可通过设置IF 的值来控制。NMI :非屏蔽中断输入信号。不能用软件进行屏蔽。RESET :复位输入信号,高电平有效。复位的初始状态见P21MN/MX :最小最大模式输入控制信号。第三章8086 指令系统第一节 8086 寻址方式一、数据寻址方式1、立即寻址操作数 ( 为一常数 ) 直接由指令给出(此操作数称为立即数)4/46微机原理与接口技术立即寻址只能用于源操作数例:MOVAX, 1C8FHMOVBYTE PTR2A00H, 8FH错误例: MOV 2A00H,AX ; 错误!指令操作例: MOV AX ,3102H; AX3102H执行后, (AH) = 31H , (AL) = 02H2、寄存器寻址( 1)操作数放在某个寄存器中( 2)源操作数与目的操作数字长要相同( 3)寄存器寻址与段地址无关例:MOVAX, BXMOV3F00H, AXMOVCL, AL错误例: MOV AX,BL;字长不同 MOV ES:AX,DX;寄存器与段无关3、直接寻址(1)指令中直接给出操作数的16 位偏移地址偏移地址也称为有效地址(EA, EffectiveAddress)( 2)默认的段寄存器为 DS,但也可以显式地指定其他段寄存器称为段超越前缀( 3)偏移地址也可用符号地址来表示,如ADDR、 VAR例:MOVAX ,2A00HMOVDX ,ES:2A00HMOVSI,TABLE_PTR4、间接寻址操作数的偏移地址(有效地址EA)放在寄存器中只有 SI、DI 、 BX 和 BP 可作间址寄存器例:MOVAX,BXMOVCL,CS:DI错误例:MOVAX, DX MOVCL, AX5、寄存器相对寻址EA= 间址寄存器的内容加上一个8/16 位的位移量例:MOVAX,BX+8MOVCX,TABLESI5/46微机原理与接口技术MOVAX,BP;默认段寄存器为SS指令操作例:MOVAX ,DATABX若 (DS)=6000H, (BX)=1000H, DA TA=2A00H,(63A00H)=66H,(63A01H)=55H则物理地址= 60000H + 1000H + 2A00H = 63A00H指令执行后:( AX ) =5566H6、基址变址寻址若操作数的偏移地址:由基址寄存器(BX 或 BP) 给出基址寻址方式由变址寄存器(SI 或 DI) 给出变址寻址方式由一个基址寄存器的内容和一个变址寄存器的内容相加而形成操作数的偏移地址,称为基址 -变址寻址。EA= ( BX )+( SI)或( DI );EA= ( BP) +( SI)或( DI )同一组内的寄存器不能同时出现。注意:除了有段跨越前缀的情况外,当基址寄存器为BX 时,操作数应该存放在数据段DS中,当基址寄存器为BP 时,操作数应放在堆栈段SS 中。例:MOVAX,BX SIMOVAX,BX+SIMOVAX,DS: BP DI错误例:MOVAX,BX BP MOVAX,DI SI指令操作例: MOVAX , BXSI假定: (DS)=8000H,(BX)=2000H,SI=1000H则物理地址= 80000H + 2000H + 1000H = 83000H指令执行后 : (AL)=83000H(AH)=83001H7、相对基址变址寻址在基址 -变址寻址的基础上再加上一个相对位移量EA= ( BX )+( SI)或( DI )+8 位或 16 位位移量;EA= ( BP) +( SI)或( DI ) +8 位或 16 位位移量指令操作例 : MOV AX , DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H则指令执行后 (AH)=83021H,(AL)=83020H寄存器间接、寄存器相对、基址变址、相对基址变址四种寻址方式的比较:寻址方式指令操作数形式寄存器间接只有一个寄存器(BX/BP/SI/DI之一)寄存器相对一个寄存器加上位移量基址 变址两个不同类别的寄存器6/46微机原理与接口技术相对基址 -变址两个不同类别的寄存器加上位移量二、地址寻址方式(了解有4 类,能判断)简要判断依据(指令中间的单词):段内直接short,near段内间接word段间直接far段间间接dword第二节8086 指令系统一、数据传送指令1、通用传送指令(1) MOV dest , src; dest src传送的是字节还是字取决于指令中涉及的寄存器是8 位还是 16 位。具体来说可实现:MOVmem/reg1, mem/reg2指令中两操作数中至少有一个为寄存器 MOVreg,data;立即数送寄存器 MOVmem,data; 立即数送存储单元 MOVacc, mem;存储单元送累加器 MOVmem,acc;累加器送存储单元 MOV segreg,mem/reg ; 存储单元 /寄存器送段寄存器 MOV mem/reg, segreg ;段寄存器送存储单元 /寄存器MOV 指令的使用规则IP 不能作目的寄存器不允许mem mem不允许segreg segreg立即数不允许作为目的操作数不允许segreg立即数源操作数与目的操作数类型要一致当源操作数为单字节的立即数,而目的操作数为间址、变址、基址+变址的内存数时,必须用 PTR 说明数据类型。如:MOV BX ,12H 是错误的。(2)、堆栈指令什么是堆栈?按 “后进先出 (LIFO) ”方式工作的存储区域。堆栈以字为单位进行压入弹出操作。规定由 SS 指示堆栈段的段基址,堆栈指针SP 始终指向堆栈的顶部,SP 的初值规定了所用堆栈区的大小。堆栈的最高地址叫栈底。压栈指令 PUSHPUSHsrc; src 为 16 位操作数7/46微机原理与接口技术例: 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 )(3)、交换指令XCHG格式: XCHGreg, mem/reg功能:交换两操作数的内容。要求:两操作数中必须有一个在寄存器中;操作数不能为段寄存器和立即数;源和目地操作数类型要一致。举例:XCHGAX , BXXCHG2000 ,CL( 4)查表指令 XLAT执行的操作: AL (BX)+(AL)又叫查表转换指令, 它可根据表项序号查出表中对应代码的内容。 执行时先将表的首地址(偏移地址)送到 BX 中,表项序号存于 AL 中。2、输入输出指令只限于用累加器AL 或 AX 来传送信息。功能 : (累加器 ) I/O 端口( 1) 输入指令 IN 格式 :IN acc,PORT ;PORT 端口号 0 255HIN acc,DX;DX 表示的端口范围达64K例 :IN AL , 80H ;(AL) (80H 端口 )IN AL ,DX;(AL) (DX)8/46微机原理与接口技术(2) 输出指令 OUT格式: OUTport,accOUTDX,acc例: OUT 68H , AX;(69H , 68H)( AX )OUT DX , AL;(DX) (AL)在使用间接寻址的 IN/OUT 指令时,要事先用传送指令把 I/O 端口号设置到 DX 寄存器如:MOVDX , 220HINAL , DX; 将 220H 端口内容读入AL3、目标地址传送指令(1)LEA传送偏移地址格式: LEA reg , mem; 将指定内存单元的偏移地址送到指定寄存器要求:1) 源操作数 必须是一个 存储器操作数;2) 目的操作数必须是一个 16 位的通用寄存器。例: LEABX , SI+10H设:( SI) =1000H则执行该指令后, (BX ) =1010H注意以下二条指令差别:LEA BX , BUFFERMOV BX , BUFFER前者表示将符号地址为BUFFER 的存储单元的偏移地址取到BX 中 ;后者表示将BUFFER 存储单元中的内容取到BX 中。下面两条指令等效:LEA BX , BUFFERMOV BX, OFFSET BUFFER其中 OFFSET BUFFER表示存储器单元BUFFER 的偏移地址。二者都可用于取存储器单元的偏移地址,但LEA 指令可以取动态的地址,OFFSET 只能取静态的地址。二、算术运算指令1、 加法指令(1) 不带进位的加法指令 ADD格式:ADDacc,dataADDmem/reg,dataADDmem/reg1,mem/reg2实例:9/46微机原理与接口技术ADDAL , 30HADDSI, BX+20HADDCX ,SIADDDI , 200H?ADD 指令对 6 个状态标志均产生影响。例:已知 (BX)=D75FH指令ADDBX,8046H执行后,状态标志各是多少?D75FH = 1110 0111 0101 11118046H = 1000 0000 0100 01101111110110 0111 1010 0101结果: C=1, Z=0, P=0, A=1, O=1, S=0判断溢出与进位从硬件的角度: 默认参与运算的操作数都是有符号数, 当两数的符号位相同, 而和的结果相异时有溢出,则 OF=1,否则 OF=0(2)带进位的加法 ADCADC 指令在形式上和功能上与ADD 类似,只是相加时还要包括进位标志CF 的内容,例如:ADCAL , 68H ; AL (AL)+68H+(CF)ADCAX,CX;AX (AX)+(CX)+(CF)ADCBX , DI;BX (BX)+DI+1DI+(CF)( 3)加 1 指令 INC格式: INCreg/mem功能:类似于C 语言中的 +操作:对指定的操作数加 1例: INCALINCSIINCBYTE PTRBX+4注:本指令不影响CF 标志。(4)非压缩BCD 码加法调整指令AAAAAA 指令的操作:如果 AL 的低 4 位 9 或 AF=1 ,则: AL (AL)+6,(AH) (AH)+1,AF 1 AL 高 4位清零 CF AF否则 AL 高4位清零(5)压缩 BCD 码加法调整指令DAA两个压缩BCD 码相加结果在AL 中,通过DAA 调整得到一个正确的压缩BCD 码.指令操作 (调整方法 ):若 AL 的低 4位9或 AF=110/46微机原理与接口技术则 (AL) (AL)+6 , AF 1若 AL 的高 4位9或 CF=1则 (AL) (AL)+60H , CF 1除 OF 外, DAA 指令影响所有其它标志。DAA 指令应紧跟在 ADD 或 ADC 指令之后。2、 减法指令(1)不考虑借位的减法指令SUB格式: SUB dest, src操作: dest (dest)-(src)注: 1. 源和目的操作数不能同时为存储器操作数2. 立即数不能作为目的操作数指令例子:SUB AL, 60HSUB BX+20H , DXSUB AX, CX( 2)考虑借位的减法指令 SBB SBB指令主要用于多字节的减法。格式: SBB dest, src操作: dest (dest)-(src)-(CF)指令例子:SBB AX, CXSBB WORD PTRSI, 2080HSBB SI,DX( 3)减 1 指令 DEC作用类似于 C 语言中的”操作符。格式: DEC opr操作: opr (opr)-1指令例子:DEC CLDEC BYTE PTRDI+2DEC SI(4)求补指令NEG格式:NEGopr操作:opr 0-(opr)对一个操作数取补码相当于用0 减去此操作数,故利用NEG 指令可得到负数的绝对值。例:若 (AL)=0FCH ,则执行NEG AL 后,(AL)=04H , CF=1(5)比较指令CMP格式:CMPdest, src操作:(dest)-(src)11/ 46微机原理与接口技术CMP 也是执行两个操作数相减,但结果不送目标操作数,其结果只反映在标志位上。指令例子:CMPAL , 0AHCMPCX ,SICMPDI , 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 (AL)-6,且 AF 1若 AL 的高 4 位 9 或 CF=1,则:AL (AL)-60H ,且 CF 1DAS对 OF无定义 , 但影响其余标志位。DAS指令要求跟在减法指令之后。3、 乘法指令进行乘法时: 8 位 *8 位 16 位乘积16 位 *16 位 32 位乘积(1) 无符号数的乘法指令 MUL(MEM/REG)格式: MULsrc操作:字节操作数(AX) (AL) (src)字操作数(DX, AX) (AX) (src)指令例子:MUL BL; (AL) ( BL), 乘积在 AX中MUL CX; (AX) ( CX), 乘积在 DX,AX中MUL BYTE PTRBX(2)有符号数乘法指令IMUL格式与 MUL 指令类似,只是要求两操作数均为有符号数 。指令例子:IMULBL; (AX) (AL) (BL)IMULWORD PTRSI ;(DX,AX) (AX) (SI+1SI)12/46微机原理与接口技术注意: MUL/IMUL指令中 AL(AX) 为隐含的乘数寄存器; AX(DX,AX) 为隐含的乘积寄存器; SRC 不能为立即数; 除 CF 和 OF外,对其它标志位无定义。4、除法指令进行除法时: 16 位 /8 位 8 位商32 位 /16 位 16 位商对被除数、商及余数存放有如下规定:被除数商余数字节除法AXALAH字除法DX:AXAXDX(1)无符号数除法指令DIV格式: DIVsrc操作:字节操作(AL) (AX) / (SRC)的商(AH)(AX) / (SRC)的余数字操作(AX) (DX, AX) / (SRC)的商(DX) (DX, AX) / (SRC)的余数指令例子:DIV CLDIV WORD PTRBX(2)有符号数除法指令IDIV格式:IDIVsrc操作与 DIV 类似。商及余数均为有符号数,且余数符号总是与被除数符号相同。注意 : 对于 DIV/IDIV指令AX(DX,AX)为隐含的被除数寄存器。AL(AX) 为隐含的商寄存器。AH(DX) 为隐含的余数寄存器。src 不能为立即数。对所有条件标志位均无定关于除法操作中的字长扩展问题?除法运算要求被除数字长是除数字长的两倍,若不满足则需 对被除数进行扩展,否则产生错误。?对于无符号数除法扩展,只需将AH 或 DX 清零即可。?对有符号数而言,则是符号位的扩展。可使用前面介绍过的符号扩展指令CBW 和 CWD三、逻辑运算和移位指令1、逻辑运算指令(1)逻辑与AND13/46微机原理与接口技术对两个操作数进行按位逻辑“与”操作。格式: ANDdest, src用途:保留操作数的某几位,清零其他位。例 1:保留 AL 中低 4 位,高 4 位清 0。 AND AL,0FH(2)逻辑或OR对两个操作数进行按位逻辑”或 ”操作。格式: ORdest, src用途:对操作数的某几位置1;对两操作数进行组合。例 1:把 AL 中的非压缩BCD 码变成相应十进制数的ASCII 码。ORAL, 30H( 3)逻辑非 NOT对操作数进行按位逻辑”非 ”操作。格式: NOTmem/reg例: NOTCXNOTBYTE PTRDI(4)逻辑异或XOR对两个操作数按位进行”异或”操作。格式: XOR dest, src用途:对reg 清零 ( 自身异或 )把 reg/mem 的某几位变反 ( 与 1异或 )例 1:把 AX寄存器清零。 MOV AX,0 XOR AX,AX AND AX,0 SUB AX,AX( 5)测试指令 TEST操作与 AND 指令类似 ,但不将 ”与 ”的结果送回 ,只影响标志位。TEST 指令常用于位测试,与条件转移指令一起用。例:测试 AL 的内容是否为负数。TESTAL,80H;检查 AL 中 D7=1?JNZMINUS;是 1(负数 ),转 MINUS;否则为正数2、移位指令(1) 非循环移位指令算术左移指令SAL(Shift Arithmetic Left)14/46微机原理与接口技术算术右移指令SAR(Shift Arithmetic Right)逻辑左移指令SHL(Shift Left)逻辑右移指令SHR(Shift Right)这 4 条指令的格式相同 ,以 SAL 为例:CL ;移位位数大于1 时SALmem/reg1 ;移位位数等于 1 时? 算术移位 把操作数看做有符号数;逻辑移位 把操作数看做无符号数。? 移位位数放在CL 寄存器中,如果只移1 位 ,也可以直接写在指令中。例如:MOVCL,4SHRAL,CL;AL 中的内容右移4 位? 影响 C,P,S,Z,O 标志。? 结果未溢出时:左移 1 位操作数 *2右移 1 位操作数 /2例:把 AL 中的数 x 乘 10因为 10=8+2=2 3+2 1,所以可用移位实现乘10 操作。程序如下:MOVCL,3SALAL,1; 2xMOVAH,ALSALAL,1; 4xSALAL,1; 8xADDAL,AH; 8x+2x = 10 x四、控制转移指令1、 转移指令( 1)无条件转移指令 JMP格式: JMP label本指令无条件转移到指定的目标地址,以执行从该地址开始的程序段 。( 2)条件转移指令(补充内容) 根据单个标志位设置的条件转移指令JB/JC;低于 ,或 CF=1, 则转移JNB/JNC/JAE;高于或等于,或 CF=0, 则转移JP/JPE;奇偶标志PF=1( 偶), 则转移JNP/JPO;奇偶标志PF=0( 奇 ),则转移JZ/JE;结果为零 (ZF=1), 则转移JNZ/JNE;结果不为零 (ZF=0), 则转移JS; SF=1,则转移JNS;SF=0, 则转移15/46微机原理与接口技术JO; OF=1,则转移JNO; OF=0,则转移根据组合条件设置的条件转移指令这类指令主要用来判断两个数的大小。判断无符号数的大小JA高于则转移条件为 : CF=0 ZF=0 ,即 A BJNA/JBE低于或等于则转移条件为 : CF=1 ZF=1 ,即 A BJBAB 则转移JNBAB 则转移判断有符号数的大小JG ;大于则转移 (A B)条件为 : (SF OF=0) ZF=0JGE;大于或等于则转移(A B)条件为 : (SF OF=0) ZF=1JLE;小于或等于则转移(A B)条件为 : (SF OF=1) ZF=1JL;小于则转移(A B条件为 : (SF OF=1) ZF=02、循环控制指令用在循环程序中以确定是否要继续循环。循环次数通常置于CX 中。转移的目标应在距离本指令-128 +127 的范围之内。循环控制指令不影响标志位。(1)LOOP格式: LOOPlabel操作: (CX)-1 CX ;若 (CX) 0,则转至 label 处执行 ;否则退出循环 ,执行 LOOP 后面的指令。LOOP 指令与下面的指令段等价:DECCXJNZlabel3、过程调用指令( 1)调用指令 CALL一般格式: CALLsub;sub 为子程序的入口4、中断指令(1)INT n 执行类型 n 的中断服务程序,N=0 25516/46微机原理与接口技术五、处理器控制指令1、标志位操作(1) CF 设置指令CLC0 CFSTC1 CFCMCCF 变反(2) DF 设置指令CLD0 DF ( 串操作的指针移动方向从低到高)STD1 DF ( 串操作的指针移动方向从高到低)(3) IF 设置指令CLI0 IF ( 禁止 INTR 中断 )STI1 IF (开放 INTR 中断 )2、 HLT ( halt)执行 HLT 指令后, CPU 进入暂停状态。第四章8086 汇编语言程序设计第一节伪指令CPU 指令与伪指令之间的区别:(1) CPU 指令是给 CPU 的命令,在运行时由 CPU 执行,每条指令对应 CPU 的一种特定的操作。而伪指令是给汇编程序的命令,在汇编过程中由汇编程序进行处理。(2) 汇编以后, 每条 CPU 指令产生一一对应的目标代码;而伪指令则不产生与之相应的目标代码。1、数据定义伪指令(1)数据定义伪指令的一般格式为: 变量名 伪指令操作数 ,操作数 DB用来定义字节(BYTE )DW用来定义字(WORD )DD 用来定义双字( DWORD )( 2)操作数的类型可以是:常数或常数表达式例如: DATA_BYTEDB 10,5,10HDATA_WORDDW 100H,100,-4DATA_DWDD 2*30,0FFFBH可以为字符串(定义字符串最好使用DB )例如: char1 DB AB可以为变量可以为?号操作符例如: XDB5,?, 6?号只是为了给变量保留相应的存储单元,而不赋予变量某个确定的初值。重复次数: N DUP (初值 ,初值 )例如: ZERO DB 2 DUP( 3, 5)XYZDB 2DUP (0, 2 DUP (1,3),5)在伪操作的操作数字段中若使用$,则表示的是地址计数器的当前值。17/46微机原理与接口技术2、补充内容:(1)类型PTR地址表达式例如: MOV BYTE PTR BX, 12HINC BYTE PTR BX注意:单操作数指令,当操作数为基址、变址、基+变的时候必须定义3、符号定义伪指令(1) EQU格式:名字EQU表达式EQU 伪指令将表达式的值赋予一个名字,以后可用这个名字来代替上述表达式。例: CONSTANTEQU100NEW_PORTEQUPORT_VAL+1(2) =(等号)与 EQU 类似 ,但允许重新定义例:EMP=7;值为 7EMP=EMP+1 ;值为 8(3) LABELLABEL 伪指令的用途是定义标号或变量的类型格式:名字LABEL类型变量的类型可以是BYTE , WORD , DWORD 。标号的类型可以是NEAR 或 FAR4、段定义伪指令与段有关的伪指令有:SEGMENT 、 ENDS 、ASSUME 、 ORG(1)段定义伪指令的格式如下:段名 SEGMENT 定位类型 组合类型 类别 段名 ENDSSEGMENT 和 ENDS这两个伪指令总是成对出现,二者前面的段名一致。二者之间的删节部分,对数据段、附加段及堆栈段,一般是符号、变量定义等伪指令。对于代码段则是指令及伪指令。此外,还必须明确段和段寄存器的关系,这可由ASSUME 语句来实现。( 2 ) ASSUME格式:ASSUME 段寄存器名:段名 ,段寄存器名:段名 , ASSUME 伪指令告诉汇编程序,将某一个段寄存器设置为某一个逻辑段址,即明确指出源程序中逻辑段与物理段之间的关系。18/46微机原理与接口技术( 3) ORG伪指令 ORG 规定了段内的起始地址或偏移地址,其格式为:ORG表达式的值即为段内的起始地址或偏移地址,从此地址起连续存放程序或数据。5、汇编程序的一般结构(记住)DATASEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABGN:MOV AX ,DATAMOVDS,AX.MOV AH,4CHINT21HCODE ENDSEND BGN第三节程序设计1、 顺序程序的设计(略)2、 分支程序的设计典型例题:1X0Y=0X=0-1X0程序为:MOVAL ,XCMPAL,0JGEBIGMOVY, -1JMP EXITBIG : JE EQULMOVY, 1JMPEXITEQUL :MOVY,0EXIT : .3、 循环程序见讲义。用计数控制循环19/46微机原理与接口技术第一章计算机基础知识本章的主要内容为不同进位计数制计数方法、 不同进位制数之间相互转换的方法、数和字符在计算机中的表示方法、 简单的算术运算以及计算机系统的组成。下边将本章的知识点作了归类,图 1 为本章的知识要点图,图 1.2 为计算机系统组成的示意图。二进制数 (B)八进制数 (Q)数制十六进制数 (H)十进制数 (D)B)原码带符号数编码反码本补码章码制奇校验码知奇偶校验码偶校验码识要数字编码规则点ASCII 码字符编码字母编码规则压缩 BCD 码BCD 码非压缩 BCD 码计算机系统组成控制器中央处理器 (CPU)主机运算器ROM半导体存储器计硬件RAM算外部设备输入设备机输出设备系统操作系统:如DOS 、 Windows 、 Unix 、 Linux 等组20 /46成系统软件各种计算机语言处理软件:如汇编、解释、编译等软件其他系统软件软件微机原理与接口技术第二章8086 微处理器本章要从应用角度上理解 8086CPU 的内部组成、编程结构、引脚信号功能、最小工作模式的系统配置、 8086 的存储器组织、基本时序等概念。下面这一章知识的结构图。Intel 8086 微处理器时钟发生器(8284)系统配置8086CPU三总线 (DB 、 AB 、CB)(最小模式)地址锁存器( 74LS373、 8282)本数据收发器 (8286、 74LS245)章知存储器逻辑分段逻辑地址物理地址识存储器组织要奇地址存储体( BHE )点存储器分体偶地址存储体(A0 )时钟周期 (T 状态 )时序基本读总线周期基本写总线周期复位操作时序中断响应时序总线周期指令周期寄存器的复位值执行单元EU( AX 、BX 、 CX 、DX 、 SP、BP 、SI、 DI 、标志寄存器)内部组成总线接口单元BIU ( CS、 DS、 SS、 ES、IP)地址 /数据地址 /状态引脚功能负责地址 BHE/S7 、 ALE21/46(最小模式)数据允许和收发DEN 、 DT/R负责读写RD、WR 、M/IO负责中断INTR 、 NMI 、 INTA控制微机原理与接口技术第三章8086 的指令系统本章重点是 8086CPU 指令的寻址方式,每条指令的格式、功能及标志的影响;同时还涉及到存储器单元的物理地址计算、标志位填写和堆栈操作。下图为本章知识结构图。操作数寻址方式立即数寻址、寄存器寻址、存储器寻址 .本逻辑地址、物理地址章指令功能对标志位影响指令格式知填写标志位识要点堆栈指针 (SP)堆栈结构 (后进先出 )堆栈操作(入栈、出栈)立即数寻址直接寻址寄存器寻址寄存器间接寻址寻存储器寻址寄存器相对寻址址串操作寻址基址变址寻址方相对基址变址寻址式I/O 端口寻址隐含寻址数据传送类(通用数据传送指令、堆栈指令、交换指令、I/O传送指令、换码指令、有效地址传送指令、标志寄存器传送指令)算术运算类指令(加法指令,减法指令, 乘法指令,除法指令,BCD码调整指令)指逻辑类指令(逻辑运算指令、逻辑移位操作指令)令功串操作类指令(串传送、比较、扫描、串存和取指令)能控制转移类指令(条件和无条件转移、子程序调用22和/返46回指令、子程序调用和返回、中断)、处理器控制类指令微机原理与接口技术
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!