微机原理与接口技术知识点总结

上传人:豆****2 文档编号:71492944 上传时间:2022-04-07 格式:DOC 页数:17 大小:237KB
收藏 版权申诉 举报 下载
微机原理与接口技术知识点总结_第1页
第1页 / 共17页
微机原理与接口技术知识点总结_第2页
第2页 / 共17页
微机原理与接口技术知识点总结_第3页
第3页 / 共17页
资源描述:

《微机原理与接口技术知识点总结》由会员分享,可在线阅读,更多相关《微机原理与接口技术知识点总结(17页珍藏版)》请在装配图网上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流微机原理与接口技术知识点总结.精品文档.微机原理与接口技术第一章 概 述二、计算机中的码制(重点%)P51、对于符号数,机器数常用的表示方法有原码、反码和补码三种。注意:对正数,三种表示法均相同。它们的差别在于对负数的表示。(1)原码定义:符号位:0表示正,1表示负;数值位:真值的绝对值。注意:数0的原码不唯一 (2)反码定义:若X0, 则 X反= 对应原码的符号位不变,数值部分按位求反(3)补码定义:若X0, 则X补= X反+12、8位二进制的表示范围:原码:-127+127反码:-127+127补码:-128+1273、特殊数100000

2、00l该数在原码中定义为: -0l在反码中定义为: -127l在补码中定义为: -128l对无符号数:(10000000) = 128三、信息的编码1、 字符的编码P8计算机采用7位二进制代码对字符进行编码(1)数字09的编码是01100000111001,它们的高3位均是011,后4位正好与其对 应的二进制代码(BCD码)相符。(2)英文字母AZ的ASCII码从1000001(41H)开始顺序递增,字母az的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。第二章 微机组成原理第一节、微机的结构1、计算机的经典结构冯.诺依曼结构P11(1)微机由CPU(运算器

3、和控制器)、存储器和I/O接口组成2、 系统总线的分类(1)数据总线(Data Bus),它决定了处理器的字长。(2)地址总线(Address Bus),它决定系统所能直接访问的存储器空间的容量。(3)控制总线(Control Bus)第二节、8086微处理器1、8086,其内部数据总线的宽度是16位,16位CPU。外部数据总线宽度也是16位 8086地址线位20根,有1MB(220)寻址空间。P272、8086CPU从功能上分成两部分:总线接口单元(BIU)、执行单元(EU) BIU:负责8086CPU与存储器之间的信息传送。EU:负责指令的执行。P284、寄存器结构(重点%)1)数据寄存器

4、特有的习惯用法P30lAX:(Accumulator)累加器。多用于存放中间运算结果。所有I/O指令必须都通过AX与接口传送信息;lBX:(Base)基址寄存器。在间接寻址中用于存放基地址;lCX:(Counter)计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;lDX:(Data)数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存放I/O端口地址。2)、指针和变址寄存器P31lSP:(Stack Pointer)堆栈指针寄存器,其内容为栈顶的偏移地址;lBP:(Base Pointer)基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。lSI:(

5、Source Index)源变址寄存器 Index:指针lDI:(Destination Index)目标变址寄存器变址寄存器常用于指令的间接寻址或变址寻址。3)、段寄存器P28CS:(Code Segment)代码段寄存器,代码段用于存放指令代码DS:(Data Segment)数据段寄存器 ES:(Extra Segment)附加段寄存器,数据段和附加段用来存放操作数SS:(Stack Segment)堆栈段寄存器,堆栈段用于存放返回地址,保存寄存器内容,传递参数4)、指令指针(IP)P2916位指令指针寄存器,其内容为下一条要执行的指令的偏移地址。5)、标志寄存器(1)状态标志:P30l

6、进位标志位(CF):(Carry Flag)运算结果的最高位有进位或有借位,则CF=1 。Carry:进位 Auxiliary :辅助 l辅助进位标志位(AF):(Auxiliary Carry Flag)运算结果的低四位有进位或借位,则AF=1l溢出标志位(OF):(Overflow Flag)运算结果有溢出,则OF=1l零标志位(ZF):(Zero Flag)反映指令的执行是否产生一个为零的结果l符号标志位(SF):(Sign Flag)指出该指令的执行是否产生一个负的结果l奇偶标志位(PF):(Parity Flag)表示指令运算结果的低8位“1”个数是否为偶数(2)控制标志位l中断允许

7、标志位(IF):(Interrupt Flag)表示CPU是否能够响应外部可屏蔽中断请求l跟踪标志(TF):(Trap Flag)CPU单步执行5、8086的引脚及其功能(重点掌握以下引脚)P34lAD15AD0:双向三态的地址总线,输入/输出信号lINTR:(Interrupt Request)可屏蔽中断请求输入信号,高电平有效。可通过设置IF的值来控制。lNMI:(Non_Maskable Interrupt)非屏蔽中断输入信号。不能用软件进行屏蔽。lRESET:(Reset)复位输入信号,高电平有效。复位的初始状态见P21lMN/MX:(Minimum/Maximum)最小最大模式输入控

8、制信号。第三章 8086指令系统第一节 8086寻址方式一、数据寻址方式(重点%)1、立即寻址P46 操作数(为一常数)直接由指令给出 (此操作数称为立即数)立即寻址只能用于源操作数指令操作例:MOV AX,3102H; 执行后,(AH) = 31H,(AL) = 02H2、寄存器寻址P47(1)操作数放在某个寄存器中(2)源操作数与目的操作数字长要相同(3)寄存器寻址与段地址无关3、直接寻址P48(1)指令中直接给出操作数的16位偏移地址 偏移地址也称为有效地址(EA, Effective Address)(2)默认的段寄存器为DS,但也可以显式地指定其他段寄存器称为段超越前缀(3)偏移地址

9、也可用符号地址来表示,如ADDR、VAR例: MOV AX ,2A00H 用表示数字存放的地址 MOV DX ,ES:2A00HMOV SI,TABLE_PTR4、间接寻址 P48l 操作数的偏移地址(有效地址EA)放在寄存器中l 只有SI、DI、BX和BP可作间址寄存器 SI、DI、BX 默认段地址DS BP默认段地址SSl 例: MOV AX,BX MOV CL,CS:DI 错误例 : MOV AX, DX5、寄存器相对寻址 P49lEA=间址寄存器的内容加上一个8/16位的位移量l 例: MOV AX, BX+8 MOV CX, TABLESI MOV AX, BP; BX.SI.DI默

10、认段寄存器DS,BP默认段寄存器为SSl 指令操作例:MOV AX,DATABX 若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H 则物理地址 = 60000H + 1000H + 2A00H = 63A00H指令执行后:(AX)=5566H6、基址变址寻址 P51l 若操作数的偏移地址:EA=基址寄存器(BX或BP)+变址寄存器(SI或DI)同一组内的寄存器不能同时出现。错误例: MOV AX, BX BP7、相对基址变址寻址P51EA=基址寄存器(BX或BP)+变址寄存器(SI或DI)+8位或16位位移量;指令操

11、作例:MOV AX,DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H则指令执行后(AH)=83021H, (AL)=83020H寄存器间接、寄存器相对、基址变址、相对基址变址四种寻址方式的比较: 寻址方式 指令操作数形式n 寄存器间接 只有一个寄存器(BX/BP/SI/DI之一)n 寄存器相对 一个寄存器加上位移量n 基址变址 两个不同类别的寄存器n 相对基址-变址 两个不同类别的寄存器加上位移量第二节 8086指令系统一、数据传送指令(重点%)1、数据传送类指令 (特点:除SAHF POPF外均不影响FR) P541. 通用MOV

12、dst,src堆栈:PUSH POP交换:XCHG查表:XLAT2. 标志 LAHF SAHF PUSHF POPF3. 地址: LEA LDS LES4.输入 输出: IN OUT(1) MOV dest,src; destsrc传送的是字节还是字取决于指令中涉及的寄存器是8位还是16位。具体来说可实现: MOV mem/reg1,mem/reg2指令中两操作数中至少有一个为寄存器MOV指令的使用规则IP不能作目的寄存器不允许memmem不允许segregsegreg立即数不允许作为目的操作数不允许segreg立即数源操作数与目的操作数类型要一致当源操作数为单字节的立即数,而目的操作数为间址

