Tải bản đầy đủ (.pdf) (5 trang)

Nguyên tác và quy trình cài đặt các ứng dụng trong windows p7 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (220.14 KB, 5 trang )

org 100h
;để dành 256 byte đầu tiên cho PSP (Program
Segment Prefix)
Đặt tất cả các dữ liệu lên đầu chương trình, tất nhiên
trước dữ liệu phải có 1 lệnh nhảy(JMP) để nhảy qua
vùng dữ liệu.
Ví dụ:
entry: jmp our_prog
source db 10,20,30,40
dest db 4 dup(?)
our_prog proc near
;các lệnh của chương trình con our_prog
our_prog endp

4. Xác định tất cả các procedure là near (ngầm định).
Cuối chương trình sau chỉ thị Assembler END phải có
nhãn của lệnh đầu tiên của chương trình. Ví dụ:
end entry

- Các quy tắc tạo các mô-đun phụ của file ‘.com’
Cũng tuân theo các quy tắc trên, nhưng cần lưu ý:
1. Đặt tên cho Segment ở mô-đun phụ giống tên
Segment ở mô-đun chính, ví dụ tên Cseg dùng ở cả
mô-đun chính lẫn phụ.
2. Cũng giống như ở file ‘.exe’, sau chỉ thị Assembler
END ở cuối mô-đun phụ, không được viết nhãn.
- Mẫu cho file dạng ‘.com’
Page ;trang
Title ;điền các tiêu đề ở đây
Public ;ta để dòng tiêu đề ở đây nếu cần
Cseg Segment para public ‘code’


ASSUME
CS:Cseg,DS:Deg[,ES:Cseg][,SS:Cseg]
Org 100h
Entry: Jmp Start
;vùng data của chương trình
Start Proc [Near];Near là ngầm định
;các lệnh của thủ tục Start
Ret ;(trở về chương trình gọi, hoặc DOS, hoặc
Debug)
Start Endp
Cseg Ends
End Entry
- Mẫu cho 1 mô-đun phụ của file ‘.com’
Page ;trang
Title ;ta để dòng tiêu đề ở đây
Public Pname ;(khai báo public cho các biến ở đây
nếu có)
Cseg Segment para public ‘code’
ASSUME CS:Cseg,DS:Deg
Jmp PName ;nhảy qua vùng data của
chương trình
;vùng data của chương trình
PName Proc Near
;các lệnh của thủ tục Pname
Ret ;trở lại chương trình gọi
PName Endp
Cseg Ends
END

c. Ưu điểm và nhược điểm của file dạng ‘.com’ so với file

dạng ‘.exe’
- Ưu điểm
1. File ‘.com’ ngắn hơn hẳn so với file dạng ‘.exe’
2. File ‘.com’ nói chung được nạp vào bộ nhớ nhanh
hơn file ‘.exe’
3. File ‘.com’ dễ viết hơn vì không phải khởi tạo các
thanh ghi SS, DS, ES
4. Các chương trình thường trú phải viết dưới dạng
‘.com’
- Nhược điểm
1. Toàn bộ chương trình ‘.com’ kể cả mã lệnh lẫn dữ
liệu và bộ nhớ cho Stack không thể dài hơn 64KB
2. Chương trình ‘.com’ yêu cầu phương pháp viết
chương trình chặt chẽ hơn
3. Chỉ sử dụng có một Segment cho nên không có sự
tách biệt hoàn toàn giữa các lệnh và số liệu.
4. Không truy nhập được các thủ tục hoặc số liệu ở các
Segment khác, do đó rất khó sử dụng các mô-đun
được người sử dụng khác xây dựng, nếu các mô-đun
này đặt tên cho Segment mà chúng dùng khác tên
Segment của ta.

Chương trình này thực hiện nhiệm vụ in ra mà hình
chữ ‘A’
- Xây dựng chương trình dạng ‘.exe’

;BTEXE.ASM
Data_seg Segment
Data1 db ‘A’ ;41h
Data_seg ends

Stack Segment Stack
db 64 dup(‘stack’) ;chuẩn bị sẵn 64 x 5 =320 byte
cho bộ nhớ Stack
Stack Ends
Code Segment
Assume Cs:Code,Ds:Data_seg,Ss:Stack
Entry:
Mov AX,Data_seg
Mov DS,AX
Mov AH,02
Mov DL,Data1
Int 21h
Mov AH,4ch
Int 21h
Code Ends
end Entry
- Xây dựng chương trình dạng ‘.com’
;BTCOM.ASM
Seg_a Segment
Assume cs:seg_a,ds:seg_a
Org 100h
Start: Jmp Begin
Data1 DB ‘A’;41h
Begin:
Mov AH,02
Mov DL,Data1
Int 21h
Int 20h
Seg_a Ends
End Start


- Lệnh Mov.

×