- HÃY SỬA ĐỔI FILE BAI_5C1.ASM VÀ LƯU VỚI TÊN BAI_5C2.ASM ĐỂ CÓ TH...

6.

- Hãy sửa đổi file BAI_5C1.ASM và lưu với tên BAI_5C2.ASM để có thể thực

hiện được yêu cầu sau: copy nội dung của một tập tin bất kỳ sau đó paste sang

một vị trí khác. Gợi ý: các giải thuật nhập tên file từ bàn phím thì có sẵn, giải

thuật copy và paste như sau: trước hết phải mở tập tin đã có bằng hàm 3dh,

chúng ta định nghĩa sẵn đường dẫn chứa tên file cần mở, đọc nội dung của tập

tin vào vùng đệm bằng hàm 3fh, nhớ cất thẻ file; tạo tên tập tin mới bằng hàm

3ch, chúng ta định nghĩa sẵn đường dẫn chứa tên file cần tạo, nhớ cất thẻ file;

ghi nội dung của vùng đệm vào tập tin mới vừa tạo bằng hàm 40h; đóng hai tập

tin lại bằng hàm 3eh, tất cả các hàm này đều của int 21h.

- Hãy sửa đổi file BAI_5C2.ASM và lưu với tên BAI_5C3.ASM để có thể thực

một vị trí khác. Tên tập tin được copy và tập tin sau khi paste đều nhập từ bàn

phím. Gợi ý: hoàn toàn tương tự như BAI_5C2.ASM, nhưng chúng ta cần tận

dụng lại giải thuật nhập tên file từ bàn phím từ BAI_5B3.ASM.

- Hãy sửa đổi file BAI_5C3.ASM và lưu với tên BAI_5C4.ASM để có thể thực

hiện được yêu cầu sau: save as nội dung của một tập tin. Tên tập tin được copy

và save as đều nhập từ bàn phím. Gợi ý: bài này giống tương tự như

BAI_5C3.ASM.

hiện được yêu cầu sau: đọc nội dung của tập tin và sau đó nhập một chuỗi ký tự

bất kỳ và ghi tiếp theo sau nội dung của tập tin vừa mở. Tên tập tin nhập từ bàn

phím. Gợi ý: xem lại BAI_5C1.ASM, BAI_5B1.ASM, BAI_5B2.ASM và hàm

42h của int 21h (dời vị trí con trỏ tập tin).

- Hãy sửa đổi file BAI_5C4.ASM và lưu với tên BAI_5C5.ASM để có thể thực

hiện được yêu cầu sau: mã hóa nội dung của tập tin. Tên tập tin cần mà hóa

được nhập từ bàn phím. Gợi ý: nhập vào tên file cần mã hóa, mở một file đã có

bằng hàm 3dh; đọc nội dung của tập tin vào vùng đệm bằng hàm 3fh; mã hóa

vùng đệm đọc được bằng một trong các phép toán cộng, trừ, nhân, chia, and, or,

not …, vừa mã hóa vừa lưu nội dung trở lại vùng đệm; dời vị trí con trỏ tập tin

về đầu tập tin bằng hàm 42h; sau đó ghi nội dung của vùng đệm trở lại tập tin

ban đầu thông qua thẻ file của nó. Tất cả các hàm sử dụng ở đây đều của int

21h.

- Hãy sửa đổi file BAI_5C5.ASM và lưu với tên BAI_5C6.ASM để có thể thực

hiện được yêu cầu sau: giải mã nội dung của tập tin đã mã hóa. Tên tập tin cần

giải mã được nhập từ bàn phím. Gợi ý: giải mã là trường hợp ngược lại của mã

hóa, nếu mã hóa theo phương thức nào thì giải mã phải làm ngược lại phương

thức mã hoá đó.

dseg segment

tenfile db "d:\tt_asm\data.txt",0

thefile dw ?

buffer db 251 dup ('$')

dseg ends

cseg segment

assume cs:cseg, ds:dseg

begin: mov ax, dseg

mov ds, ax

mov ah, 3dh ; mo tap tin da co

lea dx, tenfile

mov al, 2 ; thuoc tinh tap tin

int 21h

mov thefile, ax ; cat the file

mov ah, 3fh ; doc noi dung file vao vung dem

mov bx, thefile

lea dx, buffer

mov cx, 250 ; so byte can doc tu file da mo

mov ah, 3eh ; dong tap tin

mov ah, 09h ; in noi dung cua file ra man hinh

mov ah,08h ; dung man hinh de xem ket qua

mov ah, 4ch ; thoat ve Dos

cseg ends

end begin