Assembler - kde mam chybu
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.
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.
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áš
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áš