汇编语言IBP-PC第3章.ppt

上传人:小飞机 文档编号:5993745 上传时间:2023-09-12 格式:PPT 页数:87 大小:728KB
返回 下载 相关 举报
汇编语言IBP-PC第3章.ppt_第1页
第1页 / 共87页
汇编语言IBP-PC第3章.ppt_第2页
第2页 / 共87页
汇编语言IBP-PC第3章.ppt_第3页
第3页 / 共87页
汇编语言IBP-PC第3章.ppt_第4页
第4页 / 共87页
汇编语言IBP-PC第3章.ppt_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《汇编语言IBP-PC第3章.ppt》由会员分享,可在线阅读,更多相关《汇编语言IBP-PC第3章.ppt(87页珍藏版)》请在三一办公上搜索。

1、3.3.4 串处理指令:设置方向标志指令 CLD、STD 串处理指令 串重复前缀 MOVSB/MOVSW REP STOSB/STOSW REPE/REPZ LODSB/LODSW REPNE/REPNZ CMPSB/CMPSW SCASB/SCASW,1.与 REP 配合工作的 MOVS/STOS/LODS(1).REP 执行操作:(1)如(CX)=0 则退出 REP,否则转(2)(2)(CX)(CX)-1(3)执行 MOVS/STOS/LODS(4)重复(1)(3),(2).MOVS 串传送指令:MOVS DST,SRCMOVSB(字节)MOVSW(字)例:MOVS ES:BYTE PTR

2、 DI,DS:SI 执行操作:(1)(DI)(SI)(2)字节操作:(SI)(SI)1,(DI)(DI)1 字操作:(SI)(SI)2,(DI)(DI)2 方向标志 DF=0 时用+,DF=1 时用-。REP MOVS:将数据段中的整串数据传送到附加段中。源串(数据段)目的串(附加段),执行 REP MOVS 之前,应先做好:(1)源串首地址(末地址)SI(2)目的串首地址(末地址)DI(3)串长度 CX(4)建立方向标志(CLD 使 DF=0,STD 使 DF=1),(SI)(DI),数据段 附加段,(SI)(DI),data segment mess1 db personal_comput

3、erdata endsextra segment mess2 db 17 dup(?)extra endscode segment mov ax,data movds,ax movax,extra mov es,ax lea si,mess1 lea di,mess2 mov cx,17 cld rep movsb code ends,data segment mess1 db personal_computer mess2 db 17 dup(?)data endscode segment mov ax,data movds,ax mov es,ax lea si,mess1 lea di,

4、mess2 mov cx,17 cld rep movsb code ends,(4).LODS 从串取指令:LODS SRC LODSB(字节)LODSW(字)执行操作:字节操作:(AL)(SI),(SI)(SI)1 字操作:(AX)(SI),(SI)(SI)2,注意:*LODS 指令一般不与 REP 联用*源串一般在数据段中(允许使用段跨越前缀来修改),目的串必须在附加段中*不影响条件标志位,2.与 REPE/REPZ(REPNE/REPNZ)配合工作的 CMPS 和 SCAS(1).REPE/REPZ REPNE/REPNZ 执行操作:(1)如(CX)=0 或 ZF=0(ZF=1)则退出

5、串操作,否则转(2)(2)(CX)(CX)-1(3)执行 CMPS/SCAS(4)重复(1)(3),(2).CMPS 串比较指令:CMPS SRC,DST CMPSB(字节)CMPSW(字)执行操作:(1)(SI)-(DI)根据比较结果置条件标志位:相等 ZF=1 不等 ZF=0(2)字节操作:(SI)(SI)1,(DI)(DI)1 字操作:(SI)(SI)2,(DI)(DI)2,(3).SCAS 串扫描指令:SCAS DST SCASB(字节)SCASW(字)执行操作:字节操作:(AL)-(DI),(DI)(DI)1 字操作:(AX)-(DI),(DI)(DI)2,例:从一个字符串中查找一个