13、、变址、基址+变址的内存数时,必须用PTR说明数据类型。如:MOV BX,12H 是错误的。(2)、堆栈指令P54堆栈以字为单位进行压入弹出操作。规定由SS指示堆栈段的段基址,堆栈指针SP始终指向堆栈的顶部,SP的初值规定了所用堆栈区的大小。堆栈的最高地址叫栈底。 压栈指令PUSHPUSH src ; src为16位操作数例:PUSHAX;将AX内容压栈执行操作:(SP)-1高字节AH(SP)-2低字节AL(SP)(SP)- 2注意进栈方向是高地址向低地址发展。 弹出指令POPPOPdest 例:POP BX;将栈顶内容弹至BX执行操作:(BL)(SP)(BH)(SP)+1(SP)(SP)+2

14、堆栈指令在使用时需注意的几点: 堆栈操作总是按字进行 不能从栈顶弹出一个字给CS 堆栈指针为SS:SP,SP永远指向栈顶SP自动进行增减量(-2,+2)(3)、交换指令XCHG P54格式:XCHG reg,mem/reg功能:交换两操作数的内容。要求:两操作数中必须有一个在寄存器中;操作数不能为段寄存器和立即数;源和目地操作数类型要一致。(4)查表指令XLAT P57执行的操作:AL(BX)+(AL)又叫查表转换指令,它可根据表项序号查出表中对应代码的内容。执行时先将表的首地址(偏移地址)送到BX中,表项序号存于AL中。2、输入输出指令 P57只限于用累加器AL或AX来传送信息。功能: (累

15、加器)I/O端口(1) 输入指令IN格式:IN acc,PORT ;PORT端口号0255HIN acc,DX ;DX表示的端口范围达64K例:IN AL,80H ;(AL)(80H端口)IN AL,DX ;(AL)(DX)(2) 输出指令OUT格式:OUT port,accOUT DX,acc例:OUT 68H,AX ;(69H,68H)(AX)OUT DX,AL ;(DX)(AL)在使用间接寻址的IN/OUT指令时,要事先用传送指令把I/O端口号设置到DX寄存器如:MOV DX,220HIN AL,DX;将220H端口内容读入AL3、目标地址传送指令 P58(1) LEA传送偏移地址格式:

16、LEA reg,mem ; 将指定内存单元的偏移地址送到指定寄存器要求:1) 源操作数必须是一个存储器操作数;2) 目的操作数必须是一个16位的通用寄存器。例:LEA BX,SI+10H设:(SI)=1000H则执行该指令后,(BX)=1010Hl注意以下二条指令差别:LEA BX,BUFFER MOV BX,BUFFER前者表示将符号地址为BUFFER的存储单元的偏移地址取到 BX中;后者表示将BUFFER存储单元中的内容取到 BX中。下面两条指令等效:LEA BX,BUFFERMOV BX, OFFSET BUFFER其中OFFSET BUFFER表示存储器单元BUFFER的偏移地址。二者

17、都可用于取存储器单元的偏移地址,但LEA指令可以取动态的地址,OFFSET只能取静态的地址。二、 算术运算类指令 (特点:除CBW CWD外均影响FR) P601. 加法: ADD ADC2. 减法: SUB SBB CMP3. 加1 减1:INC DEC4. 求补: NEC5. 乘法: MUL (无符号数) IMUL (带符号数)6. 除法: DIV (无符号数) IDIV (带符号数)7. 扩展: CBW (BW) CWD (WDW)8. 十进制调整: 1)加法:DAA(组合) AAA(未组合) 2)减法:DAS (组合) AAS(未组合) 3)乘法:AAM(未组合) 4)除法:AAD乘、

18、除法指令注意事项:1. 无符号与带符号数所用指令不同;2. 八位乘法时,必有一个乘数在AL中,积在AX中;十六位乘法时,必有一个乘数在AX中,积在DX(高16位)与AX(低16位)中;3. 八位除法时,被除数在AX中(16位),商在AL,余数在AH;十六位除法时,被除数在DX(高16位)与AX(低16位)中,商在AX,余数在DX; 4. 十进制调整时,乘、除法均只能使用未组合BCD码,并且除法是先调整后运算。1、 加法指令 P61(1) 不带进位的加法指令ADD格式: ADD acc,dataADD mem/reg,dataADD mem/reg1,mem/reg2ADD指令对6个状态标志均产

