私は最初の TSR を書いています。INT 21H の関数 31H を使用する必要があることはわかっています。調べてみると、DXの値は「段落のメモリサイズ」であることがわかりました。それを計算する方法がわからず、GOOGLE は役に立ちませんでした。コードの段落でメモリ サイズを計算する方法を知りたいです。
私はちょうどこれを見つけました
mov dx, OFFSET Install ; DX = bytes in resident section
mov cl, 4
shr dx, cl ; Convert to number of paragraphs
inc dx ; plus one
mov ax, 3100h ; Request Function 31h, error code=0
int 21h ; Terminate-and-stay-resident
なんでプラスワンなの?そして、段落=オフセット* 16であると仮定する必要があることを知っていますか?