タイトル | : Re^2: WinNT系のコマンドライン問題解決したかも |
投稿日 | : 2023/02/28(火) 22:39 |
投稿者 | : 文太 | 番 号 | : 10585 10583 番 文太 さんへのコメント コメント数 1 |
「完全に筋は通っている」話関連です。 いちおう検算です。 というか計算はできないけど、konnoさんが言ってることは、*いちおう* 分かりました。 swap.asm でなくて、dos.asm だったからね。 ;--- Allocate TPA --- dos.asm Vz1.57 public allocTPA allocTPA proc tstw shseg jz alloc9 mov bx,save_psp msdos F_SETPSP mov bx,-1 msdos F_MALLOC msdos F_MALLOC push ax call TPAptr pop dx mov es:[bx],dx cmp ax,0314h ; later DOS 3.2 _if ae mov es:[di+2],dx _endif mov es,es:[di] mov bx,0465h ;!!!!! cmp ax,0500h ; ##156.96 ##157.xx DOS 5.0 jae alloc8 mov di,0200h mov cx,100h _repeat mov al,0B4h ; find "mov ah,49h" ;--- Allocate TPA --- dos.asm Vz1.6 public allocTPA allocTPA proc tstw shseg jz alloc9 mov bx,save_psp msdos F_SETPSP mov bx,-1 msdos F_MALLOC msdos F_MALLOC push ax call TPAptr pop dx mov es:[bx],dx cmp ax,0314h ; later DOS 3.2 _if ae mov es:[di+2],dx _endif push es:[di] mov bx,cs:tpafreep ;!!!!! tst bx jnz alloc8 mov di,0600h mov cx,300h cmp ah,5 ; ##16 jae alloc1 ; mov bx,0465h ;!!!!! ; cmp ah,5 ; ##156.96 ##157.xx DOS 5.0 ; je alloc8 pop es push es mov di,0200h mov cx,100h alloc1: _repeat mov al,0B4h ; find "mov ah,49h" jne alloc_x mov al,49h scasb _until e mov bx,es:[di-4] mov cs:tpafreep,bx ;!!!!! こっちが保存(登録)で、、、 ;ロジックは読めませんが c:\vzsrc\cmos\swap.asm 47: extrn allocTPA :near c:\vzsrc\cmos\swap.asm 127: call allocTPA c:\vzsrc\cmos\swap.asm 456: extrn allocTPA :near c:\vzsrc\cmos\swap.asm 482:swapo8: call allocTPA 繰り返しですが、(混乱したので)allocTPA proc がswapのために使われるのは 間違いありません。前も書いたね。
- No.10585 一括表示へ - コメント元:10583 一括表示へ - [ 返信 ] [引用無し] pre