; test1.asm ; ; This program uses flat real mode to read the contents of arbitrary ; memory locations to the screen. It assumes that flat real mode (4G ; limit) is already in place for the FS segment. ; ; This code is intended to be run on a Pentium or better. ; ; To assemble: ; ; using Microsoft's MASM 6.11 or better ; ml /Fl flatmode.asm ; ; or Borland's TASM version 4.0 or better ; tasm /la /m2 flatmode.asm ; tlink /Tdc flatmode ; ;---------------------------------------------------------------------- .model tiny .code .586P ;---------------------------------------------------------------------- ORG 100h start: call fillscreen ; fill the screen using 4G descriptor mov ax,4c00h ; do a standard DOS exit int 21h ; ;---------------------------------------------------------------------- fillscreen proc mov esi,0FFFFFF70h ; point to ROM mov edi,0B8000h ; point to screen mov cx,160 ; just two lines mov ah,1Eh ; yellow on blue screen attrib myloop: mov al,fs:[esi] ; read ROM byte mov fs:[edi],ax ; store to screen with attribute inc esi ; increment source ptr inc edi ; increment dest ptr by two inc edi ; loop myloop ; keep going ret ; and quit fillscreen endp end start