资源描述:
《汇编语言期末总结(地大).ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、复习与总结中国地质大学(武汉)计算机学院汇编语言寄存器寄存器说明AX作为累加器用,所以它是算术运算的主要寄存器。在乘除指令中指定用来存放操作数。另外,所有的I/O指令都使用AX或AL与外部设备传送信息。BX在计算存储器地址时,可作为基址寄存器使用。CX常用来保存计数值,如在移位指令、循环指令和串处理指令中用作隐含的计数器DX在作双字长运算时,可把DX和AX组合在一起存放一个双字长数,DX用来存放高16位数据。此外,对某些I/O操作,DX可用来存放I/O的端口地址2寄存器寄存器名称说明CS代码段寄存器存放当前执行的程序的段地址DS数据段寄存器存放当前执行的程序所用操作
2、数的段地址SS堆栈段寄存器存放当前执行的程序所用堆栈的段地址ES附加段寄存器存放当前执行程序中一个辅助数据段的段地址3寄存器【SP、BP、SI、DI】四个16位寄存器可以象数据寄存器一样在运算过程中存放操作数,但它们只能以字(16位)为单位使用。此外,它们更经常的用途是在存储器寻址时,提供偏移地址。因此,它们可称为指针或变址寄存器。寄存器名称说明SP堆栈指针寄存器用来指出栈顶的偏移地址BP基址指针寄存器在寻址时作为基地址寄存器使用,但它必须与堆栈段寄存器SS联用来确定堆栈段中的存储单元地址SI源变址寄存器在串处理指令中,SI作为隐含的源变址寄存器与DS联用,以确定数
3、据段中的存储单元地址,并有自动增量和自动减量的变址功能DI目的变址寄存器在串处理指令中,DI和附加段寄存器ES联用,以达到在附加段中寻址的目的,然后DI自动增量或减量4寄存器寄存器名称说明IP指令指针寄存器它用来存放将要执行的下一条指令地址的偏移量,它与段寄存器【CS】联合形成代码段中指令的物理地址。在计算机中,控制程序的执行流程就是通过控制IP的值来实现的FLAGS标志寄存器这是一个存放条件码标志、控制标志的16位寄存器5标志寄存器标志位名称说明Debug1Debug0ZF零标志位/ZeroFlag指令执行后,结果是否为0?1:0sub,mul,add,divin
4、c,or,andZRNZPF奇偶标志位/ParityFlag指令执行后,结果的bit位中,1的个数是否为偶数?1:0PEPOSF符号标志位/SignFlag指令执行后,结果是否为负?1:0NGPLCF进位标志位/CarryFlag无符号运算时,记录运算结果的最高有效位向更高位的进位值,或从更高位的借位值CYNCOF溢出标志位/OverflowFlag有符号运算时,运算结果是否发生溢出?1:0OVNVDF方向标志位/DirectionFlag0-串处理指令时,si,di递增1-串处理指令时,si,di递减此标志位要与movsb,movsw配合使用,指明每次循环后si,
5、di的增减AF辅助进位标志/AuxiliaryCarryFlag运算时D3位(低半字节)有进位或借位时,AF=1;否则AF=0。如:49H+6DH=B6H,D3有进位:AF=1TF跟踪标志/TraceFlag用于控制处理器进入单步跟踪方式:0-禁止进入单步中断跟踪,处理器正常工作1-允许进入单步中断跟踪,处理器单步执行,跟踪指令执行IF中断标志/InterruptFlag用于控制外部可屏蔽中断是否可以被处理器响应:设置IF=1,则允许可屏蔽中断;设置IF=0,则禁止可屏蔽中断。6DEBUG-U:查看汇编指令【-U1000:0】-R:查看、修改寄存器的值【-RAX】修
6、改寄存器AX的值-T:执行命令-D:查看内存【-D段地址:偏移地址】如:【-D1000:0】【-D1000:09】-E:改写内存【-E段地址:偏移地址数据…】如:【-E1000:012345】【-E1000:0‘a’‘b’‘c’】【-E1000:0“welcommasm”】-A:写汇编指令到内存【-A1000:0】movax,111……….7对内存单元的操作如果未指定寄存器,对内存单元的操作采用以下形式:【1】wordptr指定访问的内存单元为字单元,如:movwordptrds:[0]1incwordptr[bx]incwordptrds:[0]addwordpt
7、r[bx],2【2】byteptr指定访问的内存单元为字节单元,如:movbyteptrds:[0]1incbyteptr[bx]incbyteptrds:[0]addbyteptr[bx],28寻址方式9定义数据dbdd1dd‘a’db'asdfghjk'定义字节型数据,并初始化,占1个字节dwdw1dw0123h,0234h定义字型数据,并初始化,占2个字节dddd1dd0123h,0234h定义双字型数据,并初始化,占4个字节dupdb3dup(0)【db0,0,0】定义3个字节,都初始化为0db3dup(1,2,3)【db1,2,3,1,2,3,1,2,