intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Asfaf AfaFaf | Ngày: | Loại File: PDF | Số trang:5

77
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ụ.

Chủ đề:
Lưu

Nội dung Text: Nguyên tác và quy trình cài đặt các ứng dụng trong windows p7

  1. 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. 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’
  3. 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
  4. 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 StackSegment Stack db 64 dup(‘stack’) ;chuẩn bị sẵn 64 x 5 =320 byte cho bộ nhớ Stack StackEnds Code Segment Assume Cs:Code,Ds:Data_seg,Ss:Stack Entry:
  5. 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.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
13=>1