寄存器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
一实验目的
1、初步认识CPU结构,熟悉寄存器的使用方法
2、认识PC运行环境,熟悉PC 指令系统,指令的编码
3、熟悉基本的寻址方法
4、初步了解ASM(debug)工具的使用方法
5、对堆栈操作,了解栈顶,栈低的概念
6、为设计模型机做准备,(模型机指令系统)
二实验原理
1、CMD进入DOS环境
2、用DEBUG进行调试
3、(1)常用命令列表
(2)
通用寄存器:AX,BX,CX,DX
段寄存器:CS,DS,ES,SS
指针:IP,SP,BP,DI,SI
(3)
指令的机器码表示方法(典型传输指令的格式)
第一字节:高6位是操作码26=64条指令
W位:指示传递数据商务类型是字(W=1)字节(W=0)
D位:标明数据传输方向:(D=0 数据从寄存器传出,D=1数据传至寄存器)第二字节
REG字段:寄存器号,用3位编码寻址8种不同的寄存器,在根据第一字节的W位,选择8位或16位寄存器(对使用段寄存器的指令,REG段占2位)
注意:MOV指令的二个操作数中有一个必为寄存器,另一个操作数可以是寄存器,也可以是存储器单元,由指令代码的第二字节的MOD和R/M字段指定
d—0/1表示REG为源/目的操作数;
w—0/1表示操作数类型为BYTE/WORD;
mod、r/m—寻址方式,参见教材P56~57;
IMME—立即数操作数,字段中用data表示;
reg—通用REG用3位编码,段REG只用2位编码(即为0xx)
三实验步骤
开始->运行->cmd->debug
1.在通用寄存器中存数
执行指令:
mov ax,1234
mov bx,5678
mov cx,abcd
mov dx,ffff
int 3
^C
观察寄存器变化,并分析操作码
2. 寄存器不同寻址方式操作
执行指令:
mov ax,1111
mov bx,[102]
mov cx,106
mov dx,[bx]
观察寄存器变化,并分析操作码
3. 堆栈指针操作
执行指令:
mov ax,1224
mov bx,5678
mov cx,abcd
mov dx,ffff
push ax
push bx
push cx
push dx
int 3
^C
观察寄存器变化,并分析操作码
四实验现象
1. 在通用寄存器中存数操作
-r(通过r显示各寄存器状态)
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000
DI=0000
DS=13D6 ES=13D6 SS=13D6 CS=13D6 IP=0100 NV UP EI PL NZ NA PO NC
13D6:0100 0000 ADD [BX+SI],AL DS:0000=CD
(观察可得通用寄存器组ax,bx,cx,dx均为0000 ds,ss,es,cs均为000013D6,
IP=0100)
-a100(通过a输入各汇编指令)
13D6:0100 mov ax,1234
13D6:0103 mov bx,5678
13D6:0106 mov cx,abcd
13D6:0109 mov dx,ffff
13D6:010C int 3
13D6:010D ^C
-g=100 (通过g执行指令,给出运行结果)
AX=1234 BX=5678 CX=ABCD DX=FFFF SP=FFEE BP=0000 SI=0000
DI=0000
DS=13D6 ES=13D6 SS=13D6 CS=13D6 IP=010C NV UP EI PL NZ NA PO NC
13D6:010C CC INT 3
-d (显示现在状态)
13D6:0100 B8 34 12 BB 78 56 B9 CD-AB BA FF FF CC 00 00
00 .4..xV..........
13D6:0110 00 00 00 00 00 00 00 00-00 00 00 00 34 00 C5
13 ............4...
13D6:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00
00 ................
13D6:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00
00 ................
13D6:0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00
00 ................
13D6:0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00
00 ................
13D6:0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00
00 ................
13D6:0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00
00 ................
-u100 (反汇编)
13D6:0100 B83412 MOV AX,1234