6、指定的字符 mess db COMPUTER lea di,mess mov al,T mov cx,8 cld repne scasb,C,O,M,P,U,T,E,R,(di),(CX)=2,例:比较两个字符串,找出它们不相匹配的位置,例:反向传送,lea si,mess1lea di,mess2mov cx,8cldrepe cmpsb,lea si,mess1+7lea di,mess2+7mov cx,8STdrep movsb,第3章:3.3.5 控制转移指令 无条件转移指令 JMP 条件转移指令JZ/JNZ、JE/JNE、JS/JNS、JO/JNO、JP/JNP、JB/JNB、JL

7、/JNL、JBE/JNBE、JLE/JNLE、JCXZ 循环指令 LOOP、LOOPZ/LOOPE、LOOPNZ/LOOPNE 子程序调用和返回指令 CALL、RET 中断与中断返回指令 INT、INTO、IRET,第3章:3.3.5 控制转移指令,控制转移类指令用于实现分支、循环、过程等程序结构,是仅次于传送指令的常用指令重点掌握:JMP/Jcc/LOOP/JCXZ CALL/RET INT n/IRET 常用系统功能调用,控制转移类指令通过改变IP(和CS)值,实现程序执行顺序的改变,第3章:目标地址的寻址范围:段内寻址,段内转移近转移(near)在当前代码段64KB范围内转移(32KB范

8、围)不需要更改CS段地址,只要改变IP偏移地址段内转移短转移(short)转移范围可以用一个字节表达,在段内128127范围的转移,第3章:目标地址的寻址范围:段间寻址,段间转移远转移(far)从当前代码段跳转到另一个代码段,可以在1MB范围需要更改CS段地址和IP偏移地址目标地址必须用一个32位数表达,叫做32位远指针,它就是逻辑地址,代码段,代码段,实际编程时,汇编程序会根据目标地址的属性,自动处理成短转移、近转移或远转移 程序员可用操作符short、near ptr 或far ptr 强制成为需要的转移类型,第3章:1.无条件转移指令,只要执行无条件转移指令JMP,就使程序转到指定的目标

9、地址,从目标地址处开始执行指令操作数label是要转移到的目标地址(目的地址、转移地址)JMP指令分成4种类型:段内转移、直接寻址 段内转移、间接寻址 段间转移、直接寻址 段间转移、间接寻址,JMP label;程序转向label标号指定的地址,第3章:无条件转移指令JMP(jump),JMP label;段内转移、直接寻址;IPIP位移量 JMP r16/m16;段内转移、间接寻址;IPr16/m16 JMP far ptr label;段间转移、直接寻址;IP偏移地址,CS段地址 JMP far ptr mem;段间转移,间接寻址;IPmem,CSmem2,演示,演示,演示,演示,演示,第

10、3章:2.条件转移指令,条件转移指令Jcc根据指定的条件确定程序是否发生转移。其通用格式为:Jcc label;条件满足,发生转移;IPIP8位位移量;否则,顺序执行label是一个标号、一个8位位移量,表示Jcc指令后的那条指令的偏移地址,到目标指令的偏移地址的地址位移label只支持短转移的直接寻址方式,第3章:Jcc指令的分类,Jcc指令不影响标志,但要利用标志(表2-4)根据利用的标志位不同,分成四种情况:判断单个标志位状态 比较无符号数高低 比较有符号数大小(4)测试 CX 的值为 0 则转移,Jcc指令实际虽然只有16条,但却有30个助记符 采用多个助记符,目的是为了方便记忆和使用

11、,第3章:(1).判断单个标志位状态,格式 测试条件JZ(JE)OPR ZF=1JNZ(JNE)OPR ZF=0JS OPR SF=1JNS OPR SF=0JO OPR OF=1JNO OPR OF=0JP OPR PF=1JNP OPR PF=0JC OPR CF=1JNC OPR CF=0,第3章:例题:,题目:将AX中存放的无符号数除以2,如果是奇数则加1后除以2问题:如何判断AX中的数据是奇数还是偶数?解答:判断AX最低位是“0”(偶数),还是“1”(奇数)。可以用位操作类指令1:用逻辑与指令将除最低位外的其他位变成0,保留最低位不变。判断这个数据是0,AX就是偶数;否则,为奇数2:

12、将最低位用移位指令移至进位标志,判断进位标志是0,AX就是偶数;否则,为奇数3:将最低位用移位指令移至最高位(符号位),判断符号标志是0,AX就是偶数;否则,为奇数,第3章:例题解答1 用JZ指令实现,test ax,01h;测试AX的最低位D0(不用AND指令,以免改变AX)jz even;标志ZF1,即D00:AX内是偶数,程序转移add ax,1;标志ZF0,即D01:AX内的奇数,加1even:shr ax,1;AXAX2,用右移一位的方法实现除以2。本例中用RCR指令比SHR指令更好。,第3章:例题解答2 用JNC指令实现,mov bx,axshr bx,1;将AX的最低位D0移进C

13、Fjnc even;标志CF0,即D00:AX内是偶数,程序转移add ax,1;标志CF1,即D01:AX内的奇数,加1even:shr ax,1;AXAX2,还可用SAR、ROR和RCR指令,第3章:例题解答3 用JNS指令实现,mov bx,axror bx,1;将AX的最低位D0移进最高位(符号位SF)jns even;标志SF0,即D00:AX内是偶数,程序转移add ax,1;标志SF1,即D01:AX内的奇数,加1even:shr ax,1;AXAX2,错误!循环指令不影响SF等标志,第3章:例:判断是否为字母Y,;寄存器AL中是字母Y(含大小写),则令AH0,否则令AH1cmp

14、 al,y;比较AL与小写字母yje next;相等,转移cmp al,Y;不相等,;继续比较AL与大写字母Yje next;相等,转移mov ah,-1;不相等,令AH1jmp done;无条件转移指令next:mov ah,0;相等的处理:令AH0done:,第3章:例:偶校验,;对DL寄存器中8位数据进行偶校验;校验位存入CF标志test dl,0ffh;使CF0,同时设置PF标志jpe done;DL中“1”的个数为偶数;正好CF0,转向donestc;DL中“1”的个数为奇数,设置CF1done:;完成,第3章:(2).比较无符号数高低,无符号数的大小用高(Above)、低(Belo

15、w)表示,需要利用CF确定高低、利用ZF标志确定相等(Equal)两数的高低分成4种关系,对应4条指令 格式 测试条件 JB(JNAE,JC)OPR CF=1 JNB(JAE,JNC)OPR CF=0 JBE(JNA)OPR CFZF=1 JNBE(JA)OPR CFZF=0*适用于地址或双精度数低位字的比较,第3章:(3).比较有符号数大小,判断有符号数的大(Greater)、小(Less),需要组合OF、SF标志、并利用ZF标志确定相等与否两数的大小分成4种关系,分别对应4条指令 格式 测试条件 JL(JNGE)OPR SFOF=1 JNL(JGE)OPR SFOF=0 JLE(JNG)O

16、PR(SFOF)ZF=1 JNLE(JG)OPR(SFOF)ZF=0*适用于带符号数的比较,第3章:(4).测试 CX 的值为 0 则转移,格式 测试条件 JCXZ OPR(CX)=0,例:如果 X50,转到TOO_HIGH;否则|X-Y|RESULT,如果溢出转到 OVERFLOW,,JGJOJNS,例:、是双精度数,分别存于 DX,AX 及 BX,CX 中,时转 L1,否则转 L2,CMP DX,BX JG L1 JL L2 CMP AX,CX JA L1L2:L1:,第3章:例:求较大值,cmp ax,bx;比较AX和BXjae next;若AXBX,转移xchg ax,bx;若AXBX