19、生影响。判断溢出与进位(重点%)从硬件的角度:默认参与运算的操作数都是有符号数,当两数的符号位相同,而和的结果相异时有溢出,则OF=1,否则OF=0(2) 带进位的加法ADC (Add with Carry)P62ADC指令在形式上和功能上与ADD类似,只是相加时还要包括进位标志CF的内容,例如:ADC AL,68H ; AL(AL)+68H+(CF)ADC AX,CX ;AX(AX)+(CX)+(CF)ADC BX,DI ;BX(BX)+DI+1DI+(CF)(3)加1指令INC (Increment)格式:INC reg/mem功能:类似于C语言中的+操作:对指定的操作数加1 注:本指令不

20、影响CF标志。2、 减法指令 P63(1)不考虑借位的减法指令SUB (Subtraction)格式: SUB dest, src注:1.源和目的操作数不能同时为存储器操作数2. 立即数不能作为目的操作数(2)考虑借位的减法指令SBB (Subtraction with Carry)SBB指令主要用于多字节的减法。格式: SBB dest, src操作: dest(dest)-(src)-(CF)(3)减1指令DEC (Decrement)格式:DEC opr操作:opr(opr)-1(4)求补指令NEG (Negate)格式: NEG opr操作: opr 0-(opr)对一个操作数取补码相

21、当于用0减去此操作数,故利用NEG指令可得到负数的绝对值。例:若(AL)=0FCH,则执行 NEG AL后,(AL)=04H,CF=1(5)比较指令CMP格式: CMP dest, src操作: (dest)-(src)CMP也是执行两个操作数相减,但结果不送目标操作数,其结果只反映在标志位上。(4)非压缩BCD码加法调整指令AAA P68AAA指令的操作:如果AL的低4位9或AF=1,则: AL(AL)+6,(AH)(AH)+1,AF1 AL高4位清零 CFAF否则AL高4位清零(5)压缩BCD码加法调整指令DAA P68l两个压缩BCD码相加结果在AL中,通过DAA调整得到一个正确的压缩B

22、CD码.l指令操作(调整方法):若AL的低4位9或AF=1则(AL)(AL)+6,AF1若AL的高4位9或CF=1则(AL)(AL)+60H,CF1l除OF外,DAA指令影响所有其它标志。lDAA指令应紧跟在ADD或ADC指令之后。(6)非压缩BCD码减法调整指令AAS对AL中由两个非压缩的BCD码相减的结果进行调整。调整操作为:若AL的低4位9或AF=1,则: AL(AL)-6,AH(AH)-1,AF1 AL的高4位清零 CFAF否则:AL的高4位清零(7)压缩BCD码减法调整指令DAS对AL中由两个压缩BCD码相减的结果进行调整。调整操作为:若AL的低4位9或AF=1,则:AL(AL)-6

23、, 且AF1若AL的高4位9或CF=1,则:AL(AL)-60H,且CF1DAS对OF无定义,但影响其余标志位。DAS指令要求跟在减法指令之后。3、 乘法指令 P65进行乘法时:8位*8位16位乘积16位*16位32位乘积(1) 无符号数的乘法指令MUL(MEM/REG)格式: MUL src操作:字节操作数 (AX)(AL) (src)字操作数 (DX, AX)(AX) (src)指令例子:MUL BL ;(AL)(BL),乘积在AX中MUL CX ;(AX)(CX),乘积在DX,AX中(2)有符号数乘法指令IMUL格式与MUL指令类似,只是要求两操作数均为有符号数。指令例子:IMUL BL

24、 ;(AX)(AL)(BL)IMUL WORD PTRSI;(DX,AX)(AX)(SI+1SI)注意:MUL/IMUL指令中 AL(AX)为隐含的乘数寄存器; AX(DX,AX)为隐含的乘积寄存器; SRC不能为立即数; 除CF和OF外,对其它标志位无定义。4、除法指令 P66进行除法时:16位/8位8位商32位/16位16位商对被除数、商及余数存放有如下规定:被除数 商 余数字节除法 AX AL AH字除法 DX:AX AX DX(1)无符号数除法指令DIV (Division)格式: DIV src操作:字节操作 (AL)(AX) / (SRC) 的商(AH)(AX) / (SRC) 的

