以前的汇编语言期中试题及答案.doc

以前的汇编语言期中试题及答案.doc

ID:59229038

大小:57.00 KB

页数:9页

时间:2020-09-09

以前的汇编语言期中试题及答案.doc_第1页
以前的汇编语言期中试题及答案.doc_第2页
以前的汇编语言期中试题及答案.doc_第3页
以前的汇编语言期中试题及答案.doc_第4页
以前的汇编语言期中试题及答案.doc_第5页
资源描述:

《以前的汇编语言期中试题及答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、期中试题答案1.请写出8086CPU内部的16位寄存器的名称和各自的功能?(本题10分)程序可见的寄存器分为通用寄存器、专用寄存器、段寄存器3类。通用寄存器包括数据寄存器(AX、BX、CX、DX)、变址寄存器(SI、DI)、指针寄存器(SP、BP),专用寄存器包括指令指针寄存器(IP)和标志寄存器(FLAGS),段寄存器包括代码段寄存器(CS)、数据段寄存器(DS)、堆栈段寄存器(SS)、附加段寄存器(ES)。1.通用寄存器(1)数据寄存器AX(Accumulator)寄存器称为累加器。用途:它是算数运算的主要寄存器,在乘、除(MUL、IMUL、DIV、IDIV)指令中

2、用来隐含地提供被乘数或被除数和存储结果;在扩展指令(CBW、CWD)中隐含地提供被扩展的操作数;在DOD和BIOS功能调用中,用AH存储指定调用功能号,AL存储指定调用子功能号;另外在所有的I/O指令(IN、OUT)中都使用这一寄存器和外部设备传送信息等。所以累加器(AX)使用频度最高,主要用于算术、逻辑运算以及与外设传送信息等。BX(BaseRegister)寄存器称为基址寄存器。用途:它可以作为普通的通用寄存器来使用,除此之外它常用来存储某一内存单元的偏移地址或偏移地址的一部分,偏移地址又叫有效地址或基地址,这也正是该寄存器名字的由来。它是4个16位数据寄存器中唯一

3、一个能够用来存储存储器偏移地址的寄存器。CX(CountRegister)寄存器称为计数器。用途:一般在循环(LOOP)或串重复操作(REP、REPE、REPNE)等指令中用它作为的隐含计数器,控制指令重复循环的次数;在位操作(SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR)中,当移多位时,要用CL寄存器来存放移位的位数。DX(DataRegister)寄存器称为数据寄存器。用途:在16位机器中进行32位的算术运算时常用把DX和AX组合在一起存放双字数据,其中AX用来存放双字数据中的低字,而DX用来存放双字数据的高字,该双字可以表示成DX:AX;在进行乘

4、、除运算时,它可作为默认的操作数参与运算和存储运算结果,在I/O指令中当外设端口地址大于255时,必须将外设端口地址存储到DX寄存器中,然后指令采用间接的寻址方式执行指令。(2)变址寄存器SI寄存器和DI寄存器称为变址寄存器(IndexRegister),它们是16位的寄存器,不能分成8位寄存器。变址寄存器除了可以当做普通的通用寄存器外,主要用途是用于存储某个存储单元的偏移地址或偏移地址的一部分。SI(SourceIndex)寄存器称为源变址寄存器,DI(DestinationIndex)寄存器称为目的变址寄存器。在字符串处理指令(MOVS、STOS、LODS、CMPS

5、、SCAS)中,它们的主要用途是SI寄存器用来存储源字符串中字符所存储内存单元的偏移地址,DI寄存器用来存储目的字符串中字符所存储内存单元的偏移地址,并且在执行过程中SI和DI都具有自动增量或减量的功能,无需人工干预。(3)指针寄存器BP和SP寄存器称为指针寄存器(PointerRegister),它们同样是16位的寄存器,也不能分成8位寄存器。指针寄存器除了可以当做普通的通用寄存器外,它们的主要用途:是用于存放堆栈内存储单元的偏移地址。SP(StackPointer)寄存器称为堆栈指针寄存器,它的主要用途是用于存储当前堆栈中栈顶元素的偏移地址,入栈(PUSH)和出栈(

6、POP)指令会自动修改它的值,从而实现访问堆栈中栈顶元素,用它可直接存取堆栈中的数据,该寄存器的内容机器自动修改,无需人工干预,也属于一个专用的寄存器。BP(BasePointer)为基址指针寄存器,它的主要用途是用于存储堆栈中某一存储单元的偏移地址,从而实现访问堆栈中非栈顶数据。通用寄存器可用于暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些规定的特殊用途。2.专用寄存器指令指针寄存器(IP)和标志寄存器(FLAGS),在汇编语言程序中不能直接引用寄存器名,寄存器的内容是由机器自动修改或根据指令执行的结果进行自动设置,不允许用户对它干预。(

7、1)指令指针寄存器IP(InstructionPointer)称为指令指针寄存器。它的功能是存储下一条将要从主存中取出指令的偏移地址,也就是预取指令在内存中存储单元的偏移地址。在目标程序运行时,它始终指向下一条将要执行的指令,控制器一旦取得这条指令马上就修改IP寄存器的值,使它指向当前执行指令的下一条指令的偏移地址,IP寄存器的内容由微处理器硬件自动设置,程序不能直接访问IP,但一些指令却可改变IP的值,如转移指令(LOOP等)、子程序调用指令(CALL)等。(2)FLAGS寄存器FLAGS寄存器称为标志寄存器,又称为程序状态寄存器(Pr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。