17、,交换next:mov wmax,ax,如果AX和BX存放的是有符号数,则条件转移指令应采用JGE指令,第3章:例:求较大值(另解),cmp ax,bx;比较AX和BXjae nextmov wmax,bx;若AXBX,wmaxBXjmp donenext:mov wmax,ax;若AXBX,wmaxAXdone:,第3章:例:求较大值(另解对比),cmp ax,bx;比较AX和BXjbe nextmov wmax,ax;若AXBX,wmaxAXjmp donenext:mov wmax,bx;若AXBX,wmaxBXdone:,第3章:3.循环指令,一段代码序列多次重复执行就是循环8088设

18、计有针对CX计数器的计数循环指令LOOP label;循环指令;首先CXCX1;然后判断;若CX0,转移label操作数只能使用段内直接寻址的8 位位移量还有LOOPZ/LOOPE和LOOPNZ/LOOPNE两条指令,为零或相等时循环指令:LOOPZ(LOOPE)OPR测试条件:ZF=1 且(CX)0不为零或不相等时循环指令:LOOPNZ(LOOPNE)OPR测试条件:ZF=0 且(CX)0,例:求首地址为 ARRAY 的 M 个字之和,结果存入 TOTAL,MOV CX,MMOV AX,0MOV SI,AXAGAIN:ADD AX,ARRAYSIADD SI,2LOOP AGAINMOV T

19、OTAL,AX,例:在多重循环的程序结构中,CX 计数器的保存和恢复,MOV CX,MAGAIN:PUSH CX MOV CX,NNEXT:LOOP NEXT POP CX LOOP AGAIN,MOV DI,MAGAIN:MOV CX,NNEXT:LOOP NEXT DEC DI JNZ AGAIN,第3章:例:数据块传送(字节),mov cx,400h;设置循环次数:1K1024400Hmov si,offset sbuf;设置循环初值:SI指向数据段源缓冲区开始mov di,offset dbuf;DI指向附加段目的缓冲区开始(附加段)again:mov al,si;循环体:实现数据传送

20、mov es:di,al;每次传送一个字节inc si;SI和DI指向下一个单元inc diloop again;循环条件判定:循环次数减1,不为0转移(循环),第3章:例:数据块传送(字),mov cx,200h;设置循环次数:1K2200Hmov si,offset sbuf;设置循环初值:SI指向数据段源缓冲区开始mov di,offset dbuf;DI指向附加段目的缓冲区开始(附加段)again:mov ax,si;循环体:实现数据传送mov es:di,ax;每次传送一个字add si,2;指向下一个(字)单元add di,2loop again;循环条件判定:循环次数减1,不为0

21、转移(循环),第3章:4.子程序指令,子程序是完成特定功能的一段程序当主程序(调用程序)需要执行这个功能时,采用CALL调用指令转移到该子程序的起始处执行当运行完子程序功能后,采用RET返回指令回到主程序继续执行,演示,转移指令有去无回 子程序调用需要返回,其中利用堆栈保存返回地址,子程序调用和返回指令:,code1 segmentmain proc far call far ptr subp retmain endpcode1 endscode2 segmentsubp proc far retsubp endpcode2 ends,段间调用和返回,code segmentmain proc

22、 far call subp retmain endpsubp proc near retsubp endpcode ends,段内调用和返回,第3章:(1).子程序调用指令CALL,CALL指令分成4种类型(类似JMP)CALL label;段内调用、直接寻址CALL r16/m16;段内调用、间接寻址CALL far ptr label;段间调用、直接寻址CALL far ptr mem;段间调用、间接寻址CALL指令需要保存返回地址:段内调用入栈偏移地址IPSPSP2,SS:SPIP段间调用入栈偏移地址IP和段地址CSSPSP2,SS:SPCSSPSP2,SS:SPIP,第3章:(2).

23、子程序返回指令RET,根据段内和段间、有无参数,分成4种类型RET;无参数段内返回RET i16;有参数段内返回RET;无参数段间返回RET i16;有参数段间返回需要弹出CALL指令压入堆栈的返回地址段内返回出栈偏移地址IPIPSS:SP,SPSP2段间返回出栈偏移地址IP和段地址CSIPSS:SP,SPSP2CSSS:SP,SPSP2,第3章:例:十六进制转换为ASCII码的子程序,;子程序:将DL低4位的一位16进制数转换成ASCII码htoascprocand dl,0fh;只取DL的低4位or dl,30h;DL高4位变成3cmp dl,39h;是09,还是0Ah0Fh?jbe ht