25、余数字操作 (AX) (DX, AX) / (SRC) 的商(DX) (DX, AX) / (SRC) 的余数(2)有符号数除法指令IDIV (Integer division)格式: IDIV src操作与DIV类似。商及余数均为有符号数,且余数符号总是与被除数符号相同。注意: 对于DIV/IDIV指令AX(DX,AX)为隐含的被除数寄存器。AL(AX)为隐含的商寄存器。AH(DX)为隐含的余数寄存器。src不能为立即数。对所有条件标志位均无定关于除法操作中的字长扩展问题除法运算要求被除数字长是除数字长的两倍,若不满足则需对被除数进行扩展,否则产生错误。对于无符号数除法扩展,只需将AH或DX

26、清零即可。对有符号数而言,则是符号位的扩展。可使用前面介绍过的符号扩展指令CBW和CWD三、 逻辑运算类指令 (特点:均影响FR) P70 1. 与: AND 2. 或: OR 3. 异或: XOR 4. 非: NOT 5. 测试: TEST 移位指令1. 逻辑移位: 左移 SHL 右移 SHR2. 算术移位: 左移 SAL 右移 SAR3. 循环移位: 1). 不带CF: 左移 ROL 右移 ROR 2). 带CF: 左移 RCL 右移 RCR1、逻辑运算指令(1)逻辑与AND对两个操作数进行按位逻辑“与”操作。格式:AND dest, src用途:保留操作数的某几位,清零其他位。(2)逻辑

27、或OR对两个操作数进行按位逻辑”或”操作。格式:OR dest, src用途:对操作数的某几位置1;对两操作数进行组合。例1:把AL中的非压缩BCD码变成相应十进制数的ASCII码。OR AL, 30H(3)逻辑非NOT对操作数进行按位逻辑”非”操作。格式:NOT mem/reg(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指令类似,但不将”与”的结果送回

28、,只影响标志位。TEST指令常用于位测试,与条件转移指令一起用。例:测试AL的内容是否为负数。 TEST AL,80H ;检查AL中D7=1? JNZ MINUS ;是1(负数),转MINUS ;否则为正数2、移位指令(1)非循环移位指令(重点%) P72 算术左移指令 SAL(Shift Arithmetic Left) 算术右移指令 SAR(Shift Arithmetic Right) 逻辑左移指令 SHL(Shift Left) 逻辑右移指令 SHR(Shift Right)这4条指令的格式相同,以SAL为例:CL ;移位位数大于1时SAL mem/reg1 ;移位位数等于1时算术移位

29、把操作数看做有符号数; 逻辑移位把操作数看做无符号数。移位位数放在CL寄存器中,如果只移1位,也 可以直接写在指令中。例如: MOV CL,4 SHR AL,CL ;AL中的内容右移4位影响C,P,S,Z,O标志。结果未溢出时: 左移1位操作数*2右移1位操作数/2例:把AL中的数x乘10因为10=8+2=23+21,所以可用移位实现乘10操作。程序如下:MOV CL,3SAL AL,1 ; 2xMOV AH,AL SAL AL,1 ; 4xSAL AL,1 ; 8xADD AL,AH ; 8x+2x = 10x四、 控制转移类指令: P80一)、无条件转移 JMP1. 近转移 (段内) (N

30、EAR PTR)1). 直接 (相对寻址): 短转移(SHORT) IP IP + disp (8位) 如:JMP n 长转移 IP IP + disp (16位) 如:JMP nn2). 间接: IP reg (16位) IP mem (16位) 如:JMP BX2. 远转移 (段间) (FAR PTR) 1). 直接: CS = 指令中给出的段地址 IP = 指令中给出的EA 如:JMP 段:偏 2). 间接: CS = mem+2 (16位) IP = mem (16位) 如:JMP DWORD PTR BX 二)、 条件转移 Jcc1. 单测试条件指令 1 0 C JC / JNAE

31、/ JB JNC / JAE / JNB Z JZ / JE JNZ / JNE S JS JNS P JP / JPE JNP / JPO O JO JNO2. 复合测试条件指令 即 A B 无 符 号 数 带 符 号 数 = JZ JZ JNZ JNZ JC / JB / JNAE JL / JNGE JA / JNBE JG / JNLE JBE / JNA JLE / JNG JNC / JAE / JNB JGE / JNL三). 循环控制指令1. 循环转移指令 LOOP (相当于: DEC CXJNZ n )2. 相等(为零)循环转移指令 LOOPE/LOOPZ3. 不相等(不为零

32、)循环转移指令 LOOPNE/LOOPNZ四). 过程调用与返回指令 1. 调用指令 CALL (与JMP一样分:段内直接、段内间接、段间直接、段间间接调用四种,但需保护断点) 2. 返回指令 1). RET (依段内、段间不同分别恢复相应断点) 2). RET n (除象RET恢复断点外还应根据n值修设SP)五). 中断指令1. INT n (响应中断时,除象CALL保护断点外,还应保护FR)2. INTOIRET (返回时,除象RET恢复断点外,还应恢复F(1)LOOP格式:LOOP label操作:(CX)-1CX; 若(CX)0,则转至label处执行; 否则退出循环,执行LOOP后面

33、的指令。 LOOP指令与下面的指令段等价: DEC CX JNZ label3、过程调用指令(1)调用指令CALL一般格式:CALL sub ;sub为子程序的入口4、中断指令 P85(1)INT n 执行类型n的中断服务程序,N=0255五、 串操作指令一). 串操作指令 1. 串传送 MOVS (字节串 MOVSB 字串MOVSW) 2. 串比较 CMPS (字节串 CMPSB 字串CMPSW) 3. 串搜索 SCAS (字节串 SCASB 字串SCASW) 4. 取串 LODS (字节串 LODSB 字串LODSW) 5. 存串 STOS (字节串 STOSB 字串STOSW)二). 重

34、复前缀指令 1. 无条件重复 REP 2. 相等 / 为零重复 REPE / REPZ 3. 不相等 / 不为零重复 REPNE / REPNZ串操作指令特点:1. 可用前缀使其重复操作;2. 每操作一次自动修改SI和DI内容,当DF=0时为增量,DF=1为减量;3. 所有源操作数地址放在SI中,在DS段,串长 64K; 所有目标操作数地址放在DI中,在ES段,串长 64K;4. 用重复前缀时,如果条件满足且CX 0 时重复,每重复一次CX CX1,否则结束重复;5. 重复操作时IP不变,中断返回后继续操作。重复前缀重复与结束重复的条件:重 复 前 缀 重 复 条 件 结 束 条 件 REP

35、(无条件重复) CX 0 CX = 0REPE / REPZ(相等/为零重复)CX 0 且 ZF=1CX = 0 或 ZF=0REPNE / REPNZ(不相等/不为零重复)CX 0 且 ZF=0CX = 0 或 ZF=1使用串操作指令时注意:1. SI 源串首(末)址DI 目标串首(末)址;2. CX 串长度;3. 设DF 值;4. 选重复前缀;5. 使用条件重复前缀时,判断结束条件(即 是CX=0 还是ZF=0/1结束)六、 处理器控制指令 P881. 标志位操作1). 清CF CLC (CF=0)2). 置CF STC (CF=1)3). CF取反 CMC 4). 清DF CLD (DF

36、=0)5). 置DF STD (DF=1)6). 清IF CLI (CF=0 关中断)7). 置IF STI (CF=1 开中断)2. 同步控制指令1). ESC 2). WAIT 3). LOCK3. 空操作指令 NOP4. 暂停指令 HLT1、标志位操作(1)CF设置指令 CLC 0CF STC 1CF CMC CF变反(2)DF设置指令 CLD 0DF (串操作的指针移动方向从低到高)STD 1DF (串操作的指针移动方向从高到低)(3)IF设置指令 CLI 0IF (禁止INTR中断) STI 1IF (开放INTR中断) 1、 HLT(halt)执行HLT指令后,CPU进入暂停状态。

