32位微机原理考试重点文库.docx
26页1, 原码:0表示“+”,I表示“一”,数值位与真值数值位相同反码:正数的反码与原码表示相同负数反码符号位为1,数值位为原码数值各位取反 补码:正数的补码表示与原码相同负数补码的符号位为1,数值位等于反码加1[XJ补二[X」 反+1负数直接求补:从最低位起,到出现第一个1以前原码中的数字不变,以后逐位取反, 但符号位不变2, 各种编码方法的表数范围:n+1位二进制编码x表示的整数范围:原码、反码:・2n 奇偶标志PF (Parity Flag):运算结果的低8位小所含1的个数为偶数个,则该位置1 辅助进位标,忐AF (Auxiliary Carry Flag):加减法运算时,如果第3位与第4位Z间有 进位或借位产生,则该位置1一般川于BCD运算中是否进行|•进制调整的判断依据 零标志ZF (Zero Flag):运算结果为零,则该位置1符号标志SF (Sign Flag):与运算结果符号位(即最高位)相同溢出标志OF (Overflow Flag):当运算结果超出结果寄存器的表达范围时,该位置1 跟踪标志TF (Trap Flag):控制CPU按调试的单步方式执行指令中断允许标志IF (Interrupt Enable Flag):控制CPU对•外部可屏蔽中断(INTR)的响应 当IF=1时,允许CPU响应外部可屏蔽中断;当IF=0时,禁止响应INTR,但不禁止 CPU对非屏蔽中断(NMI)的响应方向标志DF (Direction Flag):用于控制串操作指令中的地址变化方向5, 立即寻址方式:8086 CFU指令系统中,有一部分指令所用的8位或16位操作数就在指 令中提供,这种方式叫立即寻址方式。 ■例如:MOV AL, 80H;将十六进制数80H送入ALMOV AX, 1090H;将 1090H 送 AX, AH 中为 10H, AL 中为 90H寄存器寻址方式:如果操作数在CPU的内部寄存器中,那么寄存器名可在指令中指出 这种寻址方式就叫寄存器寻址方式■例如:INC CX ;将CX的内容加1MOV AX, BX ;将BX内容送AX, BX内容不变ROL AH, 1 ;将AH中的内容不带进位循环左移一位采用寄存器寻址方式的指令在执行时,操作就在CPU内部进行,不需要使用总线周期, 执行速度快直接寻址方式:使用直接寻址方式,数据在存储器中,存储单元有效地址EA由指令直 接指出,所以直接寻址是对存储器进行访问时最简单的方式例如:MOV AX, | 2000H ]寄存器间接寻址方式:采用寄存器间接寻址方式时,操作数一定在存储器中,存储单元 的有效地址由寄存器指出这些寄存器可以是BX, BP, SI和DI,即有效地址等于其 中某一个寄存器的值寄存器相对寻址方式(直接变址寻址):操作数有效地址EA为基址或变址寄存器内 容与指令中指定位移量之和,操作数在存储器中可用寄存器及其对应的默认段情况与 寄存器间接寻址方式相同。 基址变址寻址方式:用这种寻址方式时,操作数的有效地址等于基址寄存器的内容加 上一个变址寄存器的内容,16位寻址时,基址寄存器可用BX和BP,变址寄存器可用SI 和DI; 32位寻址时,基址寄存器可用任何32位通用寄存器,变址寄存器可用除ESP 以外的32位通用寄存器用MOV指令实现两内存字节单元内容的交换1、 MOV BL, [2035HJ;MOV CL, |2045H|;MOV |2045H|, BL;MOV |2035H], CL;2、 MOV AL, [2035H];XCHGAL, |2045H];MOV [2035H],AL;测试某状态寄存器(端口号27H)的第2位是否为1IN AL, 27HTEST AL, 00000100BJNZ ERROR ;若第2位为1,转ERROR处理设数据段: ADDR1 DF 1234567890ABH贝 lj LES EBX,ADDR1指令执行后 (ES)=1234H, (EBX)=567890ABH【例题】实现两个无符号双字加法运算设目的操作数存放在DX和AX寄存器中,其 中DX存放高位字源操作数存放在BX、CX中,其中BX存放高位字如指令执行前(DX) =0002H, (AX) =0F365H, (BX) =0005H, (CX) =0E024H指令序列为 ADD AX, CXADC DX, BX则第一条指令执行后,(AX)=0D389H, SF=1, ZF=O, CF=1, OF=0第二条指令执行后,(DX)=0008H, SF=O, ZF=O, CF=O, OF=0【例题】比较AL的内容数值大小。 CMP AL, 100; (AL) -100JB BELOW ; (AL) <100,转到 BELOW 处执行SUB AL, 100; (AL) >=100, (AL) -100—ALINC AH ; (AH) +1—AHBELOW: ・・・【例题】设x、y、z均为双字长数,它们分别存放在地址为X, X+2; Y, Y+2;乙Z+2 的存储单元中,存放时高位字在高地址中,低位字在低地址中,编写指令序列实现w J x+y+24 - z,并用w和w+2单元存放运算结果MOVAX,XMOVDX,X+2ADDAX,YADCDX,Y+2ADDAX,24ADCDX,0SUBAX,ZSBBDX,Z+2MOVw,AXMOVW+2, DX【例题】无符号数0A3H与11H相乘MOVAL,0A3H ; (AL) =0A3HMOVBL,11H ; (BL) =11HMULBL;(AX) =0AD3H【例题】若(AL)= 0B4H, (BL) =11H,求执行指令IMUL BL和 MUL BL后的乘积值AL) =0B4H为无符号数的180D,带符号数的・76D(BL) =11H为无符号数的17D,带符号数的17D则执行 IMULBL 的结果为(AX) =0FAF4H =-1292D, CF=OF=1 执行 MULBL 的结果为(AX) =0BF4H = 3060D, CF=OF=1【例题】写出实现无符号数0400H/0B4H运算的程序段。 MOV AX, 0400H ; (AX) =0400HMOV BL, 0B4H ; (BL) =0B4HDIV BL ;商(AL) =05H,余数(AH) =7CH【例题】写出实现有符号数0400H /0B4H运算的程序段MOV AX, 0400H ; (AX) =0400HMOV BL, 0B4H ; (BL) =0B4HIDIV BL ; (AL) =0F3H, (AH) =24H算术运算综合举例【例3・36】计算:(C-120 +A*B)/C,保存商和余数到X和Y中,其中A、B、C、X和Y都是 有符号的字变量编制程序如下:MOVAX,CSUB AX, 120CWDMOV CX, DXMOV BX, AX ; (CX, BX)—(DX, AX)MOV AX, AIMUL B ; (DX, AX)—A*BADD AX, BX ;计算32位二进制之和ADC DX, CXIDIVC ; AX是商,DX是余数MOV X, AX ;保存商到指定单元MOV Y, DX课堂练习计算:(V- (X*Y+Z-540)) /X,其中X, Y,乙V均为16位带符号数,已分别装入X, Y,乙V单元中,上式计算结果的商存入AX,余数存入DX寄存器。 编制程序如下: mov ax, ximul ymov ex, axmov bx, dxmov ax, zcwdadd ex, axadc bx, dxsub ex, 540sbb bx, 0mov ax, vcwdsub ax, exsbb dx, bxidiv x【例题】压缩BCD码的加法运算MOV AL, 68HMOV BL, 28HADD AL, BLDAA;(AL) =68H,表示压缩BCD码68:(BL) =28H,表示压缩BCD码28;二进制加法:(AL) =68H+28H=90H;十进制调整:(AL) =96H;实现压缩BCD码加法:68+28=96【例题】压缩BCD码的减法运算MOVAL,68H;(AL) =68H,表示压缩BCD码68MOVBL,28H;(BL) =28H,表示压缩BCD码28SUBAL,BL■二进制减法:(AL) =68H-28H=40HDAS;十进制调整:(AL) =40H■实现压缩BCD码减法:68-28=40【例题】AND AL, 77H ;将AL中第3位和第7位清零AND AX, BX ;两个寄存器逻辑与AND AL, 1111 OOOOB ;屏蔽AL寄存器低4位AND MEM-BYTE, AL;存储单元和寄存器逻辑与;将AL寄存器中第3位和第7位置1;将BX中第15位和第14位置1例题】OR AL, 88HOR BX, 0C000H【例题】逻辑非运算。 MOVNOTNOTAX, 878AH ; (AX) =878AHAX ; (AX) =7875HWORD PTR L1OOOH];将 1000H 和 1001H 两单;元中的内容求反码,再送回这两单元中【例题】测试AX中的第12位是否为0,不为0则转LTESTAX, 1000HJNEL/JNZ L例3・54:(BX)=84F1H,把(BX)中的16位数每4位压入堆栈MOVCH, 2;循环次数MOVCL, 4;移位次数NEXT:ROLBX, CLMOV AH, BLAND AH, OFHROL BX, CLMOV AL, BLAND AL, OFHPUSH AXDEC CHJNZ NEXT例题:设BLOCK数据块中存储有正数和负数,试编写程序将正负数分开,分别存放在 Dplus和Dminus开始的存储区域mov si,offset blockmov di^offset dplusmov bx,offset dminusmov ax5dsmov es^axmov cx9count cld so on: lodsbtest al,80h jnz minus stosb jmp again minus: xchg bx^di。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