24、oend;是09,转移add dl,7;是0Ah0Fh,加上7htoend:ret;子程序返回htoascendp,转换原理,;主程序:调用子程序mov dl,28hcall htoasc,例:带立即数返回,(SP),堆栈段,code segmentmain proc far push ax push bx push cx call sub retmain endpsub proc near ret 6sub endpcode ends,(SP),第3章:5.中断指令,中断(Interrupt)是又一种改变程序执行顺序的方法8088CPU支持256个中断,每个中断用一个编号(中断向量号)区别中

25、断指令有3条:INT TYPE IRET INTO本节主要掌握类似子程序调用指令的中断调用指令INT TYPE,进而掌握系统功能调用,中断指令:,类型0的(IP),类型0的(CS),类型1的(IP),类型1的(CS),类型N的(IP),类型N的(CS),类型255的(IP),类型255的(CS),00000,00004,4*N,003FC,中断向量表,(1).中断指令:INT TYPE 或 INT执行操作:(SP)(SP)-2(SP)+1,(SP)(FLAGS)(SP)(SP)-2(SP)+1,(SP)(CS)(SP)(SP)-2(SP)+1,(SP)(IP)(IP)(TYPE*4)(CS)(

26、TYPE*4+2)(2).溢出中断指令:INTO执行操作:若OF=1,(IP)(10H)(CS)(12H),(3).从中断返回指令:IRET执行操作:(IP)(SP)+1,(SP)(SP)(SP)+2(CS)(SP)+1,(SP)(SP)(SP)+2(FLAGS)(SP)+1,(SP)(SP)(SP)+2,注意:*TYPE(0255)是中断类型号,隐含的类型号为3*INT 指令还把 IF 和 TF 置0,但不影响其它标志位*IRET 指令执行完,标志位由堆栈中取出的值确定,第3章:3.3.6 处理机控制与杂项操作指令,1.标志处理指令 CLC、STC、CMC、CLD、STD、CLI、STI 2

27、.其他处理机控制与杂项操作指令 NOP、HLT、WAIT、ESC、LOCK,1.标志处理指令:CLC CF 0 CMC CF CF STC CF 1 CLD DF 0 STD DF 1 CLI IF 0 STI IF 1注意:*只影响本指令指定的标志,2.其他处理机控制与杂项操作指令:NOP 无操作(机器码占一个字节)HLT 暂停机(等待一次外中断,之后继续执行程序)WAIT 等待(等待外中断,之后仍继续等待)ESC 换码 LOCK 封锁(维持总线的锁存信号,直到其后的指令 执行完)注意:*不影响条件标志,80 x86 的指令系统:(1)指令集的32位扩展*所有 16 位指令都可扩展到 32

28、位 MOV EAX,1*可使用 32 位的存储器寻址方式 MOV EAX,EDX(2)使用方式的扩展*IMUL:单操作数指令 双操作数指令/三操作数指令 IMUL REG,SRC*PUSH:允许使用立即数寻址方式 PUSH 36H*移位指令:移位次数可用 8 位立即数(131),(3)新增指令 MOVSX 带符号扩展传送 MOVZX 带零扩展传送 PUSHA/PUSHAD 所有寄存器进栈 POPA/POPAD 所有寄存器出栈 LFS/LGS/LSS 指针送寄存器和 FS/GS/SS PUSHFD 标志进栈 POPFD 标志出栈 CWDE 字转换为双字 EAX CDQ 双字转换为 4 字 EDX

