Danh mục

Chương 4 - Lập trình bằng hợp ngữ với 8088

Số trang: 53      Loại file: pdf      Dung lượng: 450.33 KB      Lượt xem: 17      Lượt tải: 0    
10.10.2023

Phí tải xuống: 39,000 VND Tải xuống file đầy đủ (53 trang) 0
Xem trước 6 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu chương 4 - lập trình bằng hợp ngữ với 8088, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Chương 4 - Lập trình bằng hợp ngữ với 8088 Ch−¬ng 4 LËp tr×nh b»ng hîp ng÷ víi 8088 Më ®Çu Trong ch−¬ng tr−íc ta ®· giíi thiÖu kh¸ tØ mØ tËp lÖnh cña bé vi xö lý 8086/88.Trong ch−¬ng nμy ta sÏ giíi thiÖu c¸ch lËp tr×nh dïng hîp ng÷ trªn c¸c m¸y IBM PChoÆc t−¬ng thÝch víi IBM PC (tõ nay ®−îc gäi chung lμ IBM PC), v× ®ã lμ m«i tr−êngphæ th«ng vμ tiÖn lîi nhÊt ®Ó t¹o ra vμ thö nghiÖm c¸c ch−¬ng tr×nh viÕt b»ng hîpng÷. Nãi nh− vËy lμ v× a) vÒ phÇn cøng, m¸y IBM PC cã cÊu tróc kh¸ tiªu biÓu cñamét hÖ vi xö lý, b) vÒ phÇn mÒm, ta cã thÓ tËn dông c¸c ch−¬ng tr×nh so¹n th¶o v¨nb¶n hoÆc rÊt nhiÒu chøc n¨ng s½n cã kh¸c cña m¸y IBM PC cho c¸c ch−¬ng tr×nh cñata th«ng qua c¸c dÞch vô (c¸c ch−¬ng tr×nh con phôc vô ng¾t) cña c¸c ng¾t cña DOS(Disk Operating System, hÖ ®iÒu hμnh) vμ cña BIOS (Basic Input Output System, hÖthèng vμo ra c¬ së). Tuy nhiªn, mét hÖ thèng vi xö lý cô thÓ cã thÓ cã kÕt cÊu kh¸cmét m¸y vi tÝnh IBM PC, do ®ã trong khi lËp tr×nh cho c¸c hÖ thèng gi¶ ®Þnh kiÓunh− vËy, sÏ cã nh÷ng ch−¬ng tr×nh mμ ta kh«ng thÓ ®em thö nghiÖm trªn m¸y IBMPC ®−îc. C¸c ch−¬ng tr×nh nμy sÏ ®−îc ®¸nh dÊu cÈn thËn b»ng dÊu ®Ó ta kh«ng®em chóng cho ch¹y thö trªn IBM PC nh»m tr¸nh c¸c hËu qu¶ ®¸ng tiÕc cã thÓ x¶yra. Ta sÏ sö dông ch−¬ng tr×nh dÞch hîp ng÷ MASM 5.0 (Macro assembler phiªn b¶n5.0) cña Microsoft víi c¸ch ®Þnh nghÜa ®o¹n ®¬n gi¶n vμ chÕ ®é bé nhí nhá. §iÒu nμyhoμn toμn ®ñ ®Ó ®¸p øng c¸c yªu cÇu n¶y sinh khi ta thùc hiÖn c¸c ch−¬ng tr×nh ®¬ngi¶n ban ®Çu. Ta còng cã thÓ dïng ch−¬ng tr×nh dÞch hîp ng÷ TASM 4.0 (Turbo 97assembler phiªn b¶n 4.0) cña Borland International ®Ó thö nghiÖm c¸c ch−¬ng tr×nhhîp ng÷.1. Giíi thiÖu khung cña ch−¬ng tr×nh hîp ng÷1.1. Có ph¸p cña ch−¬ng tr×nh hîp ng÷ Tr−íc khi tr×nh bμy c¸ch lËp tr×nh b»ng hîp ng÷ ta ph¶i t×m hiÓu qua có ph¸pcña ng«n ng÷ nμy, bëi v× nh− ta ®· biÕt, ®Ó lμm viÖc ®−îc víi bÊt kú mét ng«n ng÷ lËptr×nh nμo ta còng cÇn n¾m ®−îc có ph¸p cña nã. Ch−¬ng tr×nh d−íi d¹ng hîp ng÷ mμta viÕt ra, nÕu ®óng vÒ có ph¸p, sÏ ®−îc ch−¬ng tr×nh dÞch hîp ng÷ MASM dÞch ra m·m¸y, tõ ch−¬ng tr×nh m· m¸y nμy ta cã thÓ t¹o ra c¸c ch−¬ng tr×nh ch¹y (thùc hiÖn)®−îc ngay b»ng c¸ch dÞch tiÕp ra c¸c tÖp cã ®u«i EXE hoÆc COM. Do vËy khi viÕt métch−¬ng tr×nh hîp ng÷ ta ph¶i tu©n thñ nh÷ng quy t¾c có ph¸p nhÊt ®Þnh ®Ó ch−¬ngtr×nh dÞch MASM cã thÓ hiÓu vμ dÞch ®−îc nã. Mét ch−¬ng tr×nh hîp ng÷ bao gåm c¸c dßng lÖnh, mét dßng lÖnh cã thÓ lμmét lÖnh thËt d−íi d¹ng ký hiÖu (symbolic), mμ ®«i khi cßn ®−îc gäi lμ d¹ng gîi nhí(mnemonic) cña bé vi xö lý, hoÆc mét h−íng dÉn cho ch−¬ng tr×nh dÞch (assemblerdirective). LÖnh gîi nhí sÏ ®−îc dÞch ra m· m¸y cßn h−íng dÉn cho ch−¬ng tr×nh dÞchth× kh«ng ®−îc dÞch, v× nã chØ cã t¸c dông chØ dÉn riªng cho ch−¬ng tr×nh dÞch thùchiÖn c«ng viÖc. Ta cã thÓ viÕt c¸c dßng lÖnh nμy b»ng ch÷ hoa hoÆc ch÷ th−êng vμchóng sÏ ®−îc coi lμ t−¬ng ®−¬ng v× ®èi víi c¸c dßng lÖnh ch−¬ng tr×nh dÞch kh«ngph©n biÖt kiÓu ch÷. Mét dßng lÖnh cña ch−¬ng tr×nh hîp ng÷ cã thÓ cã nh÷ng tr−êng sau (kh«ngnhÊt thiÕt ph¶i cã ®ñ hÕt tÊt c¶ c¸c tr−êng): Tªn M· lÖnh C¸c to¸n h¹ng Chó gi¶i Mét vÝ dô dßng lÖnh gîi nhí: TIEP: MOV AH,[BX][SI] ; n¹p vμo AH néi dung « ; nhí cã ®Þa chØ DS:(BX+SI) Trong vÝ dô trªn, t¹i tr−êng tªn ta cã nh·n TIEP, t¹i tr−êng m· lÖnh ta cãlÖnh MOV, t¹i tr−êng to¸n h¹ng ta cã c¸c thanh ghi AH, BX vμ SI vμ phÇn chógi¶i gåm cã c¸c dßng ; n¹p vμo AH néi dung « ; nhí cã ®Þa chØ DS:(BX+SI) Mét vÝ dô kh¸c lμ c¸c dßng lÖnh víi c¸c h−íng dÉn cho ch−¬ng tr×nh dÞch:98 MAIN PROC vμ MAIN ENDP Trong vÝ dô nμy, ë tr−êng tªn ta cã tªn thñ tôc lμ MAIN, ë tr−êng m· lÖnh tacã c¸c lÖnh gi¶ PROC vμ ENDP. §©y lμ c¸c lÖnh gi¶ dïng ®Ó b¾t ®Çu vμ kÕt thóc métthñ tôc cã tªn lμ MAIN. • Tr−êng tªn Tr−êng tªn chøa c¸c nh·n, tªn biÕn hoÆc tªn thñ tôc. C¸c tªn vμ nh·n nμy sÏ®−îc ch−¬ng tr×nh dÞch g¸n b»ng c¸c ®Þa chØ cô thÓ cña « nhí. Tªn vμ nh·n cã thÓ cã®é dμi 1..31 ký tù, kh«ng ®−îc chøa dÊu c¸ch vμ kh«ng ®−îc b¾t ®Çu b»ng sè. C¸c kýtù ®Æc biÖt kh¸c cã thÓ dïng trong tªn lμ ? . @ _ $ %. NÕu dÊu chÊm(.) ®−îc dïng th×nã ph¶i ®−îc ®Æt ë vÞ trÝ ®Çu tiªn cña tªn. Nãi chung ta cø ®Æt c¸c tªn b×nh th−êng vμcã ý nghÜa lμ sÏ Ýt khi bÞ sai. Mét nh·n th−êng kÕt thóc b»ng dÊu hai chÊm (:). • Tr−êng m· lÖnh Trong tr−êng m· lÖnh nãi chung sÏ cã c¸c lÖnh thËt hoÆc lÖnh gi¶. §èi víi c¸c lÖnh thËt th× tr−êng nμy chøa c¸c m· lÖnh gîi nhí. M· lÖnh nμy sÏ®−îc ch−¬ng tr×nh dÞch dÞch ra m· m¸y. §èi víi c¸c h−íng dÉn ch−¬ng tr×nh dÞch th× tr−êng nμy chøa c¸c lÖnh gi¶ vμsÏ kh«ng ®−îc dÞch ra m· m¸y. • Tr−êng to¸n h¹ng §èi víi mét lÖnh thËt th× tr−êng nμy chøa c¸c to¸n h¹ng cña lÖnh. Tuú theotõng lo¹i lÖnh mμ ta cã thÓ cã 0, 1 hoÆc 2 to¸n h¹ng trong mét lÖnh. Trong tr−êng hîpc¸c lÖnh víi 1 to¸n h¹ng th«ng th−êng ta cã to¸n h¹ng lμ ®Ých hoÆc gèc, cßn trongtr−êng hîp lÖnh víi 2 to¸n h¹ng th× ta cã 1 to¸n h¹ng lμ ®Ých vμ 1 to¸n h¹ng lμ gèc. §èi víi h−íng dÉn ch−¬ng tr×nh dÞch th× tr−êng nμy chøa c¸c th«ng tin kh¸cnhau liªn quan ®Õn c¸c lÖnh gi¶ cña h−íng dÉn. • Tr−êng chó gi¶i Lêi gi¶i thÝch ë tr−êng chó gi¶i ph¶i ®−îc b¾t ®Çu b»ng dÊu chÊm phÈy(;).Tr−êng chó gi¶i nμy ®−îc dμnh riªng cho ng−êi lËp tr×nh ®Ó ghi c¸c lêi gi¶i thÝch choc¸c lÖnh cña ch−¬ng tr×nh víi môc ®Ých gióp cho ng−êi ®äc ch−¬ng tr×nh dÔ hiÓu c¸cthao t¸c cña ch−¬ng tr×nh h¬n. Lêi chó gi¶i còng cã lîi ngay cho chÝnh t¸c gi¶ cña nãv× sau mét thêi gian kh«ng xem ®Õn ch−¬ng tr×nh th× mäi viÖc l¹i nh− míi. K ...

Tài liệu được xem nhiều: