xms pod dos

7 отговора 208 прегледа
#1

xms pod dos

Kak pod DOS da pisha wyw wisokite adresi na pametta
imam predwid njakyde okolo A0000000.
10x predwaritelno

Отговор
в отговор на cwetalin #2

Re: xms pod dos

[линк]
Ako tova ne ti stiga, moga da ti pratya edno modulche na C za DOS-ovskite kompilatori na Borland, deto sym pisal edno vreme.
BTW, chrez XMS (HIMEM.SYS) ne mojesh da dostypish tochno opredelen adres.

Отговор
в отговор на Potencialen emigrant #3

Re: xms pod dos

Bre maamu stara. Imashe njakakyw nachin, s dwe kletki, ednata e adresa a drugata dannite, ama ne pomnja kyde bjaha
trjabwa da pylnja RAM-a na edna videokarta........

Отговор
в отговор на cwetalin #4

Re: xms pod dos

CALL-151.hit.bg/REAL32.COM

puskas go ednokratno!
obace ne trebva d asi v zastiten rejim! t.e. da ne e pusnato nesot ot rod ana EMM386.

sed tova ti e dostapna celata pamet po normalen nacin:
SEGMENT:OFFSET

primerno:

MOV AL,[0ABCDEF12H]

cetes ot absoluten adres 0ABCDEF12H ako DS=0

Отговор
в отговор на CALL-151 #5

Re: xms pod dos

10X, mnogo
ama 0ABCDEF12 ne sa li 36 bita :))

Отговор
в отговор на cwetalin #6

Re: xms pod dos

0ABCDEF12

AB - 1
DC - 2
EF - 3
12 - 4

4*8=32bita!

specialno go broih kogato go pisah! :-)

mojebi te smustava 0 v nacaloto! mi prosto edno cislo nemoje da zapocva s bukva!

Отговор
в отговор на CALL-151 #7

Re: xms pod dos

Da be, broil sym i H-a :))))
ama ja kaji koj saembler shte mi wzeme tolkowa dylgo chislo za ukazatel
i wsyshtnost, kak se pishe segment:otmestwane, pak li sys zastypwane kato pri 16 bitowoto adresirane
t.e., segmenta w DS li e samo ili w EDS......
abe, edin wid 0ABCDEF12 kak da go razdelja na segment i ofset

Отговор
в отговор на cwetalin #8

Re: xms pod dos

vseki assembler stava!
vzimas naprimer turboassembler, toia koito varvi s TURBO-PASCAL naprimer!
trebva da napravis slednoto obace:


.386P
CODE SEGMENT USE16
ASSUME CS:CODE, DS:CODE
ORG 100H
START:
MOV AX,0
MOV ES,AX
MOV AX,ES:[12345678]
MOV ES:[123565435+EAX],EBX
MOV ESI,455667789
MOV AL,ES:[ESI]

; I KAKVITO SI ISKAS TAM ADRESACII


ENDS
END START


t.e. da kajes na assemblrera ce procesora ti e 386
da kajes ce rabotis v 16bitov rejim
no kazvaiki "golemi cisla" ili razsireni registri toi st eti generira 32bit instrukcii!
nai lesno e slagas v segmenta 0 i otmestvaneto ti e fiziceskia adres.
mojes razbirase da polzvas koito si iskas segmenten registar!

tova ti e dostapno vinagi v realen rejim! samoce ako se opitas da izpolsvas otpestvane spriuamo segment >64K se generira izklucenie!
vaprosnata programka ti setva razmer na segmentite 4GB!

Редактирано от CALL-151 на

Отговор