Chương 5: NGN XÊP VÀTHỤ TÚC
5.3 Thụ túc ( Procedure)
Trong chương 3 chúng ta đã đeă cp đên ý tưởng lp trình top-down . Ý tưởng này cĩ nghĩa là mt bài tốn nguyeđn thuỷ được chia thành các bài tốn con mà chúng d giại quyêt hơn bài tốn nguyeđn thuỷ . Trong các ngođn ngữ câp cao người ta dùng thụ túc đeơ giại các bài tốn con , và chúng ta cũng làm như vy trong hợp ngữ . Như vy là mt chương trình hợp ngữ cĩ theơ được xađy dựng baỉng các thụ túc .
Mt thụ túc gĩi là thụ túc chính sẽ chứa ni dung chụ yêu cụa chương trình . Đeơ thực hin mt cođng vic nào đĩ , thụ túc chính gĩi ( CALL) mt thụ túc con . Thụ túc con cũng cĩ theơ gĩi mt thụ túc con khác .
Khi mt thụ túc gĩi mt thụ túc khác , đieău khieơn được chuyeơn tới ( control transfer) thụ túc được gĩi và các lnh cụa thụ túc được gĩi sẽ được thi hành . Sau khi thi hành hêt các lnh trong nĩ , thụ túc được gĩi sẽ trạ đieău khieơn ( return control) cho thụ túc gĩi nĩ . Trong ngođn ngữ câp cao , lp trình vieđn khođng biêt và khođng theơ biêt cơ câu cụa vic chuyeơn và trạ đieău khieơn giữa thụ túc chính và thụ túc con. Nhưng trong hợp ngữ cĩ theơ thây rỏ cơ câu này ( xem phaăn 5.4) .
Khai báo thụ túc
Cú pháp cụa lnh táo mt thụ túc như sau : name PROC type
; body of procedure RET
name ENDP
Name do người dùng định nghĩa là teđn cụa thụ túc .
Chương 5 : Ngn xêp và thụ túc 63 NEAR cĩ nghĩa là thụ túc được gĩi naỉm cùng mt đốn với thụ túc gĩi . FAR cĩ nghĩa là thụ túc được gĩi và thụ túc gĩi naỉm khác đĩan . Trong phaăn này chúng ta sẽ chư mođ tạ thụ túc NEAR .
Lnh RET trạ đieău khieơn cho thụ túc gĩi . Tât cạ các thụ túc phại kêt thúc bởi RET trừ thụ túc chính .
Chú thích cho thụ túc : Đeơ người đĩc d hieơu thụ túc người ta thường sử dúng chú thích cho thụ túc dưới dáng sau :
; ( mođ tạ các cođng vic mà thụ túc thi hành)
; input: ( mođ tạ các tham sơ cĩ tham gia trong chương trình ) ; output : ( cho biêt kêt qụa sau khi cháy thụ túc )
; uses : ( lit keđ danh sách các thụ túc mà nĩ gĩi )
Hình 5-1 : Gĩi thụ túc và trở veă