Adresácia v DOSe v NASM – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Adresácia v DOSe v NASM – Assembler – Fórum – Programujte.comAdresácia v DOSe v NASM – Assembler – Fórum – Programujte.com

 

x.kodi0
Duch
14. 5. 2012   #1
-
0
-

Mám problém zostaviť súbor hello.com v NASM. Snažím sa adresovať do pamäti, ale akosi to nejde. Hrám sa s grafikou. Pomocou služby BIOSu ide vykresliť bod dobre. Priama adresácia už nefunguje. Problém mi robí chybový kód: "invalid combination of opcode and operands" na riadkoch 11 a 14 (uvedené aj v komentároch). Prekladám to takto: nasm -f bin -o hello.com hello.asm

Prikladám aj kód:

SECTION .text
org 0x100
mov ah,0x00 ;VGA mod
mov al,0x13
int 0x10
mov ah,0x0c ;kresli bod
mov al,12 ;pomocou BIOSu
mov cx,50
mov dx,50
int 0x10
mov es,0xa000 ;zeby segment? - chyba
mov di,0xb00 ;zeby offset?
mov al,12 ;farba
mov es:[di],al ;adresacia - chyba
mov ah,0x4c ;navrat do dosu
mov al,0
int 0x21

Neviem, či v súboroch *.com sa dajú meniť segmenty. Ak mi vie niekto pomôcť, bol by som veľmi vďačný.

Nahlásit jako SPAM
IP: 85.237.227.–
zlz
~ Anonymní uživatel
634 příspěvků
14. 5. 2012   #2
-
0
-

Do segmentových registrů nejde přesunout přímá hodnota. Jde to třeba takhle:

mov ax,0xa000
mov es,ax

V nasm se efektivní adresy píšou celé do závorek. Toto by mělo fungovat:

mov [es:di],al
Nahlásit jako SPAM
IP: 80.188.216.–
x.kodi0
Duch
15. 5. 2012   #3
-
0
-

zlz

Funguje to.
Ďakujem.
Díky moc!!!

Nahlásit jako SPAM
IP: 85.237.227.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 177 hostů

Podobná vlákna

NASM - výměna bitů — založil Thomasso

Malý Kernel v NASM — založil _Radek_

Hra (NASM+WinAPI) — založil m->29

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý