บทที่ 11 โปรแกรมย่อยขั้นต้น

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
องค์ประกอบของระบบคอมพิวเตอร์
Advertisements

3. วิธีทำให้ข้อมูลเป็นสารสนเทศมีกี่วิธีอะไรบ้าง
โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.
Introduction to C Introduction to C.
โครงสร้างโปรแกรมภาษา C
CSI1201 การเขียนโปรแกรมเชิงโครงสร้าง Structured Programming
บทที่ 3 ภาษาสำหรับเขียนโปรแกรม
ปฐมนิเทศ การเขียนโปรแกรม ง30202.
2.2.3 การแก้ไขแอดเดรส โดยการใช้อินเด็กรีจิสเตอร์
โครงสร้างข้อมูลสแตก มีลักษณะเป็นรายการในแนวเชิงเส้น(Linear List)รูปแบบหนึ่ง และมีข้อกำหนดให้ชุดปฏิบัติการสามารถเพิ่มและลบรายการเพียงด้านเดียว ซึ่งเป็นด้านบนสุดของสแตก(Top.
หน่วยการเรียนรู้ที่ 5 เรื่อง หลักการทำงานของคอมพิวเตอร์
บทที่ 11 การเขียนโปรแกรมโดยใช้ข้อมูลชนิดพอยท์เตอร์
ประเภทของโปรแกรมคอมพิวเตอร์
สถาปัตยกรรมแบบ stack และ การผลิตโค๊ด
ภาษาคอมพิวเตอร์ กฎเกณฑ์เกี่ยวกับคำศัพท์ ไวยากรณ์ และ หลักภาษาในการเขียนคำสั่งงานให้คอมพิวเตอร์ทำงานอย่างใดอย่างหนึ่งให้กับเราได้ มีหลากหลายชนิดต่างๆ กัน.
CS Assembly Language Programming
Stack Holidays/seasonal content.
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming Period 16.
ลักษณะการทำงานของ Stack
ความหมาย และวิวัฒนาการ ของ ระบบปฏิบัติก าร.
องค์ประกอบของโปรแกรม
โครงสร้างภาษาซี.
ภาษาคอมพิวเตอร์.
วิชา การออกแบบและพัฒนาซอฟต์แวร์
โปรแกรมย่อย : Pascal Procedure
ขั้นตอนการแปลงไฟล์.
ฟังก์ชันของ PHP ฟังก์ชันคือ โปรแกรมย่อยที่สามารถประมวลผล และ คืนผลลัพธ์จาการประมวลผลนั้นสู่โปรแกรมหลักได้ ซึ่งจำเป็นในการเขียนโปรแกรมเพื่อช่วยให้การทำงานมีประสิทธิภาพที่สูงขึ้น.
Surachai Wachirahatthapong
SCC : Suthida Chaichomchuen
Addressing Modes Assembly Programming.
1 Structures & Records SCC : Suthida Chaichomchuen
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 5 การพัฒนาซอฟต์แวร์ด้วย MS Visual Basic 2010 ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming Period 30.
ชั้นมัธยมศึกษาตอนต้น
แบบฝึกหัด 24/12/09. เมื่อคอมพ์ทำคำสั่งต่อไปนี้ จงแสดง ผลลัพธ์และ ค่าแฟลกต่างๆ InstructionResult Z-FlagC-FlagP- Flag S- Flag O- Flag MOV AL,3h Inc AL Mov.
บทที่ 15 โปรแกรมย่อยและแสต็ก
บทที่ 17 คำสั่งตารางและการสร้างแมคโคร
บทที่ 10 โครงสร้างควบคุม
ความหมายของตัวเลขในหลักต่าง ๆ
ธนาวินท์ รักธรรมานนท์
ธนาวินท์ รักธรรมานนท์
ธนาวินท์ รักธรรมานนท์
โปรแกรมภาษาแอสเซมบลี้ (2)
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงานลักษณะของฟังก์ชั่นมีความรอบรัดสั้นกว่าแบบวนลูป.
ภาควิชาวิทยาศาสตร์ประยุกต์ คณะวิทยาศาสตร์เทคโนโลยีและการเกษตร
Debug #2 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้
เซกเมนต์ (Segment) โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้
อินเทอร์รัพท์ (Interrupt)
สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack
หน่วยประมวลผลกลางและหน่วยความจำ Central Processing Unit and Memory
ประวัติและขั้นตอนการพัฒนาโปรแกรมภาษาซี
หลักการเขียนโปรแกรม ( )
กองซ้อน ยอดกองซ้อน (stack).
ซอฟต์แวร์คอมพิวเตอร์ ชั้นมัธยมศึกษาปีที่ ม.4/2 โรงเรียนมัธยมวัดป่ามะไฟ
การใช้ซอฟต์แวร์การเขียนโปรแกรมแบบชุดคำสั่งแบบภาพเพื่อกระตุ้นความสนใจและทัศนคติของนักเรียนต่อวิชาการเขียนโปรแกรม ปิยพจน์ ตัณฑะผลิน ผศ.ดร.ปราวีณยาสุวรรณณัฐโชติ
แบบทดสอบหลังเรียนวิชา เทคโนโลยีสารสนเทศ 2
การทำงานและคำสั่งพื้นฐาน
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
เด็กหญิง นัฐนรี โยธาตรี เลขที่ 13 ม.3/1
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โครงสร้างข้อมูลแบบ สแตก (stack)
แผนภูมิองค์ประกอบของเทคโนโลยีสารสนเทศ
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
ส่วนการทะเบียนทั่วไป สำนักบริหารการทะเบียน
ใบสำเนางานนำเสนอ:

บทที่ 11 โปรแกรมย่อยขั้นต้น การประกาศ procname PROC NEAR … ;program RET procname ENDP การเรียกใช้ CALL procname ;print Hex digit ;input al<-digit ;affect : dl,ah printhexdigit proc near mov ah,2 mov dl,al add dl,’0’ cmp al,10 jb printit add dl,’A’-’0’-10 printit: int 21h ret printhexdigit endp 204221 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล

โปรแกรมย่อยขั้นต้น ผลกระทบข้างเคียง คำสั่งเกี่ยวกับ stack ; print a 2-digit hex number ; the digits is stored in bh,bl ... mov al,bh call printhexdigit mov al,bl ผลกระทบข้างเคียง การทำงานของโปรแกรมย่อยอาจมีผลกระทบข้างเคียงกับ รีจิสเตอร์อื่น ๆ ได้ เราควรป้องกันการเกิดผลกระทบนี้ เก็บรักษาค่าเดิมของรีจิสเตอร์ -> ใช้ stack คำสั่งเกี่ยวกับ stack PUSH reg16 : ใส่ค่าลงใน stack POP reg16 : อ่านค่าขึ้นมาจาก stack 204221 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล

การทำงานของคำสั่ง PUSH และ POP โดยปกติรีจิสเตอร์ SS:SP จะเก็บตำแหน่งบนสุดของแสต็ก. เมื่อเราสั่ง PUSH หรือ POP กับแสต็กหน่วยประมวลผลจะปรับค่าของรีจิสเตอร์ SP ให้มีค่าชี้ตำแหน่งบนสุดของแสต็กอีกครั้ง. AX = 1234 PUSH AX SS : SP 1234 SS : SP DX = 034A PUSH DX SS : SP 034A POP BX 034A 1234 SS : SP 1234 BX = 034A 204221 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล

โปรแกรมย่อยขั้นต้น ;print Hex digit ;input al<-digit printhexdigit proc near push ax push dx mov ah,2 mov dl,al add dl,’0’ cmp al,10 jb printit add dl,’A’-’0’-10 printit: int 21h pop dx pop ax ret printhexdigit endp 204221 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล

โปรแกรมย่อยขั้นต้น การเปลี่ยนแปลงของ stack เมื่อมีการเรียกโปรแกรมย่อย call printhexdigit กระโดดไปทำงานที่โปรแกรมย่อย ? IP ? DX push ax push dx AX ปรับค่าโดยอัตโนมัติ หลักการสั่ง CALL และ RET IP ? DX pop dx pop ax AX IP ? ret IP กระโดดกลับไป โปรแกรมหลัก ? การผ่านค่า parameter ให้กับโปรแกรมย่อยจากตัวอย่างใช้การผ่านค่าผ่านทางรีจิสเตอร์. ในบทถัด ๆ ไปเราจะได้เรียนรู้การผ่านค่าผ่านทาง stack ซึ่งเป็นแบบนิยมใช้ในภาษาระดับสูง. 204221 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล