汇编基础课作业:通用寄存器

汇编基础课作业:通用寄存器

  • 1.写出每条汇编指令执行后相关寄存器中的值。(自己网上查阅相关汇编指令的含义和作用)
  • 2.只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
  • 3.8086/8088通用寄存器的通用性表现在何处?8个通用寄存器各自有何专门的用途?哪些寄存器可以作为存储器寻址方式的指针寄存器?
  • 4.从程序员的角度看,8086/8088有多少个可访问的16位寄存器?有多少个可以访问的8位寄存器?
  • 5.寄存器AX与寄存器AH和AL的关系如何?请写出如下程序片段中每条指令执行后寄存器AX的内容:(自己网上查阅相关汇编指令的含义和作用)
  • 6、处理器的通用寄存器是否越多越好?通用寄存器不够用怎么办?

1.写出每条汇编指令执行后相关寄存器中的值。(自己网上查阅相关汇编指令的含义和作用)

mov ax,62627 AX=?
ax=62627
mov ah,31H AX=?

ax=3100H

mov al,23H AX=?

AX=3123H

add ax,ax AX=?

ax=6246H

mov bx,826CH BX=?

BX=826CH

mov cx,ax CX=?

CX=6246H

mov ax,bx AX=?

AX=826CH

add ax,bx AX=?

AX=04D8

mov al,bh AX=?

AX=0482

mov ah,bl AX=?

AX=6C82

add ah,ah AX=?

AX=D882

add al,6 AX=?

AX=D888

add al,al AX=?

AX=D810

mov ax,cx AX=?

AX=6246H

2.只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。

MOV AX,2
ADD AX,AX
ADD AX,AX
ADD AX,AX

3.8086/8088通用寄存器的通用性表现在何处?8个通用寄存器各自有何专门的用途?哪些寄存器可以作为存储器寻址方式的指针寄存器?

1、八个寄存器都可以作为普通的数据寄存器使用。
2、AX,BX,CX,DX,4个寄存器通常用来存储数据,BP,SP,SI,DI.通常用来储存地址
3、BX,BP,SI,DI.可以作为存储器寻址方式的指针寄存器
4、有特殊的用途:AX为累加器,CX为计数器,BX,BP为基址寄存器,SI,DI为变址寄存器,BP还可以是基指针,SP为堆栈指针。

4.从程序员的角度看,8086/8088有多少个可访问的16位寄存器?有多少个可以访问的8位寄存器?

1、从程序员的角度看,8086/8088有14个可访问的16位寄存器
一、通用寄存器
AX,BX,CX,DX,SP,BP,SI,DI
二、段寄存器
1、cs 2、ss 3、ds 4、es
三、指令指针寄存器和标志寄存器
ip:16位指令指针寄存器
flags:16位标志寄存器,但只用其中的9位,即6个状态标志位,3个控制标志位
2、有8个可访问的8位寄存器
AH,AL,BH,BL,CH,CL,DH,DL

5.寄存器AX与寄存器AH和AL的关系如何?请写出如下程序片段中每条指令执行后寄存器AX的内容:(自己网上查阅相关汇编指令的含义和作用)

AH是AX的高8位,AL是AX的低8位。他们都是单独的寄存器。
MOV AX,1234H
AX=1234H
MOV AL,98H
AX=1298H
MOV AH,76H
AX=7698H
ADD AL,81H
AX=7619H
SUB AL,35H
AX=76E4H
ADD AL,AH
AX=765AH
ADC AH,AL
AX=D15AH
ADD AX,0D2H
AX=D22C
SUB AX,0FFH
AX=D12D

6、处理器的通用寄存器是否越多越好?通用寄存器不够用怎么办?

1、处理器的通用寄存器并非越多越好,因为如果处理器的通用寄存器数量太多,势必造成处理器的成本增加,同时也增加了处理器设计的复杂度;
2、通用寄存器不够用可以使用内存;

你可能感兴趣的:(反汇编)