Assembler 8086
Moderators: pedja089, stojke369, [eDo], trax, LAF
Assembler 8086
Kako u asembleru ako imam bin. broj 00110110b da provjerim je li mi 4 bit u jedinici ako itko zna kako bih ovo mogao rjesiti jer se prvi put srećem sa assemblerom?
Re: Assembler 8086
U jedan akumulator uneseš broj kojeg "testiraš", u drugi uneseš 00001000 (8d), odradiš nad oba akumulatora funkciju "AND" i ako je rezultat 0, onda je tvoj bit u nuli, a ako je 8, onda je je u "1".
Davno sam se bavio assemblerom za 6510, za 8086 nikad nisam pa ne znam naredbe, ali princip je opisan i trivijalan je
Davno sam se bavio assemblerom za 6510, za 8086 nikad nisam pa ne znam naredbe, ali princip je opisan i trivijalan je
Nullius addictus iurare in verba magistri
Re: Assembler 8086
Pozdrav imam zadatak da u niz unesem 10 brojeva i da mi za se parne brojeve manje od 5 program učini mnozenje s 2, ja sam napravio ali meni samo pomnozi brojeve koji su i parni i neparni sa 2, pa ako itko zna gdje mi je greska da me ispravi hvala. Boldani dio mi je sumnjiv.
Code: Select all
.MODEL small
.DATA
niz DB 10 DUP (0)
.STACK
.CODE
NewLine MACRO
MOV dl,10
MOV ah,02h
INT 21h
MOV dl,13
MOV ah,02h
INT 21h
ENDM
start:
MOV ax,@DATA
MOV ds,ax
MOV si,0
petlja_u:
CMP si,10
JGE end_petlja_u
MOV ah,01h
INT 21h
SUB al,'0'
MOV niz[si],al
INC si
JMP petlja_u
end_petlja_u:
NewLine
MOV si,0
petlja_i:
CMP si,10
JGE end_petlja_i
MOV al,niz[si]
ADD al,'0'
MOV dl,al
MOV ah,02h
INT 21h
INC si
JMP petlja_i
end_petlja_i:
NewLine
MOV si,0 ;izbaci pomnozene sa 2
petlja_m:
CMP si,10
JGE end_petlja_m
MOV al,niz[si]
CMP al,5
JLE mnozi
INC si
JMP petlja_m
mnozi:
[b] MOV dl,al
AND dl,0
CMP dl,0
JE mmmm
INC si
JMP petlja_m[/b]
mmmm:
SAL al,1
MOV dl,al
ADD dl,'0'
MOV ah,02h
INT 21h
INC si
JMP petlja_m
end_petlja_m:
NewLine
MOV ax,4c00h
INT 21h
END start
Re: Assembler 8086
Kako da provjerim je li broj 52 djeljiv sa 6 preko naredbe SHR?
Re: Assembler 8086
Jesi li siguran da je djeljivost sa 6 bila u igri? Šiftanje bitova udesno je dijeljenje s dva pa ostatak postavlja carry flag. Tako se može provjeriti djeljivost sa 2, sa 4, sa 8 itd...
Ali djeljivost sa 6 samo preko SHR? Ako pronađeš rješenje, i mene zanima.
Da bi broj bio djeljiv sa 6, mora biti paran i djeljiv sa 3, a djeljivost sa 3 postoji ako je zbroj (dekadskih) znamenki djeljiv s 3. Provjera je trivijalna, ali ne sa SHR
Ali djeljivost sa 6 samo preko SHR? Ako pronađeš rješenje, i mene zanima.
Da bi broj bio djeljiv sa 6, mora biti paran i djeljiv sa 3, a djeljivost sa 3 postoji ako je zbroj (dekadskih) znamenki djeljiv s 3. Provjera je trivijalna, ali ne sa SHR
Nullius addictus iurare in verba magistri