创建新指令(双操作数

问题描述 投票:0回答:1

我一直在看一本书,我被这个卡住了。

他们给我看了这个图表

image

我把这些值放在了自己的身上(你觉得有意义吗?)。

PC(程序计数器)=16位

TAR(临时地址寄存器)=16位

MAR(内存地址寄存器)=16位

RTR = 8位 堆栈 = 16位

索引=16位

页面=8位

Aux1 = 8位

Aux2 = 8位

累积器A=8位

累积器B=8位

MBR = 8位

输入寄存器=8位

地址总线=16位

数据总线=8位

我想创造自己的作品(双操作数): 有些寻址模式必须使用CPU内部的寄存器(不限于累加器A和B),例如页、索引、栈。

即:索引寄存器包含偏移量的寻址模式,指令中的操作数表示要加到该偏移量上的地址。

我想的是这样的

MOVE #$58, (INDEX),但我觉得这不正确

我现在挺迷茫的:......能不能给我举个例子,简单解释一下你的称呼模式在什么情况下会有用?

assembly cpu-architecture instruction-set addressing-mode
1个回答
0
投票

在x86平台上,你可以指定基数或索引寄存器。例如mov ax, WORD PTR [bx] OR mov ax, [bx+si]例如,这里 bx 是基础和 寄存器的内容是index。

你所提到的指令似乎表明,在某些情况下,值INDEX将被添加到基地址中。默认值 注册。如果这是你的意图,比指令是可以的。否则应该有一个规定,提到什么是基寄存器,但只有在有许多可能的基寄存器的情况下。

© www.soinside.com 2019 - 2024. All rights reserved.