2023-03-01から1ヶ月間の記事一覧

8つの汎用レジスタを汎用レジスタとして扱ったアセンブリ言語プログラム

ahレジスタ、alレジスタ、bhレジスタ、blレジスタ、chレジスタ、clレジスタ、dhレジスタ、dlレジスタの8つの汎用レジスタがある。 それらは、"int 21h"という命令やloop命令の材料として用いられるため汎用レジスタでないと思われがち。 そんな8つの汎用レジ…

アセンブリ言語におけるプログラム終了シーケンス

このアセンブリ言語プログラム。 bits 16org 0x100 mov ah,2mov dl,'s'int 21h ;プログラム終了シーケンスmov ah,4Chmov al,0int 21h プログラム終了シーケンスにおいて、"int 21h"はah内の数値に応じた処理をする命令であり、ah内の数値が4Chなのでプログラ…

アセンブリ言語のcmp命令

アセンブリ言語のcmp命令は、次の命令とセットになってある場所にジャンプするものと思ってないか。 例えば、 cmp dl,dh je yes は、"cmp dl,dh"は次の"je yes"とセットになって「dlの数値とdhの数値が同じであればyesという所にジャンプする」命令と思って…

割り算の答えを帯分数で表すアセンブリ言語プログラム

bits 16org 0x100 mov ah,08hint 21hmov cl,al mov ah,02mov dl,clint 21h mov ah,02mov dl,'/'int 21h mov ah,08hint 21hmov ch,al mov ah,02mov dl,chint 21h push cxsub cx,3030h mov ax,0mov al,clmov cl,chmov ch,0div cl mov cx,axmov ax,0 cmp ch,0jn…