ディレクティブ DUP
『高級言語プログラマのためのアセンブラ入門』 185ページあたり
CODE SEGMENT ASSUME cs:CODE,ds:DATA,ss:STK START: mov ax,DATA mov ds,ax ;-----------------------codeここから ;-----------------------codeここまで mov ah,4CH int 21H CODE ENDS DATA SEGMENT ;-----------------------dataここから ;MYDB DB 2000 DUP(0) MYDB DB 2000 DUP(?) ;-----------------------dataここまで DATA ENDS STK SEGMENT STACK DB 100H DUP(?) STK ENDS END START
で、「DB 2000 DUP(?)」を「DB 2000 DUP(0)」にすると
生成された exe ファイルが大きくなった。
COM 形式だと変わらない?
- コード、データ、スタックが一つのセグメントに収まっているから???
- 使っていないから最適化されてしまった???
- でも、EXE でも使っていないのに?