imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 20.10.2002, 09:29     # 1
CYD
Banned
 
Аватар для CYD
 
Регистрация: 16.10.2002
Адрес: Прага
Сообщения: 468

CYD Нимб уже пробиваетсяCYD Нимб уже пробивается
Вопрос по АСМу

Обьясните глупому сии строки плиз!



and byte ptr es:[bx+15h],11111000b

mov es:[bx+1Ah],dx

mov word ptr es:[bx+1Ch],0

mov word ptr es:[bx+16h],1111011110000000b

mov word ptr es:[bx+18h],1111111111111b


Хотябы в общих чертах...
Спасибо.
CYD вне форума  
Старый 20.10.2002, 12:11     # 2
helldomain
Administrator
 
Аватар для helldomain
 
Регистрация: 13.05.2002
Сообщения: 11 227

helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
Tak.
Po ocheredi.

and byte ptr es:[bx+15h],11111000bh

AND - pobitowoe i. Srawniwaet dwa argumenta. Perwij: yacheika w pamyati razmerom 8 bit (na eto ukaziwaet "Byte ptr") po adresu segmenta Es i offsetu Bx+15h. Wtoroi: chislo. Rezultat pishetsya w argument ukazannij slewa.

mov es:[bx+1Ah],dx

Kopiruet soderjimoe registra Dx po adresu ukazannomu w perwom argumente. Rashifrowku adresa smotri wishe.

mov word ptr es:[bx+1Ch],0

Zapisat 0 po adresu perwogo argumenta "Word ptr" znachit chto argument budet wosprinyat kak "slowo" - zapis dlinoi 16 bit. Ostalnoe rashifruesh sam.
__________________
Осколки прошлого, как снег, закрутит ураган времён,
В ушедший день для нас навек, обрушив мост,
Оставив в наших душах след, тьма уплывёт за горизонт,
И в чистом небе вспыхнет свет, свет новых звёзд.
helldomain вне форума  
Старый 20.10.2002, 13:14     # 3
CYD
Banned
 
Аватар для CYD
 
Регистрация: 16.10.2002
Адрес: Прага
Сообщения: 468

CYD Нимб уже пробиваетсяCYD Нимб уже пробивается
Я тормаз в кубе
Хэлл, извини, что заставил тебя писать все это..я это знаю, вопрос был в том почему оффсет такой странный bx+15h например?
CYD вне форума  
Старый 20.10.2002, 13:52     # 4
helldomain
Administrator
 
Аватар для helldomain
 
Регистрация: 13.05.2002
Сообщения: 11 227

helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
Pochemu strannij?

Es:[Bx+15h] znachit, chto iskomaya yacheika pamyati nahoditsya po adresu: segment Es, ofset - soderjimoe registra Bx plius 15 w schesnadcaterichnoi. Esli ti imeesh w widu, gde eto mojet ispolzowatsya, to kak minimum pri obrabotke strok. Dopustim tebe nado prewratit kajduju strochnuju bukwu stroki w propisnuju.

Segment s dannimi:
DSeg Segment
DummyData dw 1 dup (?) ;Prosto zabiwaem perwie dwa baita segmenta kakoi-to hrenju
MyStr db 'wot tebe stroka' ;Dalshe pishem stroku. Ee adres budet propisan kak metka "MyStr"
DSeg EndS

Segment koda:
CSeg Segment

; Eto procedura
Main Proc
;Zdes idet inicializaciya segmentow i prochaya hren
Mov Cx, 15 ; Eto dlina stroki w baitah
@MainByteScanLoop: ; Eto metka na kotoruju polzet loop
;Berem odin bait iz stroki i kidaem ego w registr Dl.
;Snachala nado skopirowat Cx (peremennaya cikla, indeks w registr kotorij mojno ispolzowat dlya adresacii. Eto mogut bit Bx, Si, Di)
Mov Bx, Cx
;Teper chitaem baitik po izwestnomu adresu ;-))) i kidaem ego w Dl
Mov Dl, Ds:[Bx+2]
;Zdes ti pishesh swoju obrabotku znaka stroki. Rezultat kladesh w Dl.
____________TWOI_KOD___________
;Kidaem ego obratno tuda, otkuda wzyali
Mov Ds:[Bx+2], Dl

;Operand zawersheniya cikla. Emu dajetsya metka prijka
Loop @MainByteScanLoop
Main EndP

CSeg EndS
__________________
Осколки прошлого, как снег, закрутит ураган времён,
В ушедший день для нас навек, обрушив мост,
Оставив в наших душах след, тьма уплывёт за горизонт,
И в чистом небе вспыхнет свет, свет новых звёзд.
helldomain вне форума  
Старый 20.10.2002, 21:21     # 5
CYD
Banned
 
Аватар для CYD
 
Регистрация: 16.10.2002
Адрес: Прага
Сообщения: 468

CYD Нимб уже пробиваетсяCYD Нимб уже пробивается
Оки, спасибо...все понял
CYD вне форума  
Старый 21.10.2002, 03:33     # 6
helldomain
Administrator
 
Аватар для helldomain
 
Регистрация: 13.05.2002
Сообщения: 11 227

helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
Nezachto.
__________________
Осколки прошлого, как снег, закрутит ураган времён,
В ушедший день для нас навек, обрушив мост,
Оставив в наших душах след, тьма уплывёт за горизонт,
И в чистом небе вспыхнет свет, свет новых звёзд.
helldomain вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 16:13.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.