1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiaowuzxc-Yduck-processor

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
大黄鸭指令集.md 1.6 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
xiaowuzxc Отправлено 3 лет назад 3a94a9f

汇编指令格式

指令集是处理器的灵魂,寄存器是指令集的基石。

寄存器结构

具体见doc/16寄存器组.xlsx

编号 标识符 功能
0 ZE 零寄存器
1 DK 运算寄存器
2-C R0-RB 通用寄存器
D RC 中断返回寄存器
F PC 程序计数器

指令规范

具体见doc/16指令表.xlsx

8位指令

处理器一次可以执行两条8位指令,但是不能对同一个寄存器写入,不能同时读或同时写数据空间。

[7:4]指令[3:0]寄存器1
  1. 加载
  • 从[DK]指向的地址读出一个数,存入[寄存器1]
  1. 存储
  • 把[寄存器1]的值写入[DK]指向的地址
  1. 逻辑非
  • [寄存器1]的值取反
  1. 寄存器+1
  • [寄存器1]的值+1
  1. 寄存器高低字节交换
  • [寄存器1]的高低字节交换

16位指令

具体见16指令表.xlsx

[15:12]指令[11:8]寄存器1[7:4]寄存器2[3:0]X
  1. 寄存器转移
  • [寄存器1]的值写入[寄存器2]
  1. 比较
  • [寄存器1]>[寄存器2],DK写入1
  1. 逻辑与
  • [寄存器1]与[寄存器2]与运算,结果写入DK
  1. 逻辑或
  • [寄存器1]与[寄存器2]或运算,结果写入DK
[15:12]指令[11:8]寄存器1[7:0]立即数
  1. 加法
  • DK=DK+[寄存器1]+[立即数]
  1. 减法
  • DK=DK-[寄存器1]-[立即数]
  1. 非0跳转
  • DK!=0,跳转到[寄存器1]+[立即数]
  1. 无条件跳转
  • 跳转到[寄存器1]+[立即数]
  1. 逻辑左移
  • DK逻辑左移[寄存器1]+[立即数],低位补0
  1. 逻辑右移
  • DK逻辑右移[寄存器1]+[立即数],高位补0
  1. 循环左移
  • DK循环左/右移一次

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/xiaowuzxc-Yduck-processor.git
git@gitlife.ru:oschina-mirror/xiaowuzxc-Yduck-processor.git
oschina-mirror
xiaowuzxc-Yduck-processor
xiaowuzxc-Yduck-processor
v2.0