37、第四章 8086汇编语言程序设计第一节 伪指令(重点%)分析运算符:SEG、OFFSET、TYPE、LENGTH、SIZE P97CPU指令与伪指令之间的区别:P98(1)CPU指令是给CPU的命令,在运行时由CPU执行,每条指令对应CPU的一种特定的操作。而伪指令是给汇编程序的命令,在汇编过程中由汇编程序进行处理。(2)汇编以后,每条CPU指令产生一一对应的目标代码;而伪指令则不产生与之相应的目标代码。1、数据定义伪指令(1)数据定义伪指令的一般格式为:l变量名 伪指令 操作数,操作数 P99 DB 用来定义字节(BYTE)DW 用来定义字(WORD)DD 用来定义双字(DWORD)例:下面

38、的数据项设置了多少个字节?(1) ASC_DATADB1234(2) HEX_DATA DB1234H答案: (1) 设置了4个字节 (2) 设置了2个字节(2)操作数的类型可以是:常数或常数表达式l例如: DATA_BYTE DB 10,5,10H DATA_WORD DW 100H,100,-4 DATA_DW DD 2*30,0FFFBH可以为字符串(定义字符串最好使用DB)l例如:char1 DB AB可以为变量可以为?号操作符例如:X DB 5,?,6?号只是为了给变量保留相应的存储单元,而不赋予变量某个确定的初值。重复次数:N DUP(初值,初值) P100l例如:ZERO DB

39、2 DUP(3,5)XYZ DB 2 DUP(0,2 DUP(1,3),5)在伪操作的操作数字段中若使用$,则表示的是地址计数器的当前值。2、补充内容: P98(1)类型 PTR 地址表达式例如:MOV BYTE PTR BX,12H INC BYTE PTR BX注意:单操作数指令,当操作数为基址、变址、基+变的时候必须定义3、符号定义伪指令(1)EQU P100格式:名字 EQU 表达式EQU伪指令将表达式的值赋予一个名字,以后可用这个名字来代替上述表达式。例:CONSTANT EQU 100NEW_PORT EQU PORT_VAL+1(2) =(等号)与EQU类似,但允许重新定义例:E

40、MP=7;值为7EMP=EMP+1;值为8(3)LABELLABEL伪指令的用途是定义标号或变量的类型格式:名字 LABEL 类型变量的类型可以是BYTE,WORD,DWORD。标号的类型可以是NEAR或FAR4、段定义伪指令 P100与段有关的伪指令有: SEGMENT、ENDS、ASSUME、ORG(1)段定义伪指令的格式如下:段名 SEGMENT 定位类型 组合类型 类别 段名 ENDSSEGMENT和ENDS 这两个伪指令总是成对出现,二者前面的段名一致。二者之间的删节部分,对数据段、附加段及堆栈段,一般是符号、变量定义等伪指令。对于代码段则是指令及伪指令。此外,还必须明确段和段寄存器

41、的关系,这可由ASSUME语句来实现。(2)ASSUME P101格式:ASSUME 段寄存器名:段名,段寄存器名:段名,ASSUME伪指令告诉汇编程序,将某一个段寄存器设置为某一个逻辑段址,即明确指出源程序中逻辑段与物理段之间的关系。(3)ORG P102伪指令ORG规定了段内的起始地址或偏移地址,其格式为:ORG 表达式的值即为段内的起始地址或偏移地址,从此地址起连续存放程序或数据。5、汇编程序的一般结构(重点%)(记住)DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABGN: MOV AX ,DATA MOV DS,AX MOV AH,4CH INT 21HCODE ENDSEND BGN第三章 微机的输入输出在接口电路中传递的信息按性质分可分成三类::数据信息、状态信息、控制信息 P133在PC系列微机中,I/O指令采用直接寻址方式的I/O端口有 256 个。采用DX间接寻址方式可寻址的I/O端口有 64K 个。 P136数据输入/输出的四种方式是 无条件传送方式 、条件传送方式、 中断方式 和 DMA传送方式 。 P1388237:高性能的可编程DMA控制器 P1488259:可编程中断控制器 P1738253:可编程定时/计数器 P2008255:可编程并行接口 P218

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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