计组你密码的

计算机组成原理实验笔记

指令

汇编程序按照机器语言顺序执行

机器指令

$P 0    0     2    0
$P 0000 0000  0010 0000

$P 代表是机器指令

  • 运算类指令 (直接寻址)
    • 算数运算
    • 逻辑运算
    • 位移运算

单字节指令:ADD(加) AND(与) INC(自增) SUB(减) OR(或) RR(右环移)

此处结构均存入RD

  • 控制转移类指令

单字节指令:HLT (停机)

双字节指令:JMP BZC

  • 数据传送类指令

单字节指令:MOV

双字节指令:IN OUT LDI LAD STA

单字节指令

0000 00 00
OP-CODE RS RD

OP-CODE: 操作码

RS: 源寄存器

RD: 目的寄存器

RS/RD取00-11对应寄存器R0-R3

双字节指令

0000 00 00 0000 0000
OP-CODE RS RD P/data

IN / OUT: P

P为IO端口

IN: [P] -> RD

OUT: RS -> [P]

LDI: data

属于立即寻址,data为立即数

D->RD

0000 00 00 0000 0000
OP-CODE M RD D

M是寻址模式

M E 寻址方式
00 E = D 直接寻址
01 E = (D) 间接寻址
10 E = (R1) + D R1变址寻址
11 E = (PC) + D 相对寻址

LAD: 作用: E->RD

STA: 作用: RD->E

JMP: 作用: E->PC

BZC: 作用: FC=1|FZ=1 E->PC

微指令

$M 00 000001

$M 代表是微指令

你几把又是干啥的???

表格

OP-CODE 指令名称
0000 ADD
0001 AND
0010 IN
0011 OUT
0100 MOV
0101 HALT
0110 LDI
0111 INC
1000 SUB
1001 OR
1010 RR
1011 -
1100 LAD
1101 STA
1110 JMP
1111 BZC

实例分析

  $P 00 20
  ; 0010 0000 ; IN  将输入00端口的数据存入R0

  $P 01 00
  ; 0000 0000 ; ADD  R0+R0->R0  将R0翻倍

  $P 02 61
  $P 03 0F
  ; 0110 0001 0F ; LDI  0F->R1


  $P 04 14
  ; 0001 0100 ; AND  R1与R0->R0  得到R0低四位(因为前面将R1设定为0F了)

  $P 05 61
  $P 06 00
  ; 0110 0001 ; LDI  00->R1

  $P 07 F0
  $P 08 16
  ; 1111 0000 ; BZC  00为直接寻址  如果FC=1|FZ=1  则16->PC

  $P 09 62
  $P 0A 60
  ; 0110 0010 ; LDI  60->R2 读入数据始地址

  $P 0B CB
  $P 0C 00
  ; 1100 1011 ; LAD  10表示R1变址寻址(E=R1+00=R1)  11表示RD=R3

  $P 0D 0D
  ; 0000 1101 ; ADD R3+R1->R1

  $P 0E 72
  ; 0111 0010 ; INC  R2++  循环地址计数加一(对应P09)

  $P 0F 63
  $P 10 01
  ; 0110 0011 ; LDI 01->R3 装入比较值

  $P 11 8C
  ; 1000 1100 ; SUB  R0-R3->R0 (让R0--)

  $P 12 F0
  $P 13 16
  ; 1111 0000 ; BZC  如果FZ=1(R0为0) 16->PC

  $P 14 E0
  $P 15 0B
  ; 1110 0000 ; JMP 0B->PC 循环到前面

  $P 16 D1
  $P 17 70
  ; 1101 0001 ; STA R1->[70] 把R1的数据存储到地址为70到内存里

  $P 18 34    
  $P 19 40
  ; 0011 0100 ; R1数据输出到40OUT端口

  $P 1A E0    ; JMP START         跳转至START
  $P 1B 00
  $P 1C 50    ; HLT               停机
  ; 这里可以选择用哪种 反复执行OR停止
posted @ 2025-05-31 00:54  Rosyr  阅读(60)  评论(0)    收藏  举报