Asembler-tryb rzeczywisty

kris269

Użytkownik
Dołączył
Listopad 22, 2005
Posty
66
Witam Zaczynamy asemblera i mam takie pytanie jak wygladałoby polecenie przeniesienia danej z rejestru bx do komórki pamieci w segmencie dancyh o offsecie równym np.b2, adres bazowy segmentu w rejestrze ds wynosi 4ffa.

Z góry dzięki.
 

D.F.

Były Moderator
Dołączył
Listopad 4, 2009
Posty
493
W asemblerze TASM wyglądałoby to:
Kod:
.model small
.stack
ASSUME CS: CODE

CODE SEGMENT
START:
		mov ax, 4FFAh
		mov ds, ax
		
		mov bx, 5
		mov [ds:00B2h], bx
		
		;exit
		mov ax, 4C00h
		int 21h
CODE ENDS

END START
 

kris269

Użytkownik
Dołączył
Listopad 22, 2005
Posty
66
Dzieki za odpowiedz ale jednego nie lapie dlaczego tam jest mov bx , 5 ?? chodzi bardziej o ta 5 ? skad sie tam wzieła?
 

D.F.

Były Moderator
Dołączył
Listopad 4, 2009
Posty
493
Chcesz przenieść daną z rejestru bx, to dla przykładu dałem tam wartość 5.
 

shoorick

Użytkownik
Dołączył
Lipiec 17, 2008
Posty
66
zerowanie licznika jest zapisywanie "0" w komórku oraz rejestr (abo zrzut rejestru w inny sposób, jak "sub eax,eax" czy "xor edx,edx"). w asemblerze nie ma osobnych liczników, chciaż rejestr (e)cx jest korzystujący jak licznik w niektórych operacjach (np. scas, stos, cmps).
 
Do góry Bottom