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
Bạn đang xem 6. - HƯỚNG DẪN TỔNG QUÁT VỀ LẬP TRÌNH HỆ THỐNG CƠ BẢN PHẦN 6 POT