0 ໂຫວດ
++1.ຄວາມຮູ້ເບື້ອງຕົ້ນກ່ຽວກັບພາສາAssembly++

ຄວາມຮູ້ເບື້ອງຕົ້ນກ່ຽວກັບພາສາAssembly

ພາສາແອສແຊມບຣີເປັນພາສາທີ່ຈະໄຂຄວາມລັບຂອງຮາດແວແລະຊ໊ອບແວ
ພາສາແອສແຊມບຣີຈະສອນໃຫ້ເຮົາຮູ້ວ່າຮາດແວຂອງຄອມພິວເຕີ້ແລະລະບົບປະຕິບັດການເຮັດວຽກນຳກັນໄດ້ຈັ່ງໃດ໋ແລະໂປຮແກຮມປະຍຸກຕິດຕໍ່ສື່ສານ
ຈັ່ງໃດ໋ກັບລະບົບປະຕິບັດການເພື່ອທີ່ຈະເຂົ້າໃຈການເຮັດວຽກຂອງຄອມພີວເຕີແລະລະບົບປະຕິບັດການຢ່າງເຂົ້າໃຈທ່ອງແທ້ ສິ່ງທີ່ເຮົາຕ້ອງສຶກສາໃຫ້ເຂົ້າໃຈຄືການເຮັດວຽກຂອງຊ໊ອບແວໃນລະດັບຕ່າງໆການເຮັດວຽກລະດັບຫນື່ງຄືລະດັບຂອງຂອງໂປຮແກຮມປະຍຸກ
ເຊິ່ງໂປຮແກຮມຈະເຮັດວຽກສະລັບກັບDos ສ່ວນລະດັບອື່ນໆຄືລະດັບທີ່ກ່ຽວຂ້ອງກັບພາສາລະດັບສູງ ເຊິ່ງຄຳສັ່ງແຕ່ລະຄຳສັ່ງໃນພາສາລະດັບສູງ
ຈະສາມາດຂະຫຍາຍໃຫ້ເປັນຄຳສັ່ງໃນພາສາເຄື່ອງໄດ້ຫລາຍຄຳສັ່ງ ທີ່ລະດັບຕ່ຳລົງມາເຊິ່ງໃກ້ກັບພາສາເຄື່ອງ ຄຳສັ່ງແຕ່ລະຄຳສັ່ງສາມາດສັ່ງງານ
ຫນ່ວຍປະມວນຜົນກາງໄດ້ໂດຍຕົງຄືກັບການຕິດຕໍ່ສື່ສານລະຫວ່າງໂປຮແກຮມ Dos

ພາສາແອສແຊມບຣີ່ຊ່ວຍເຮັດໃຫ້ເຮົາສາມາດເຂົ້າໃຈການເຮັດວຽກພາສາລະດັບຕ່ຳຫລາຍຂື້ນ ສາມາດເຂົ້າໃຈຄວາມກ່ຽວຂ້ອງລະຫວ່າງ
ຮາດແວແລະຊ໊ອບແວ ໃນບົດຕໍ່ໆໄປເຮົາຈະເຮັດຄວາມເຂົ້າໃຈກ່ຽວກັບຄອມພິວເຕີ້ຮາດແວ,ພາສາເຄື່ອງ,ຄວາມເຂົ້າໃຈເລື່ອງລະບົບປະຕິບັດການ
ແລະໂຄງສ້າງການຂຽນໂປຮແກຮມ

ພາສາແອສແຊມບຣີ່ເປັນພາສາຄອມພິວເຕີ້ທີ່ມີຄວາມສຳພັນແບບຫນື່ງຕໍ່ຫນື່ງຂື້ນກັບປະໂຫຍກຂອງຄ່ຳສັ່ງແລະພາສາເຄື່ອງ ຄອມພິວເຕີ້ແຕ່ລະຊະນິດ
ຕ່າງກໍ່ມີສະຖາປັດຕະຍາກຳການແຕກຕ່າງກັນໄປດັ່ງນັ້ນພາສາແອສແຊມບຣີ່ທີ່ໃຊ້ສຳລັບຄອມພິວເຕີ້ແຕ່ລະຊະນິດກໍ່ຕ້ອງແຕກຕ່າງກັນໄປ
ຕົວແປພາສາແອສແຊມບຣີ່ຄືໂປຮແກຮມທີ່ແປງໂປຮແກຮມລະຫັດຕົ້ນສະບັບ(Source code) ໄປເປັນພາສາເຄື່ອງ
ໃນນີ້ເຮົາຈະອ້າງອີງເຖິງຕົວແປພາສາແອສແຊມບຣີ່ທີ່ຈະແປຊຸດຄ່ຳສັ່ງສຳຫລັບເຄື່ອງໄອບີເອັມຄອມເພ໊ກ ເຊິ່ງທັງຫມົດໃຊ້ຫນ່ວຍປະມວນຜົນກາງຕະກຸນ
ອິນເທລ ເລີ່ມຈາກອິນເທລເບີ 8088 ເຖິງ 80486 ໂປຮແກຮມທີ່ຈະຂຽນຂື້ນໃນບົດຕໍ່ໄປຂ້າງຫນ້ານີ້ສາມາດດຳເນີນການໄດ້ພາຍໃຕ້ຮະບົບປະຕິບັດການ
MS DOS ເວີ່ຊັ້ນສາມຂື້ນໄປ ຕົວແປພາສາແອສແຊມບຣີ່ທີ່ຮູ້ຈັກກັນດີສຳລັບເຄື່ອງໄອບີເອັມພີຊີມີຢູ່ 2 ຕົວແປຄື   MASM (Microsoft Assembler)
ແລະ TASM (Borland Turbo Assembler)

