|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2024 04 20, 08:44. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Programavimas » assembler programele. kokios klaidos?
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
|
|
|
assembler programele. kokios klaidos? |
Parašytas: 2010 04 21, 13:09 |
|
|
|
reikia padaryt assemblerio programele..
Pranešimo, įvesto klaviatūra, simbolius 'a' pakeiskite simboliu '*'.
pradejau bandyt daryt ivedima, isvedima.. ivedimas atrodo gaunas.. bet isvedimas kazkode nieko nerodo..
tam "a" raides pakeitimui 1as zmogus pasiule varianta..
stai cia yra pilnas kodas:
;program gavno
;------------------------------------
.Model small ;atminties modelis
;64K kodui ir 64K duomenim
.Stack 100h ;stekas
;----konstantos------------------------
StdOut = 1
CR = 0Dh
LF = 0Ah
;-----duomenys-------------------------
.DATA
msgText DB "rasyk sakini:$"
msgEcho DB CR,LF,"tu parasei:$"
inputBuf DB 255
DB 0
DB 255 DUP(?)
;------kodas----------------------------
.CODE
Strt:
mov ax,@data ;ds - duomenu segmentas
mov ds,ax
mov dx,OFFSET msgText
call Write
mov ah,0Ah
mov dx,OFFSET inputBuf
int 21h ;skaitymas is klavos
repeat: ; until end of line
; randam pirma simboli "a"
MOV DI,OFFSET buferis
MOV CX,teksto_ilgis
MOV AL,'a'
REPNZ SCASB
; jei eilutes pabaiga, beigiam
JZ break_repeat
; jei ne, pakeiciam simboli ir einam ieskot toliau
MOV [DI-1],'*'
JMP repeat
break_repeat:
mov dx,OFFSET msgEcho
call Write
mov dx,40h
mov bx,(StdOut)
mov cl,[inputBuf+1]
xor ch,ch
mov dx,OFFSET inputBuf+2
int 21h ;int 21,40 - isvedimas i faila ar irengini
mov ax,04C00h
int 21h ;int 21,4C - programos pabaiga
;-----------------------------------------
Write PROC
push ax
mov ah,09h
int 21h ;int 21,09 - isvedimas i ekrana
pop ax
ret
Write ENDP
;----------------------------------------------
END Strt
neaisku man kas turi but vietoj 'buferis' ir 'texto_ilgis'..
padekit prasau pataisyt klaidas kurias matot.. |
|
|
|
|
|
|
assembler programele. kokios klaidos? |
Parašytas: 2010 09 22, 13:57 |
|
|
|
Pataisiau, štai veikianti:
Kodas: |
;program vno
;------------------------------------
.Model small ;atminties modelis
;64K kodui ir 64K duomenim
.Stack 100h ;stekas
;----konstantos------------------------
StdOut = 1
CR = 0Dh
LF = 0Ah
teksto_ilgis = 250 ; max ilgis
;-----duomenys-------------------------
.DATA
msgText DB "rasyk sakini: $"
msgEcho DB CR,LF,"tu parasei: $"
inputBuf DB 255
DB 0
DB 255 DUP(?)
;------kodas----------------------------
.CODE
Strt:
mov ax,@data ;ds - duomenu segmentas
mov ds,ax
mov dx,OFFSET msgText
call Write
mov ah,0Ah
mov dx,OFFSET inputBuf
int 21h ;skaitymas is klavos
; randam pirma simboli "a"
MOV DI,OFFSET inputBuf
MOV CX,teksto_ilgis
MOV AL,'a'
mov ah,'*' ; keiciam i simboli '*'
repeat: ; until end of line
; jei eilutes pabaiga, beigiam
cmp cx,0
JZ break_repeat
inc di
dec cx
cmp [di-1],al
jne repeat
; jei ne, pakeiciam simboli ir einam ieskot toliau
MOV [DI-1],ah
JMP repeat
break_repeat:
mov dx,OFFSET msgEcho
call Write
mov ah,40h ; cia turi buti ah
mov bx,(StdOut)
mov cl,[inputBuf+1]
xor ch,ch
mov dx,OFFSET inputBuf+2
int 21h ;int 21,40 - isvedimas i faila ar irengini
mov ax,04C00h
int 21h ;int 21,4C - programos pabaiga
;-----------------------------------------
Write PROC
push ax
mov ah,09h
int 21h ;int 21,09 - isvedimas i ekrana
pop ax
ret
Write ENDP
;----------------------------------------------
END Strt
|
|
|
|
|
|
|
|
|
|
|
|
Google paieška forume |
|
|
Naujos temos forume |
|
|
FS 22 Tractors
Farming Simulator 19 Mods,
FS 22 Maps,
FS22 Mods |
|
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
|
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS22 Trucks |
|
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
|
Paskola internetu
Vartojimo paskola,
paskola automobiliui,
paskola būsto remontui |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
FS22 Mods
FS22 Harvesters,
FS22 Tractors Mods,
FS22 Maps Mods |
|
FS22 Mods
FS22 Maps,
FS22 Harvesters,
FS22 Tractors |
|
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
|
Sims 4 Mods
Sims 4 CC Clothes,
Sims 4 Hair CC,
Sims 4 Skill Cheat |
|
Optic sight
Binoculars for hunting elk,
Best compact binoculars,
Riflescope hunting |
|
|
|