デフォルトセグメントレジスタの動作確認
『高級言語プログラマのためのアセンブラ入門』 58ページに記述されている
デフォルトセグメントレジスタの確認(本のコードとは全然違う)
『高級言語プログラマのためのアセンブラ入門』 43ページの as_exe.asm 改をコンパイル、実行
CDSEG SEGMENT ASSUME cs:CDSEG,ds:DTSEG,ss:STSEG START: mov ax,DTSEG mov ds,ax mov ah,09H mov dx,OFFSET MSG1 int 21H ; mov ah,09H ; ★ mov dx,OFFSET MSG2 int 21H mov ah,4CH int 21H MSG1 DB "Hello World in CDSEG",0DH,0AH,'$' CDSEG ENDS DTSEG SEGMENT MSG2 DB "Hello World in DTSEG",0DH,0AH,'$' DTSEG ENDS STSEG SEGMENT STACK DB 100H DUP(?) STSEG ENDS END START
★の「mov ah,09H」の部分があると、最初に変な文字が出力されてしまう
★の「mov ah,09H」の部分がないと、
Hello World in DTSEG
となり、「Hello World in CDSEG」の部分が表示されない。さっぱり意味が分からない。
どうも、ちゃんと理解できていないようだ…。