#DLUGOSC = 1000000 D.l = AllocMem_(#DLUGOSC,0) GetReg A0,D ; A0 - poczatek bloku danych MOVE.l #DLUGOSC,D7 ASR.l #2,D7 SUBQ.l #1,D7 ; D7 - licznik petli loop: MOVE.l #$ffffffff,(A0)+ ; probuje zapisac caly bank danych DBF D7,loop ; wartosciami $ff ; SPRAWDZAM POPRAWNOSC DANYCH ; Przy sprawdzaniu calego For i.l = 0 To #DLUGOSC-1 ; bloku danych wypisuje ; pierwszy offset w ktorym If Peek.b(D+i)<>-1 Then NPrint i : i=#DLUGOSC ; wartosc bajtu jest rozna ; od -1 ($FF) Next FreeMem_ D,#DLUGOSC Stop End
@tukinem, post #1
SUBQ.L #1,D7 BGE.B .loop
MOVEQ #-1,D0 .loop: MOVE.L D0,(A0)+
@Don_Adan, post #4
@tukinem, post #5
@Hexmage960, post #6
@tukinem, post #7
@tukinem, post #7
GetReg A0,D ; A0 - poczatek bloku danych move.l #DLUGOSC,D7 lsr.l #2,D7 subq.l #1,D7 ; D7 - licznik petli moveq #-1,D0 loop: move.l D0,(A0)+ ; probuje zapisac caly bank danych dbf D7,loop ; wartosciami $ff
GetReg A0,D ; A0 - poczatek bloku danych move.l #DLUGOSC,D7 lsr.l #3,D7 ; musi byc podzielne przez 8 subq.l #1,D7 ; D7 - licznik petli moveq #-1,D0 loop: move.l D0,(A0)+ ; probuje zapisac caly bank danych move.l D0,(A0)+ dbf D7,loop ; wartosciami $ff
@Don_Adan, post #12
@Hexmage960, post #13
MOVEQ #1,D0 MOVE.l D0,D1 LSL.l #31,D0 ASL.l #31,D1
LSR.l #31,D0 ASR.l #31,D1
@tukinem, post #14
MOVEQ #31,D0 LSL.L D0,D1
@Don_Adan, post #17
@Don_Adan, post #15
[quote]Nie bedzie zadnego D1= %10000000000000000000000000000001
NPrint zmienna LSL 31 LSR 31
@tukinem, post #19
GetReg A0,D ; A0 - poczatek bloku danych move.l #DLUGOSC,D7 lsr.l #2,D7 move.l #xxxxxxxx,D0 ; xxxxxxxx to wartosc jaka wypelniasz buffor bra.b skip loopfull: swap D7 loop: move.l D0,(A0)+ skip: dbf D7,loop swap D7 dbf D7,loopfull rts