发表于《KC-LS1u简介和预订》
11年8个月前IP:广西
764685
214楼
这个CPU有5个可操作寄存器, A、B、A2、A1、A0;
A2A1A0是三个8位锁存器组成的24位地址寄存器,只写不读;

假设b的地址是3H, a是一个指针占3个字节,地址分别0H~2H;
处理b = *a的CPU指令操作步骤:

A2A1A0 = 0x000001;                         //A2A1A0三个寄存器写入地址000001H
A = RAM;                                            //000001H地址的RAM内存数据送A寄存器
A2A1A0 = 0x000000;                         //A2A1A0三个寄存器写入地址000000H
B = RAM;                                            //000000H地址的RAM内存数据送B寄存器
A2A1A0 = 0x000002;                         //A2A1A0三个寄存器写入地址000002H
A2 = RAM;                                         //000002H地址的RAM内存数据送A2寄存器
A1 = A;                                              //A寄存器数据送A1寄存器
A0 = B;                                              //B寄存器数据送A0寄存器
A = RAM;                                           //A2A1A0地址寄存器指向的RAM单元数据送A寄存器
A2A1A0 = 0x000003;                         //A2A1A0三个寄存器写入地址000003H
RAM = A;                                            //A寄存器的数据送入000003H地址的RAM单元


问题现在*a = b 少一个寄存器。。我看看怎么解决我看看怎么解决 1.gif ,
难道必须要给CPU增加一个C寄存器。。这样子的话。前面卖出的10套要换CPU。。。 你们不要偷笑。 2.gif 人有失手马有失蹄 2.gif
评论
文号 / 764685

千古风流
名片发私信
学术分 4
总主题 71 帖总回复 1168 楼拥有证书:学者 机友 笔友
注册于 2011/08/12 17:13:20最后登录 2022/12/22 11:43:34
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:0

个人简介

暂未填写
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的