29、 EAX BSWAP 32 位寄存器的字节次序变反 XADD 交换加 CMPXCHG 比较并交换(486)CMPXCHG8B 比较并交换 8 字节(Pentium)A,BT 位测试 BTS 位测试并置1BTR 位测试并置0BTC 位测试并变反BSF 正向位扫描 BSR 反向位扫描SHLD 双精度左移 SHRD 双精度右移 INSB/INSW/INSD 串输入OUTSB/OUTSW/OUTSD 串输出,条件设置指令(1)根据单个条件标志的值把目的字节置 1 SETZ/SETE SETNZ/SETNE SETS/SETNS SETO/SETNO SETP/SETPE SETNP/SETPO SET

30、C/SETB/SETNAE SETNC/SETNB/SETAE(2)比较两个无符号数,根据比较结果把目的字节置 1 SETB/SETNAE/SETC SETNB/SETAE/SETNC SETBE/SETNA SETNBE/SETA(3)比较两个带符号数,根据比较结果把目的字节置 1 SETL/SETNGE SETNL/SETGE SETLE/SETNG SETNLE/SETG,其他处理机控制指令 BOUND 界限指令 ENTER 建立堆栈帧 LEAVE 释放堆栈帧 特权指令,第3章:3.4 系统功能调用方法,汇编程序提供给汇编语言程序员的功能非常有限程序员需要利用ROM-BIOS和操作系统提

31、供的资源系统功能调用是程序设计的一个重要方面,8086提供了两种类型的例行程序供用户调用:基本输入输出系统(BIOS)磁盘操作系统(DOS)有些情况下,既能选择DOS中断也能选择B10S中断来执行同 样的功能。在汇编语言程序设计时,采用它就可以了。例:DOS中断21H的功能5和B10S中断17H的功能0少数情况下必须使用B10S功能,如DOS尚未启动或不允许采用DOS调用的情况。例:BIOS中断17H功能2为读打印机状态,它就没有等效的DOS功能。,第3章:系统功能调用步骤,通常按照如下4个步骤进行:在AH寄存器中设置系统功能调用号 在指定寄存器中设置入口参数 用中断调用指令(INT i8)执

32、行功能调用 根据出口参数分析功能调用执行情况,第3章:DOS输入输出功能调用,DOS利用21H号中断提供给用户近百个系统功能,主要包括设备管理、目录管理和文件管理三个方面的功能重点掌握:输入一个字符,01H号功能调用输出一个字符,02H号功能调用输出一个字符串,09H号功能调用,16/32P53 表25DOS常用输入输出功能调用(INT 21H),例1 当原始数据为任意数据时,一般用键盘输入方法,调用DOS 21H中断:MOV AH,01H INT 21H当CPU执行到这两条语句后就等待键盘输入字符,通过键盘送入的字符是以ASCII码的形式送入AL寄存器中,如键入字符3,则送入AL=33H。,

33、第3章:02H号DOS功能调用,输出一个字符 功能调用号:AH02H 入口参数:DL欲显示字符的ASCII码 功能调用:INT 21H 出口参数:无,;显示一个问号“?”mov ah,02h;设置功能调用号mov dl,?;设置入口参数int 21h;功能调用,第3章:例2:回车换行的子程序,crlfprocpush ax;保护寄存器push dxmov ah,2mov dl,0dh;回车功能的ASCII码是0DHint 21hmov ah,2mov dl,0ah;换行功能的ASCII码是0AHint 21hpop dx;恢复寄存器pop axretcrlfendp,第3章:09H号DOS功能

34、调用,输出一个字符串 功能调用号:AH09H 入口参数:DS:DX欲显示字符串在内存中的首地址(逻辑地址形式:DS段地址,DX偏移地址)内存中的字符串以ASCII码形式保存,最后必须添加一个“$”结尾(并不显示)功能调用:INT 21H 出口参数:无,第3章:例3:提示按任意键继续,;在数据段定义要显示的字符串msgkeydb Press any key to contiune,$;在代码段编写程序mov ah,9mov dx,offset msgkey;设置入口参数:;DS数据段地址(假设已经设置好);DX字符串的偏移地址int 21h,例4:DOS 21H功能的0BH能检验一个键是否被按动

