|
|
hello FRIEND'S
iam reza , from iran. eng languge me very very poor.
iam writeing 4 program in assembly , but 4 problem in 4 program . OOps!
please HELP ME , ""EMERGENCY"" .
================================================
Q1) i will program , read 1 file(string) , count alphabet BIG and insert in the File num count.
Example : (in file): rezA VEry VEry BAd.
Output in file :rezA VEry VEry BAd 7 .
Code:
f db 'd:\filetest2.txt'
fh1 dw ?
n db ' '
str db ' $'
i db ?
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
mov n,'0'
mov ah,3dh
mov al,2
lea dx,f
int 21h
mov fh1,ax
mov i,0
l1:
mov ah,42h
mov al,00
mov bx,fh1
mov cx,00h
mov dx,i
int 21h
;------
mov ah,3fh
mov bx,fh1
mov cx,1
lea dx,str
int 21h
;---------------------
cmp str,65
jae l2
jmp ex
l2:
cmp str,90
jbe l3
jmp ex
l3:
inc n
aaa
jmp ex
ex:
inc i
cmp i,10
jbe l1
;-------
mov ah,42h
mov al,2
mov bx,fh1
mov cx,00h
mov dx,00
int 21h
;------
mov ah,40h
mov bx,fh1
mov cx,1
lea dx,n
int 21h
;--------
mov ah,3eh
mov bx,fh1
int 21h
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler.
=================================================
Q2) i will program ,read 2 file(read 1 ..100 char),and word more 5 char, save in new file.
Example(in file1) : reza gooooood boy in word.
Example(in file2) : reza student in Tehran.
Outpot : (in New file) : gooood student tehran.
Code:
f1 db 'd:\filetest3.txt'
fh1 dw ?
str1 db ' $'
str2 db ' $'
i dw ?
j dw ?
n dw -1
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
mov ah,3dh
mov al,00
lea dx,f1
int 21h
mov fh1,ax
mov i,0
l1:
mov ah,42h
mov al,00
mov bx,fh1
mov cx,00h
mov dx,i
int 21h
mov ah,3fh
mov bx,fh1
mov cx,1
lea dx,str1
int 21h
inc n
l3:cmp str1,' '
je l4
jmp continue
l4:cmp n,5
jae l5
jmp l6
l6:mov n,-1
jmp continue
l5:
mov di,i
sub di,n
mov j,di
add di,n
label:
mov ah,42h
mov al,00
mov bx,fh1
mov cx,00h
mov dx,j
int 21h
mov ah,3fh
mov bx,fh1
mov cx,1
lea dx,str2
int 21h
mov dl,str2
mov ah,02h
int 21h
inc j
cmp j,di
jbe label
mov n,-1
jmp continue
continue:
inc i
cmp i,25
jbe l1
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler.
================================================== ===
Q3 ) i will program , count word GREEN in file , and insert the file num count.
Example( in file ) : red blue green green reza iran id usa 86562 green .
Output : red blue green green reza iran id usa 86562 green 3.
Code:
f db 'd:\filetest4.txt'
fh1 dw ?
str db 5 dup (' ')
n db ' '
i dw ?
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
mov n,'0'
mov ah,3dh
mov al,2
lea dx,f
int 21h
mov fh1,ax
mov i,0
l1:
mov ah,42h
mov al,00
mov bx,fh1
mov cx,00h
mov dx,i
int 21h
;------
mov ah,3fh
mov bx,fh1
mov cx,5
lea dx,str
int 21h
;---------------------
cmp str[0],'G'
je l2
jmp continue
l2:
cmp str[1],'R'
je l3
jmp continue
l3:
cmp str[2],'E'
je l4
jmp continue
l4:
cmp str[3],'E'
je l5
jmp continue
l5:
cmp str[4],'N'
je l6
jmp continue
l6:
inc n
aaa
jmp continue
continue:
inc i
cmp i,29
jbe l1
jmp exit
exit:
mov ah,42h
mov al,2
mov bx,fh1
mov cx,00h
mov dx,00
int 21h
;------
mov ah,40h
mov bx,fh1
mov cx,1
lea dx,n
int 21h
;--------
mov ah,3eh
mov bx,fh1
int 21h
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler.
================================================== =
Q4) i will program , two charcter in file , save in new file .
Example (in the file ) : aali saew stuu frty 99 hello 6po.
Outpot (in new file ) : aali stuu 99 hello .
Code:
f1 db 'd:\filetest5.txt'
fh1 dw ?
str1 db 2 dup ' $'
str2 db ' $'
i dw ?
j dw ?
n dw -1
temp db 0
kom dw ?
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
mov ah,3dh
mov al,02
lea dx,f1
int 21h
mov fh1,ax
mov i,0
l1:
mov ah,42h
mov al,00
mov bx,fh1
mov cx,00h
mov dx,i
int 21h
mov ah,3fh
mov bx,fh1
mov cx,2
lea dx,str1
int 21h
inc n
mov di,0
lea si,str1[di]
lea di,str1[di+1]
cmpsb
je l2
jmp l3
l2: mov temp,1
jmp l3
l3:cmp str1[0],32
je l4
jmp continue
l4:cmp temp,1
je l5
jmp l6
l6:mov n,-1
jmp continue
l5:
mov di,i
sub di,n
mov j,di
add di,n
label:
mov ah,42h
mov al,00
mov bx,fh1
mov cx,00h
mov dx,j
int 21h
mov ah,3fh
mov bx,fh1
mov cx,2
lea dx,str2
int 21h
mov dl,str2
mov ah,02h
int 21h
inc j
cmp j,di
jbe label
mov n,-1
mov temp,0
jmp continue
continue:
inc i
cmp i,25
jbe l1
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler
Thanks All .
Iam Sorry For All ...
PLEASE HELP ME .
""EMERGENCY""
Emu8086
..........................................
|