Giáo trình Cơ bản về Hợp ngữ
Số trang: 108
Loại file: pdf
Dung lượng: 244.99 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Một chương trình hợp ngữ bao gồm một loạt các mệnh đề ( Statement) được viết liên tiếp nhau, mỗi mệnh đề được viết trên 1 dòng:Một mệnh đề có thể là: * Một lệnh ( instruction): được trình biên dịch ( Assembler_ ASM) chuyển thành mã máyMột chỉ dẫn của Assembler ( Assembler Directive): ASM không chuyển thành mã máy.
Nội dung trích xuất từ tài liệu:
Giáo trình " Cơ bản về Hợp ngữ"Ñeà cöông baøi giaûng HÔÏP NGÖÕ 1 Chöông 1 : CÔ BAÛN VEÀ HÔÏP NGÖÕ Trong chöông naøy seõ giôùi thieäu nhöõng nguyeân taéc chung ñeå taïo ra , dòch vaøchaïy moät chöông trình hôïp ngöõ treân maùy tính . Caáu truùc ngöõ phaùp cuûa leänh hôïp ngöõ trong giaùo trình naøy ñöôïc trình baøy theoMacro Assembler ( MASM) döïa treân CPU 8086 . 1.1 Cuù phaùp leänh hôïp ngöõ Moät chöông trình hôïp ngöõ bao goàm moät loaït caùc meänh ñeà ( statement) ñöôïcvieát lieân tieáp nhau , moãi meänh ñeà ñöôïc vieát treân 1 doøng . Moät meänh ñeà coù theå laø :• moät leänh ( instruction) : ñöôïc trình bieân dòch ( Assembler =ASM) chuyeån thaønh maõ maùy.• moät chæ daãn cuûa Assembler ( Assembler directive) : ASM khoâng chuyeån thaønh maõ maùy Caùc meänh ñeà cuûa ASM goàm 4 tröôøng : Name Operation Operand(s) Comment caùc tröôøng caùch nhau ít nhaát laø moät kyù töï troáng hoaëc moät kyù töï TAB ví duï leänh ñeà sau : START : MOV CX,5 ; khôæ taïo thanh ghi CX Sau ñaây laø moät chæ daãn cuûa ASM : MAIN PROC ; taïo moät thuû tuïc coù teân laø MAIN 1.1.1 Tröôøng Teân ( Name Field) Tröôøng teân ñöôïc duøng cho nhaõn leänh , teân thuû tuïc vaø teân bieán . ASM seõchuyeån teân thaønh ñòa chæ boä nhôù . Teân coù theå daøi töø 1 ñeán 31 kyù töï . Trong teân chöùa caùc kyù töï töø a-z , caùc soá vaøcaùc kyù töï ñaëc bieät sau : ? ,@ , _ , $ vaø daáu . Khoâng ñöôïc pheùp coù kyù töï troáng trongphaàn teân . Neáu trong teân coù kyù töï . thì noù phaûi laø kyù töï ñaàu tieân . Teân khoâng ñöôïcbaét ñaàu baèng moät soá . ASM khoâng phaân bieät giöõa kyù töï vieát thöôøng vaø vieát hoa . Sau ñaây laø caùc ví duï veà teân hôïp leä vaø khoâng hôïp leä trong ASM . Teân hoäp leä Teân khoâng hôïp leä COUNTER1 TWO WORDS @CHARACTER 2ABC SUM_OF_DIGITS A45.28 DONE? YOU&ME .TEST ADD-REPEATÑeà cöông baøi giaûng HÔÏP NGÖÕ 2 1.1.2 Tröôøng toaùn töû ( operation field) Ñoái vôùi 1 leänh tröôøng toaùn töû chöaù kyù hieäu ( sumbol) cuûa maõ pheùp toaùn (operation code = OPCODE) .ASM seõ chuyeån kyù hieäu maõ pheùp toaùn thaønh maõ maùy .Thoâng thöôøng kyù hieäu maõ pheùp toaùn moâ taû chöùc naêng cuûa pheùp toaùn , ví duï ADD ,SUB , INC , DEC , INT ... Ñoái vôùi chæ daãn cuûa ASM , tröôøng toaùn töû chöaù moät opcode giaû (pseudooperation code = pseudo-op) . ASM khoâng chuyeån pseudo-op thaønh maõ maùy maøhöôùng daãn ASM thöïc hieän moät vieäc gì ñoù ví duï taïo ra moät thuû tuïc , ñònh nghóa caùcbieán ... 1.1.3 Tröôøng caùc toaùn haïng ( operand(s) field) Trong moät leänh tröôøng toaùn haïng chæ ra caùc soá lieäu tham gia trong leänh ñoù.Moät leänh coù theå khoâng coù toaùn haïng , coù 1 hoaëc 2 toaùn haïng . Ví duï : NOP ; khoâng coù toaùn haïng INC AX ; 1 toaùn haïng ADD WORD1,2 ; 2 toaùn haïng coäng 2 vôùi noäi dung cuûa töø nhôù WORD1 Trong caùc leänh 2 toaùn haïng toaùn haïng ñaàu laø toaùn haïng ñích ( destinationoperand) . Toaùn haïng ñích thöôøng laøthanh ghi hoaëc vò trí nhôù duøng ñeå löu tröõ keátquaû . Toaùn haïng thöù hai laø toaùn haïng nguoàn . Toaùn haïng nguoàn thöôøng khoâng bò thayñoåi sau khi thöïc hieän leänh . Ñoái vôùi moät chæ daãn cuûa ASM , tröôøng toaùn haïng chöùa moät hoaëc nhieàu thoângtin maø ASM duøng ñeå thöïc thi chæ daãn . 1.1.4 Tröôøng chuù thích ( comment field) Tröôøng chuù thích laø moät tuyø choïn cuûa meänh ñeà trong ngoân ngöõ ASM . Laäptrình vieân duøng tröôøng chuù thích ñeå thuyeát minh veà caâu leänh . Ñieàu naøy laø caàn thieátvì ngoân ngöõ ASM laø ngoân ngöõ caáp thaáp ( low level) vì vaäy seõ raát khoù hieåu chöôngtrình neáu noù khoâng ñöôïc chuù thích moät caùch ñaày ñuû vaø roû raøng . Tuy nhieân khoâng neâncoù chuù thích ñoái vôùi moïi doøng cuûa chöông trình , keå caû nnhöõng leänh maø yù nghóa cuûanoù ñaõ raát roû raøng nhö : NOP ; khoâng laøm chi caû Ngöôøi ta duøng daáu chaám phaåy (;) ñeå baét ñaàu tröôøng chuù thích . ASM cuõng cho pheùp duøng toaøn boä moät doøng cho chuù thích ñeå taïo moät khoaûngtroáng ngaên caùch caùc phaàn khaùc nhau cuaû chöông trình ,ví duï : ; ; khôûi taïo caùc thanh ghi ; MOV AX,0 MOV ...
Nội dung trích xuất từ tài liệu:
Giáo trình " Cơ bản về Hợp ngữ"Ñeà cöông baøi giaûng HÔÏP NGÖÕ 1 Chöông 1 : CÔ BAÛN VEÀ HÔÏP NGÖÕ Trong chöông naøy seõ giôùi thieäu nhöõng nguyeân taéc chung ñeå taïo ra , dòch vaøchaïy moät chöông trình hôïp ngöõ treân maùy tính . Caáu truùc ngöõ phaùp cuûa leänh hôïp ngöõ trong giaùo trình naøy ñöôïc trình baøy theoMacro Assembler ( MASM) döïa treân CPU 8086 . 1.1 Cuù phaùp leänh hôïp ngöõ Moät chöông trình hôïp ngöõ bao goàm moät loaït caùc meänh ñeà ( statement) ñöôïcvieát lieân tieáp nhau , moãi meänh ñeà ñöôïc vieát treân 1 doøng . Moät meänh ñeà coù theå laø :• moät leänh ( instruction) : ñöôïc trình bieân dòch ( Assembler =ASM) chuyeån thaønh maõ maùy.• moät chæ daãn cuûa Assembler ( Assembler directive) : ASM khoâng chuyeån thaønh maõ maùy Caùc meänh ñeà cuûa ASM goàm 4 tröôøng : Name Operation Operand(s) Comment caùc tröôøng caùch nhau ít nhaát laø moät kyù töï troáng hoaëc moät kyù töï TAB ví duï leänh ñeà sau : START : MOV CX,5 ; khôæ taïo thanh ghi CX Sau ñaây laø moät chæ daãn cuûa ASM : MAIN PROC ; taïo moät thuû tuïc coù teân laø MAIN 1.1.1 Tröôøng Teân ( Name Field) Tröôøng teân ñöôïc duøng cho nhaõn leänh , teân thuû tuïc vaø teân bieán . ASM seõchuyeån teân thaønh ñòa chæ boä nhôù . Teân coù theå daøi töø 1 ñeán 31 kyù töï . Trong teân chöùa caùc kyù töï töø a-z , caùc soá vaøcaùc kyù töï ñaëc bieät sau : ? ,@ , _ , $ vaø daáu . Khoâng ñöôïc pheùp coù kyù töï troáng trongphaàn teân . Neáu trong teân coù kyù töï . thì noù phaûi laø kyù töï ñaàu tieân . Teân khoâng ñöôïcbaét ñaàu baèng moät soá . ASM khoâng phaân bieät giöõa kyù töï vieát thöôøng vaø vieát hoa . Sau ñaây laø caùc ví duï veà teân hôïp leä vaø khoâng hôïp leä trong ASM . Teân hoäp leä Teân khoâng hôïp leä COUNTER1 TWO WORDS @CHARACTER 2ABC SUM_OF_DIGITS A45.28 DONE? YOU&ME .TEST ADD-REPEATÑeà cöông baøi giaûng HÔÏP NGÖÕ 2 1.1.2 Tröôøng toaùn töû ( operation field) Ñoái vôùi 1 leänh tröôøng toaùn töû chöaù kyù hieäu ( sumbol) cuûa maõ pheùp toaùn (operation code = OPCODE) .ASM seõ chuyeån kyù hieäu maõ pheùp toaùn thaønh maõ maùy .Thoâng thöôøng kyù hieäu maõ pheùp toaùn moâ taû chöùc naêng cuûa pheùp toaùn , ví duï ADD ,SUB , INC , DEC , INT ... Ñoái vôùi chæ daãn cuûa ASM , tröôøng toaùn töû chöaù moät opcode giaû (pseudooperation code = pseudo-op) . ASM khoâng chuyeån pseudo-op thaønh maõ maùy maøhöôùng daãn ASM thöïc hieän moät vieäc gì ñoù ví duï taïo ra moät thuû tuïc , ñònh nghóa caùcbieán ... 1.1.3 Tröôøng caùc toaùn haïng ( operand(s) field) Trong moät leänh tröôøng toaùn haïng chæ ra caùc soá lieäu tham gia trong leänh ñoù.Moät leänh coù theå khoâng coù toaùn haïng , coù 1 hoaëc 2 toaùn haïng . Ví duï : NOP ; khoâng coù toaùn haïng INC AX ; 1 toaùn haïng ADD WORD1,2 ; 2 toaùn haïng coäng 2 vôùi noäi dung cuûa töø nhôù WORD1 Trong caùc leänh 2 toaùn haïng toaùn haïng ñaàu laø toaùn haïng ñích ( destinationoperand) . Toaùn haïng ñích thöôøng laøthanh ghi hoaëc vò trí nhôù duøng ñeå löu tröõ keátquaû . Toaùn haïng thöù hai laø toaùn haïng nguoàn . Toaùn haïng nguoàn thöôøng khoâng bò thayñoåi sau khi thöïc hieän leänh . Ñoái vôùi moät chæ daãn cuûa ASM , tröôøng toaùn haïng chöùa moät hoaëc nhieàu thoângtin maø ASM duøng ñeå thöïc thi chæ daãn . 1.1.4 Tröôøng chuù thích ( comment field) Tröôøng chuù thích laø moät tuyø choïn cuûa meänh ñeà trong ngoân ngöõ ASM . Laäptrình vieân duøng tröôøng chuù thích ñeå thuyeát minh veà caâu leänh . Ñieàu naøy laø caàn thieátvì ngoân ngöõ ASM laø ngoân ngöõ caáp thaáp ( low level) vì vaäy seõ raát khoù hieåu chöôngtrình neáu noù khoâng ñöôïc chuù thích moät caùch ñaày ñuû vaø roû raøng . Tuy nhieân khoâng neâncoù chuù thích ñoái vôùi moïi doøng cuûa chöông trình , keå caû nnhöõng leänh maø yù nghóa cuûanoù ñaõ raát roû raøng nhö : NOP ; khoâng laøm chi caû Ngöôøi ta duøng daáu chaám phaåy (;) ñeå baét ñaàu tröôøng chuù thích . ASM cuõng cho pheùp duøng toaøn boä moät doøng cho chuù thích ñeå taïo moät khoaûngtroáng ngaên caùch caùc phaàn khaùc nhau cuaû chöông trình ,ví duï : ; ; khôûi taïo caùc thanh ghi ; MOV AX,0 MOV ...
Tìm kiếm theo từ khóa liên quan:
kỹ thuật lập trình hợp ngữ cú pháp lệnh Hợp ngữ công nghệ thông tin chương trình hợp ngữGợi ý tài liệu liên quan:
-
52 trang 417 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 301 0 0 -
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 287 0 0 -
74 trang 283 0 0
-
96 trang 283 0 0
-
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 270 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 268 1 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 260 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 253 0 0 -
Tài liệu hướng dẫn sử dụng thư điện tử tài nguyên và môi trường
72 trang 251 0 0