ພາສາແອດເເຊມບລີຄືຊຸດຄຳສັ່ງທີ່ສະເພາະເຈາະຈົ່ງສຳລັບຄອມພິວເຕີແຕ່ລະຊະນິດຊຶ່ງມັນຄວບຄຸມລະຫວ່າງຄຳສັ່ງສັນຍະລັກແລະຄຳສັ່ງພາສາເຄື່ອງ ຕົວແປພາສາແອດເເຊມບລີຄືໂປແກມທີ່ຈະກໍ່ການແປພາສາທີ່ຂຽນດ້ວຍພາສາແອດເເຊມບລີໄປເປັນພາສາເຄື່ອງຊຶ່ງຖືກດຳເນີນການໂດຍຄອມພິວເຕີ ຄອມພິວເຕີແຕ່ລະຊະນິດມີພາສາແອດເເຊມບລີແຕກຕ່າງກັນອອກໄປເພາະຄອມພິວເຕີແຕ່ລະຊະນິດຖືກອອກແບບມາແຕກຕ່າງກັນ

ຮູບ1.1 ສະແດງຂະບວນການແປພາສາໃນລະດັບຕ່າງໆໄປເປັນພາສາເຄື່ອງ

ໂປແກມທີ່ຂຽນຂື້ນດ້ວຍພາສາແອດແຊມບລີ ຈະເປັນໂປແກຣມທີ່ຂຽນຄ່ອນຂ້າງຍາວກວ່າໂປແກມທີ່ຂຽນດ້ວຍພາສາລະດັບສູງ ແຕ່ເມື່ອຄອມພິວເຕີນຳມາເຮັດວຽກຈະເຮັດວຽກໄດ້ໄວກວ່າໂປແກມທີ່ຂຽນດ້ວຍພາສາລະດັບສູງ ໃຊ້ຫນ່ວຍຄວາມຈຳນ້ອຍກວ່າເມື່ອປຽບທຽບເວລາໃນການກໍ່ການປະມວນຜົນລະຫວ່າງພາສາລະດັບສູງແລະລະດັບຕ່ຳ ຈະເປັນໄປຕາມຮູບທີ່ 1.1
ຄອມພິວເຕີທຸກເຄື່ອງຖືກອອກແບບມາເພື່ອໃຫ້ສາມາດເຮັດວຽກໄດ້ຕາມຂອບເຂດຂອງຊຸດຄຳສັ່ງ ຊຶ່ງຄອມພິວເຕີຈະສາມາດເຮັດວຽກໄດ້ ຄຳສັ່ງແຕ່ລະຄຳສັ່ງ ເຊັ່ນຄຳສັ່ງໃຫ້ບວກຫລືລົບ ຈະຂຶ້ນຢູ່ກັບຄຳສັ່ງຂອງພາສາເຄື່ອງ ເພາະຄຳສັ່ງໃນພາສາເຄື່ອງມີຄວາມສາມາດທີ່ຈຳກັດໃນເຄື່ອງຄອມພິວເຕີທີ່ໃຊ້ຊີພີຍູເບີລ໌ 8086/8088 ຄຳສັ່ງທີ່ໃຊ້ໃນການສັ່ງໃຫ້ບວກ ລົບ ຄູນ ຫານ ຕົວເລກທີ່ເປັນຈຳນວນເຕັມໄດ້ ແຕ່ບໍ່ສາມາດຫາຄ່າຮາກທີ່ສອງໄດ້ ຫລືຕົວເລກທີ່ເປັນຈຳນວນຈິງໄດ້ ພາສາເຄື່ອງບໍ່ສະໜັບສະໜູນການດຳເນີນການທາງຄະນິດສາດໄດ້ໂດຍກົງທັງໝົດ ການແກ້ບັນຫາເຫລົ່ານີ້ຈະຕ້ອງເຮັດຢ່າງມີຂັ້ນຕອນມີລຳດັບຂັ້ນຈຶ່ງຈະສາມາດແກ້ບັນຫາໄດ້
ໃນຄອມພິວເຕີເຄື່ອງໜຶ່ງໆຈະມີຫນ່ວຍເອີ້ນຕົວປະມວນຜົນ (Processor) ຊຶ່ງເປັນອິລິກທໍນິກສ໌ຊິບທີ່ສຳຄັນທີ່ສຸດໃນຄອມພິວເຕີ ຊິບຕົວນີ້ມີໂຄງສ້າງທີ່ຊັບຊ້ອນ ສາມາດທີ່ຈະກໍ່ການປະມວນຜົນຕາມຄຳສັ່ງໄດ້ຕາມທີ່ນັກຂຽນໂປແກມຕ້ອງການ ເຄື່ອງຄອມພິວເຕີຕະກູນ ໄອບີເອັມ ພີຊີຈະໃຊ້ຕົວປະມວນຜົນ ຈາກຄວາມສາມາດນ້ອຍໄປຫາຄວາມສາມາດຫລາຍ
ຄຳສັ່ງທີ່ຕົວປະມວນຜົນສາມາດປະມວນຜົນໄດ້ ເອີ້ນວ່າເປັນຊຸດຄຳສັ່ງ (Instruction set) ໃນຕາລາງທີ່ 1.1 ສະແດງຂະໜາດຄຳສັ່ງຂອງຕົວປະມວນຜົນໃນຕະກູນອິນເທລ 86 ຊຶ່ງເປັນທີ່ຮູ້ຈັກກັນດີ ໄດ້ແກ່ 80486 ມີຊຸດຄຳສັ່ງພື້ນຖານ 206 ຄຳສັ່ງ ເພັນທຽມມີຊຸດຄຳສັ່ງ 216 ຄຳສັ່ງ ແລະໃນເພັນທຽມທູ ຈະເພີ່ມຊຸດຄຳສັ່ງໄປອີກ 57 ຄຳສັ່ງ ເພື່ອໃຊ້ຈັດການກັບການປະມວນຜົນຂໍ້ມູນແບບວິດີໂອ ສຽງ ແລະກາຟິກ ໃຫ້ມີປະສິດທິພາບເພີ່ມຂຶ້ນ ເພັນທຽມທຮີ ຈະເພີ່ມຊຸດຄຳສັ່ງຂຶ້ນອີກ 71 ຄຳສັ່ງ ເພື່ອຊ່ວຍໃຫ້ການປະມວນຜົນດ້ານພາບ ພາບ 3 ມິຕິ ລະບົບສຽງ ແລະຄວາມສາມາດໃນການຈົດຈຳສຽງ (ມີຊຸດຄຳສັ່ງສຳລັບຈັດການ Floating point 50 ຄຳສັ່ງ ຈັດການວິດີໂອ ອໍດິໂອ ອິມເມດ 12 ຄຳສັ່ງ ບໍລິຫານຫນ່ວຍຄວາມຈຳແຄດ 8 ຄຳສັ່ງ)

    ຕົວປະມວນຜົນ                           ຂະຫນາດຊຸດຄຳສັ່ງ
    (Processor)                 (Size of instruction set)
    8088/8086                                     115
    80186                                              126
    80286                                              142
    80386                                              200  
    80486                                              206
    ເພັນທຽມ                                            216
    ເພັນທຽມ2                                         273
    ເພັນທຽມ3                                         343