35、:1)是 则AL被放入0FFH 2)否 则AL=00H无论哪种情况都将继续执行程序中下一条指令:Sounder:。;sound the tone。MOV AH,0BH;get kbd status INT 21H;call DOS INC AL;if AL not offh,then JNZ sounder;no key pressed RET;key pressed return例如希望程序保持运行状态,同时又检验键盘,看用户是否按下任意一个键来终止或退出循环。上例中:在未按键之前,程序总是不断循环执行,只要按任一键,则退出循环并返回。又例如 屏保。,例5:返回操作系统 MOV AH,4CH

36、 INT 21H执行结果是结束当前正在执行的程序,并返回操作系统,屏幕显示操作系统提示符(C),第3章:4.ROM-BIOS输入输出功能调用,ROM-BIOS也以中断服务程序的形式,向程序员提供系统的基本输入输出程序ROM-BIOS功能更加基本,且与操作系统无关当DOS没有启动或不允许使用DOS功能调用时,可以使用ROM-BIOS功能调用熟悉输出一个字符:功能调用号:AH0EH 入口参数:AL欲显示字符的ASCII码通常BX0 功能调用:INT 10H 出口参数:无,第3章:总结,本章展开了8088CPU16位指令系统的常用指令希望大家就如下几个方面进行一下总结:操作数寻址方式和目的地址寻址方

37、式指令支持的操作数形式常用指令的助记符和功能指令对标志的影响通过复习整理,形成指令系统的整体概念,进而掌握常用指令,指令执行,第3章:教学要求,了解微处理器基本结构、8088/8086的功能结构掌握8088/8086的寄存器结构、存储器结构和寻址方式熟悉汇编语言的语句格式,掌握8088/8086基本指令:数据传送:MOVXCHGXLAT、PUSHPOP、LEA加减运算:ADDSUB、ADCSBB、CMP、INCDEC位操作:ANDORXORNOTTEST、SHLSHRSAR、ROLRORRCLRCR控制转移:JMPJccLOOP、CALLRET、INT n掌握DOS字符字符串输出功能调用方法;

38、了解ROM-BIOS的字符输出功能调用方法,第3章:作业,Page110:,:3.20(1)、(3)3.23(1)、(3)、(5)3.31(1)、(3)、(5)3.34(2)、(3)、(4),目的地址相对寻址方式,目的地址寄存器段内间接寻址方式,目的地址存储器段内间接寻址方式,目的地址段间直接寻址方式,目的地址存储器段间间接寻址方式,条件转移指令的含义,JZ/JEJump on Zero/EqualJNZ/JNEJump on Not Zero/EqualJSJump on SignJNSJump on Not SignJP/JPEJump on Parity/Parity EvenJNP/J

39、POJump on Not Parity/Parity OddJOJump on OverflowJNOJump on Not OverflowJC/JB/JNAEJump on Carry/Below/Not Above or EqualJNC/JNB/JAEJump on Not Carry/Not Below/Above or EqualJBE/JNAJump on Below or Equal/Not AboveJNBE/JAJump on Not Below or Equal/AboveJL/JNGEJump on Less/Not Greater or EqualJNL/JGEJu

40、mp on Not Less/Greater or EqualJLE/JNGJump on Less or Equal/Not GreaterJNLE/JGJump on Not Less or Equal/Greater,奇偶校验,奇偶校验是计算机中最常使用的校验方法,因为不论用硬件还是用软件都很容易实现偶校验:如果数据中“1”的个数不是偶数,则校验位是1,使得包括校验位在内的数据中“1”的个数为偶数;否则,校验位为0奇校验:如果数据中“1”的个数不是奇数,则校验位是1,使得包括校验位在内的数据中“1”的个数为奇数;否则,校验位为0,主程序与子程序,CALL label,主程序,RET,子程序,回到CALL指令后的指令处返回地址,十六进制数转换为ASCII码的原理,主程序与中断服务程序,主程序,IRET,中断服务程序,断点,中断请求,中断请求可以来自处理器外部的中断源,也可以由处理器执行指令引起:例如执行INT i8指令。,8088的指令执行,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号