ZKX's LAB

Z←((W-X)5*Y)*2请解释答案中的指令 ax累加器bx cx

2020-09-30知识6

汇编语言中ax,bx,cx,dx……英文全称是什么,中文代表什么 我不粘贴了貌似很多人对粘贴很反感你自己点击去看吧http://baike.baidu.com/view/6159.htm我粘了。楼上粘贴那么多谁管了~AH&AL=AX(accumulator):累加寄存器BH&BL=BX(base):基址寄存器CH&CL=CX(count):计数寄存器DH&DL=DX(data):数据寄存器SP(StackPointer):堆栈指针寄存器BP(BasePointer):基址指针寄存器SI(SourceIndex):源变址寄存器DI(DestinationIndex):目的变址寄存器IP(InstructionPointer):指令指针寄存器CS(CodeSegment)代码段寄存器DS(DataSegment):数据段寄存器SS(StackSegment):堆栈段寄存器ES(ExtraSegment):附加段寄存器OFoverflowflag溢出标志操作数超出机器能表示的范围表示溢出,溢出时为1.SFsignFlag符号标志记录运算结果的符号,结果负时为1.ZFzeroflag零标志运算结果等于0时为1,否则为0.CFcarryflag进位标志最高有效位产生进位时为1,否则为0.AFauxiliarycarryflag辅助进位标志运算时,第3位向第4位产生进位时为1,否则为0.PFparityflag奇偶标志运算结果操作数位为1的个数为偶数个时为1,否则为0.DFdirecionflag方向标志用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.IFinterruptflag中断。

Z←((W-X)/5*Y)*2请解释答案中的指令 MOV AX,W;把W的值传送给寄存器AXSUB \\x09 AX,X;把寄存器AX的值减去X,结果保存在AX中CWD;字扩展为双字,即把AX的符号位扩展到DX,这个双字由DX:AX共同表示MOV\\x09 BX,5;把立即数5传送给寄存器BXIDIV\\x09 BX;把DX:AX表示的双字除以5,IDIV把数据当有符号数运算.这里回答楼主的问题,其实这里可以用的寄存器没有限制.但有规定.如果被除数为双字,则这里为字寄存器.如可用ax,bx,cx,dx.如果被除数为字,则这里为字节寄存器.如可用al,ah,bl,bh,cl,ch.这个随你喜欢IMUL\\x09 Y;把AX乘Y的结果保存在AX,IMUL把数据当有符号数运算.SHL\\x09 AX,1;把操作数(AX)逻辑左移一位,把数据转为2进制后全部数据位向左移动一位,因移动;造成的空缺补0.运算结果等于把AX 乘以2RCL\\x09 DX,1;带进位循环左移一次,移动的时候一位位移,带进位即进位标志CF有参与.这里移动一位,那么转成二进制的数据的第一位就移动到了CF标志中.因移动造成的空缺补0.

汇编语言的AX,BX,CX,DX,分别表示什么 AX BX CX DX是CPU内部的通用寄存器中的数据寄存器,数据寄存器一般用于存放参与运算的数据或运算的结果,每一个数据寄存器都是16位的(即16个二进制位),但又可以将高,低8位分别作为两个独立的8位寄存器使用.它们的高8位记作AH,BH,CH,DH,低8位记作AL,BL,CL,DL.这种灵活的使用方法给编程带来极大的方便,既可以处理16位数据,也能处理8位数据.数据寄存器除了作为通用寄存器使用外,它们还有各自的习惯用法AX 称为累加器,常用于存放算术逻辑运算中的操作数,另外所有的I/O指令都使用累加器与外设接口传送信息BX 称为基址寄存器,常用来存放访问内在时的基地址,CX 称为计数寄存器,在循环和串操作指令中用作计数器DX 称为数据寄存器,在寄存器间接寻址中的I/O指令中存放I/O端口的地址另外,在做双字长乘除法运算时,DX 与AX合起来存放一个双字长数(32位),其中DX存放高16位,AX存放低16位.这是学习汇编的基础的东西,如果你是刚学的话,建议你买一本汇编的书,好好看一下,就知道了,也不是什么很抽象的东西祝你学习成功。

汇编语言的 ax bx cx dx都有什么区别?

微机原理与接口技术中题目:写出寄存器AX,BX,CX、DX、SI的隐含用法? 除了通用寄存器功能外AX做累加器,与I/O通信时必须用AXBX用做基址,访问内存的基地址,默认段为DS段CX用做REP,LOOP等的COUNTER.DX数据寄存器,寄存器间接寻址的I/O指令中存放I/O端口的地址;在长乘法时,DX存放运算结果的.

#汇编指令#标志寄存器#被除数#通用寄存器#汇编语言

随机阅读

qrcode
访问手机版