43ー51日目 - OS自作入門3日目のアセンブラ実装(harib00c~harib00h) 2016/6/8, 19-22, 26-29

OS自作入門3日目のアセンブラ実装(harib00c~harib00h)

3日目のアセンブラ

引き続きどんどん足りないオペコードを実装していきます。オブジェクト指向で最初から部品化しているので増築は比較的容易です。

実装された命令など
特に、説明することはないですね…唯一EQUだけが特殊で、これはアセンブラの中で使える変数です。

  • ADD Reg8/16,Imm
  • CLI
  • CMP Reg,Imm
  • EQU
  • JMP rel8/rel16/rel32
  • MOV Acc,Imm
  • MOV Reg16,Seg
  • NOP

OS作成、ビジュアル的には全然面白くないですね…

wineによる確認作業の簡便化

Makefileに改良を加えて、wineによるバイナリ出力を自動化しています

#
# Generated by automake.sh
#

include $(top_builddir)/rules.mk
NASK = $(top_builddir)/src/opennask$(EXEEXT)
FDSTAT = $(top_builddir)/fatlib/examples/fdstat$(EXEEXT)

bin_PROGRAMS =  ipl.img
ipl_img_SOURCES = ipl.nas

ipl.img$(EXEEXT) : ipl.nas
		$(NASK) ipl.nas ipl.img
		$(FDSTAT) ipl.img

wine:
		$(WINE_NASK) ipl.nas ipl_wine.img