第二章 实模式程序设计(汇编语言)2.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:113 大小:2.6MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第二章 实模式程序设计(汇编语言)2.ppt

第二章实模式程序设计(汇编语言)2.ppt

预览

免费试读已结束,剩余 103 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统4.2.1数据传送类指令4.2.1数据传送类指令2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统标志寄存器传送指令有两条标志寄存器传送指令,指令只涉及标志寄存器的低8位,而对高8位没有影响。LAHF(LoadAHWithFlags)将标志寄存器的低8位送AHSAHF(StoreAHIntoFlags);将AH的内容送标志寄存器的低8位,它的执行刷新了SF,ZF,AF,PF,CF标志位。2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统取负指令格式:NEG目的操作数功能:目的操作数←0-目的操作数目的操作数:8/16位的寄存器/存储器例:NEGZ;Z←-Z,运算位数由Z的类型确定由于对一个操作数取补码相当于0减去此操作数,所以该指令的操作等效于:目的操作数←[目的操作数]求补此指令影响标志位:AF、CF、OF、PF、SF、ZF。通常使CF=1;只有当操作数为0时,CF=0。2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统逻辑与移位指令(位操作类指令):分为三类。1、逻辑运算指令主要包括:AND,OR,XOR、NOT和TEST指令。2、算术逻辑移位指令:SHL/SAL逻辑算术左移;SHR、SAR逻辑算术右移。3、循环移位:ROL、ROR、RCL、RCR2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统2.2指令系统指令举例:例2-1写出将AX和CF清“0”,并将AX送到变量名为ZERO的存储单元的程序段。程序段1:SUBAX,AXMOVZERO,AX程序段2:XORAX,AXMOVZERO,AX例2-2:编程实现AX的前四位、BX的后四位和CX的中八位拼成一个新字并送DX。ANDAH,0F0H;取AX的高四位ANDBL,0FH;取BX的后四位ANDCX,0FF0H;取CX的中八位ORCH,AH;拼装高八位ORCL,BL;拼装低八位MOVDX,CX;DX←结果例2-3编制将FLAG的TF标志位置“1”、其它位不变的程序段。程序段1:PUSHFMOVBP,SPORBYTEPTR1[BP],01HPOPF程序段2:PUSHFPOPAXORAH,01HPUSHAXPOPF例2-4寄存器BX中存放着一个无符号整数,试编程求该无符号数除以8的商,要求将商的整数部分送SZZ为偏移首地址的单元,商的小数部分送SXX为偏移地址的单元。MOVAL,0;BXSHRBX,1RCRAL,1;BX除以2,小数部分送ALSHRBX,1RCRAL,1;BX再除以2,小数部分送ALSHRBX,1RCRAL,1;BX再除以2,小数部分送ALMOVSZZ,BXMOVSXX,AL;AL例2-5编程将寄存器ES的高、低八位互换,要求不得破坏任何其他寄存器。PUSHCXMOVTEM,ES;TEM为字变量MOVCL,8RORTEM,CLMOVES,TEMPOPCX