ຕາຕະລາງ1.1 ສະແດງຊຸດຄຳສັ່ງໃນຕົວປະມວນຜົນຕະກຸນອິນເທລ 86

ໃນການຂຽນໂປແກຣມພາສາລະດັບສູງ ຜູ້ຂຽນໂປແກຣມຈະຕ້ອງເຂົ້າໃຈຊຸດຄຳສັ່ງຈຶ່ງຈະສາມາດຂຽນໂປແກຣມໃຫ້ເຮັດວຽກຕາມທີ່ຕ້ອງການໄດ້ ແຕ່ການຂຽນໂປແກຣມພາສາແອດແຊມບລີ ຜູ້ຂຽນໂປແກມນອກຈາກຈະຕ້ອງເຂົ້າໃຈຊຸດຄຳສັ່ງແລ້ວ ຈະຕ້ອງເຂົ້າໃຈເຖິງສະຖາປັດຕະຍະກຳຂອງຄອມພິວເຕີພ້ອມຈະຕ້ອງຮູ້ວ່າຂໍ້ມູນຈະເກັບໃນລັກສະນະໃດ ຕົວປະມວນຜົນຈັດການກັບຂໍ້ມູນຢ່າງໃດ
ສະນັ້ນໃນການຂຽນໂປແກມພາສາແອດແຊມບລີ ຈະຕ້ອງມີຄວາມເຂົ້າໃຈກ່ຽວກັບຕົວປະມວນຜົນທີ່ຈະໃຊ້ງານ ພາສາແອດແຊມບລີທີ່ໃຊ້ກັບເຄື່ອງຄອມພິວເຕີພີຊີຈະແຕກຕ່າງກັບພາສາແອດແຊມບລີທີ່ໃຊ້ກັບເຄື່ອງຄອມພິວເຕີແມກອິນທອດ ເພາະເຄື່ອງຄອມພິວເຕີພີຊີໃຊ້ຕົວປະມວນຜົນແຕກຕ່າງຈາກເຄື່ອງຄອມພິວເຕີແມກອິນທອດ
ເຫດຜົນທີ່ເປັນຫຍັງຈຶ່ງຕ້ອງຂຽນໂປແກມດ້ວຍພາສາແອດແຊມບລີທັງໆ ທີ່ຄ່ອນຂ້າງຈະຍາກເພາະຕ້ອງການໃຫ້ໂປແກມເຮັດວຽກໄດ້ວ່ອງໄວຂຶ້ນ ເພີ່ມຄວາມສາມາດຂອງໂປແກມ ໃນການໃຊ້ງານແທ້ໆ ບໍ່ນິຍົມຂຽນດ້ວຍພາສາແອດແຊມບລີທັງໝົດຈະເປັນການຂຽນໂປແກມແບບປະສົມລະຫວ່າງພາສາລະດັບສູງກັບພາສາແອດແຊມບລີ ເຊັ່ນ ອອກແບບໂປແກມເພື່ອເບິ່ງເວລາຂະບວນການຜະລິດໃນແທ້ໆແລະພິມລາຍງານເປັນຊົ່ວໂມງຂອງການຜະລິດເຮົາສາມາດຂຽນໂປແກມເພື່ອທີ່
ຮັບຮູ້ການປ່ຽນແປງຂອງເວລາໄດ້ໂດຍຂຽນພາສາແອດແຊມບລີຄວບຄຸມເຄື່ອງຈັບເວລາ ແລະລາຍງານການປ່ຽນແປງເວລາຂຽນດ້ວຍພາສາລະດັບສູງ ຄອມໄພ໌ເລີພາສາລະດັບສູງສ່ວນໃຫຍ່ອອກແບບມາເພື່ອທີ່ຈະສາມາດເອີ້ນໂປແກມຍ່ອຍທີ່ຂຽນດ້ວຍພາສາແອດແຊມບລີໄດ້
ນອກຈາກນັ້ນພາສາແອດແຊມບລີຍັງຈຳເປັນໃນກໍລະນີທີ່ໂປແກຣມມີການຕິດຕໍ່ໃຊ້ງານຮາດແວຫລືພ໊ອດຕ່າງໆຢ່າງຫລວງຫລາຍເຊັ່ນຫນ່ວຍຄວາມຈຳ
ຂອງຈໍພາບ ຄີຍ໌ບອລ໌ດດິດກ໌ໄດລ໌ເປັນຕົ້ນຊຶ່ງຂໍ້ປຽບທຽບເຫລົ່ານີ້ເອງທີ່ຍັງເຮັດໃຫ້ພາສາແອດແຊມບລີເປັນພາສາທີ່ຍັງມີການໃຊ້ງານຢູ່ຕໍ່ໄປຈົນເຖິງທຸກມື້ນີ້.
credit:devsmudger
ໄດ້ຖາມ ທັນວາ 1, 2016 ໃນ Computer Zone ໂດຍ No Noy Seebounhueng (1,560 ຄະແນນ)
ຖືກແກ້ໄຂ ທັນວາ 8, 2016 ໂດຍ LoungOS

ກະລຸນາ ເຂົ້າສູ່ລະບົບ ຫຼື ສະໝັກສະມາຊິກ ເພື່ອຕອບຄຳຖາມນີ້.

ຍິນດີຕ້ອນຮັບ ທ່ານເຂົ້າສູ່ ລາວຊ້າາາາາາ Laozaa dot com ສັງຄົມອອນລາຍ ຂອງປວງຊົນລາວທັງຊາດ ພົບກັບ ຄວາມຫນ້າຮັກ ແລະ ສົດໄສ ຂອງ ຄົນລາວຮຸ່ນໃຫມ່ໄວຊ່າ........ໄດ້ທີ່ນີ້.