Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Assembler - kde mam chybu

stano11 (13)|13.4.2008 14:33
Zdravím

mám tu úlohu:

TESTOVANIE BITOV

Vytvorte program, ktory vytlaci prislusnu spravu podla
-hodnoty 2 .bitu registra BH -

Aplikujte vhodnu instrukciu logickeho sucinu alebo rotacie alebo instrukciu TEST.
Zdovodnite vyber instrukcie. Pouzite proceduru. Zabezpecte zmenu obsahu testovaneho registra.
Program zmysluplne okomentujte.


Program mám napísaný ale nefunguje podľa môjích očakávaní

[code]
ZAS SEGMENT STACK
DW 64 DUP(?)
ZAS ENDS

DATA SEGMENT
sprava1 DB '2. bit je 0',13,10,'$'
sprava2 DB '2. bit je 1$'
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:ZAS

BITY PROC
test BH, 00000100b
JNZ j
mov DX, offset sprava1
mov ah, 9
int 21h
JMP koniec
j: mov DX, offset sprava2
mov ah, 9
int 21h
koniec: ret
BITY ENDP

START: mov AX, SEG DATA
mov DS, AX
MOV BH, 10101010b
CALL bity
mov AX, SEG DATA
mov DS, AX
MOV BH, 11111111b
CALL bity
MOV AX, 4C00H
INT 21H

CODE ENDS
END START
[/code]

Predom dakujem za ochotu.
Logout (4018)|13.4.2008 14:59
Ahoj,
když splníš poslední pokyn ze zadaní, tak
a) spíš Ti někdo poradí
b) možná na to přijdeš i sám :-)
Tak prosím okomentovaný kód, luštit cizí assembler je vražda...
Matyáš
stano11 (13)|13.4.2008 15:14
už to funguje
Logout (4018)|13.4.2008 16:47
Ahoj,
no v tom komentovanym kódu děláš MOV BL a TEST BH, to je správně?
Btw. co znamená neplní očekávání? Nebyl by přesnjší popis chyby?
Máš debugger, odkrokoval sis to?

Matyáš
eraser (0)|13.4.2008 17:38
Keď pozerám na ten kód, tak si myslím, že je v poriadku. :)