Skip to content

Releases: Suhoiyis/assembler_py

2.0.0

Choose a tag to compare

@Suhoiyis Suhoiyis released this 11 Jun 13:19

验证完成

保持main分支,与最新发行版Releases一致,

dev应该是最新进展的最新开发记录

为实现可视化窗口,另开windows分支作为最新进展

pseudo.py从program.txt中读取汇编语言并进行汇编,再输入到machine_code_output.txt
而用windows.py实现可视化操作窗口

pseudo.py不能直接单独使用,

若想单独使用pseudo.py及其功能,需要修改pseudo.py的expand_pseudo_instructions(lines)末尾,详见pseudo.py开头注释

若要实现可视化窗口,直接运行windows.py即可

(老汇编代码已移至 /src/old asm 文件夹中)

(开发日志写在Development Log.md里面)

说明书详见README.md

1.1.0

Choose a tag to compare

@Suhoiyis Suhoiyis released this 30 May 16:34

新增 冒泡排序
(主要是重写了li指令)

pseudo.py从program.txt中读取汇编语言并进行汇编,再输入到machine_code_output.txt

正在尝试可视化窗口的实现,因此相关指导 视频 与 ppt 在guide文件夹里

更多详细内容请看README.md

1.0.0

Choose a tag to compare

@Suhoiyis Suhoiyis released this 12 May 12:52

特别感谢来自wzx的指导
目前经wzx检验,仿真已经正常完成,不出意外的话这就是最终版了

流水灯

pseudo.py从program.txt中读取汇编语言并进行汇编,再输入到machine_code_output.txt

更多详细内容请看README.md

0.0.3

0.0.3 Pre-release
Pre-release

Choose a tag to compare

@Suhoiyis Suhoiyis released this 12 May 12:19

唉,第三档本来想着修修改改了上,就一直没传,其实应该还有个第四档的,结果现在最终档马上都就要出来了,来不及喽。。。。。
那就把第三档第四档合一起上了吧

第三档前言:
(2025.5.8 改)

添加了识别 start 标识符以及 inner_loopX , outer_loopX (X一般代表数字,一个文件中可能有多个 inner_loop 或outer_loop)

特别注意输入的指令应当形如 lui a1, 0x20

即 “ 指令 + [空格] + rt + [逗号“,”] + [空格] + imm “

注意指令与后面内容有空格隔开,而后面 rt rs imm之间即便有逗号也要有空格分割(即便start , inner_loop , outer_loop也是一样)

把上版的输入内容存为 program - 副本.txt

把之前写的没一点用的东西先删了

第四档前言(没传在这次的md里面写在下次的,也就是最终版里面了)
(2025.5.12 更)

应该快要结束了,存一下档,本来应该是这个档或者上个档来做第三档的)
sb指令那里对应输出的机器码位置次序不对

   由     return imm + rs + rt + opcode_map[instr] # 顺序:imm base_reg src_reg op
   改为 return rt + rs + imm + opcode_map[instr] # 顺序 base_reg src_reg imm op

0.0.2

0.0.2 Pre-release
Pre-release

Choose a tag to compare

@Suhoiyis Suhoiyis released this 08 May 12:54

第三版要出来了,先给第二版存个档

pseudo.py从program.txt中读取汇编语言并进行汇编,再输入到machine_code_output.txt
目前可以使用添加的伪指令la li bge j

输入
lui a4, 0x8 // 0x800 * 0x8000 = 0x400_0000
outer_loop:
lui a2, 0x40 // 0x4000 * 2 = 0x8000
inner_loop:
addi al, a1, 1
ble a1, a2, inner_loop
addi a3, a3, 1
ble a3, a4, outer_loop

输出:
0000_1000_0111_1110
0100_0000_0101_1110
0001_0100_0100_1100
0101_0100_1110_0011
0001_0110_0110_1100
0111_0110_1011_0011

0.0.1

0.0.1 Pre-release
Pre-release

Choose a tag to compare

@Suhoiyis Suhoiyis released this 17 Apr 13:00

assembler.py从program.txt中读取汇编语言并进行汇编,再输入到machine_code_output.txt

只能简单的识别指令,不能识别标签等东西
注意嗷,阉割了伪指令功能

类似
jal r1, 0
jalr r1, r3, 6
addi r3, r1, 2
subi r4, r1, -2
beq r3, r4, -6
ble r3, r5, 0
add r5, r3, r4
sub r6, r3, r4
sb r5, 2(r6)
sw r5, 4(r6)
lb r7, 4(r6)
lw r8, 2(r6)
and r9, r5, r6
or r10, r5, r6
lui r11, 0xA1