ปฏิบัติการแบบแยก Branch Operation.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
คำสั่งควบคุมในโปรแกรม Interactive C
Advertisements

การใช้ Microsoft Word 2007 / 2010 เพื่อการจัดการงานเอกสารเชิงวิชาการ
เลขฐานต่าง ๆ อ.มิ่งขวัญ กันจินะ.
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
2.2.3 การแก้ไขแอดเดรส โดยการใช้อินเด็กรีจิสเตอร์
ป.4 บทที่ 1 “จำนวนนับ เกิน100,000”
สถาปัตยกรรมแบบ stack และ การผลิตโค๊ด
โครงสร้างการควบคุมการทำงานของโปรแกรม Program control structures
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
Control structure part II
CS Assembly Language Programming
CS Assembly Language Programming Period 16.
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
ชนิดของข้อมูลและตัวดำเนินการ
จำนวนเต็ม จำนวนเต็ม  ประกอบด้วย                   1. จำนวนเต็มบวก    ได้แก่  1 , 2 , 3 , 4, 5 , ....                   2.  จำนวนเต็มลบ      ได้แก่  -1.
2.2 ภาษาเครื่อง (Machine language)
Algorithms.
บทที่ 5 การทำงานแบบวนซ้ำ
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
NUMBER SYSTEM เลขฐานสิบ (Decimal Number) เลขฐานสอง (Binary Number)
ปฏิบัติการครั้งที่ 9 ฟังก์ชัน.
รายวิชา ง23101 การเขียนโปรแกรมเบื้องต้น
หน่วยที่ 5 ตัวดำเนินการ (Operators)
การหาค่ากำลังสองของเลขที่ลงท้ายด้วย 5
การหาค่ากำลังสองของเลขที่ลงท้ายด้วย 5
การหาค่ากำลังสองของเลขที่ลงท้ายด้วย 5
ขั้นตอนการแปลงไฟล์.
การจัดการข้อมูลด้วยคอมพิวเตอร์
Addressing Modes Assembly Programming.
ตัวอย่างงานวิจัย องค์ประกอบที่มีความสัมพันธ์กับการใช้ห้องสมุดของนักเรียนมัธยมศึกษา ตารางที่ 4-7 ตารางที่
จำนวนทั้งหมด ( Whole Numbers )
CS Assembly Language Programming
ระบบจำนวนเต็ม โดย นางสาวบุณฑริกา สูนานนท์
การบันทึกรายการสินทรัพย์
ดีบักเป็นเครื่องมืออันหนึ่งที่ให้ผู้ใช้ ตรวจสอบ และแก้ไขค่าใน หน่วยความจำ โหลด เก็บ ตรวจสอบค่าในเรจิสเตอร์ และสามารถ เขียนโปรแกรมแอสเซมบลีได้อย่าง สะดวก.
บทที่ 15 โปรแกรมย่อยและแสต็ก
บทที่ 17 คำสั่งตารางและการสร้างแมคโคร
ธนาวินท์ รักธรรมานนท์
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
บทที่ 3 การคำนวณทางคณิตศาสตร์ หน่วยประมวลผลทางคณิตศาสตร์และตรรกะ (ALU)
ตัวดำเนินการ(Operator)
คณิตศาสตร์คอมพิวเตอร์
การแปลงเลขฐานใดๆเป็นฐานใดๆ
ค31211 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 1
ค31211 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 1
ความรู้พื้นฐานการเขียนโปรแกรม
ค31211 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 1
เรื่องข้อมูลและสาระสนเทศ
การแทนข้อมูล คอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ซึ่งใช้สัญญาณอิเล็กทรอนิกส์ในการทำงานเพื่อเก็บข้อมูล ประมวลผลและแสดงผลลัพธ์ การมองเห็นข้อมูลของคอมพิวเตอร์กับการมองเห็นข้อมูลของผู้ใช้จะไม่เหมือนกัน.
เครื่องหมายและการดำเนินการ ในภาษา C
CS Assembly Language Programming
การกระโดดและการวนรอบ
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
หลักการเขียนโปรแกรม ( )
การจัดการฐานข้อมูล.
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
กองซ้อน ยอดกองซ้อน (stack).
ตัวดำเนินการ และนิพจน์คณิตศาสตร์
จำนวนจริง จำนวนอตรรกยะ จำนวนตรรกยะ เศษส่วน จำนวนเต็ม จำนวนเต็มบวก
ค่าคงที่สมดุล การเขียนความสัมพันธ์ของค่า K กับความเข้มข้นของสาร
สาระการเรียนรู้ที่ ๒ การเชื่อมประพจน์
หลักการเขียนโปรแกรม ( )
ระบบเลขจำนวน ( Number System )
Assembly Languages: PDP8
นางสาวสุพรรษา ธรรมสโรช
การกระทำทางคณิตศาสตร์
ตัวแปร และชนิดข้อมูล.
การรับและแสดงผลข้อมูล (Input/Output)
บทที่ 7 การสร้างและการใช้งาน ฟังก์ชัน อาจารย์ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ และเทคโนโลยี
หลักการโปรแกรมเบื้องต้น
ใบสำเนางานนำเสนอ:

ปฏิบัติการแบบแยก Branch Operation

ปฏิบัติการแบบแยก เป็นคำสั่งที่ใช้เปลี่ยนลำดับของการกระทำการตามเงื่อนไข แบ่งออกเป็น 3 ประเภท คำสั่งการกระโดด คำสั่งเรียกโปรแกรมย่อย คำสั่งกลับสู่โปรแกรมหลัก และคำสั่งเริ่มทำต่อ

คำสั่งการกระโดด (Jump Instructions) แบ่งออกเป็น 2 กลุ่ม คือ กลุ่มกระโดดสมบูรณ์ (Absolute Jump) เป็นคำสั่งขนาด 3 ไบต์ ประกอบด้วยตัวถูกดำเนินการซึ่งจะกำหนดเลขที่อยู่ขนาด 16 บิต เมื่อกระทำคำสั่งลำดับโปรแกรมจะเปลี่ยนไปตำแหน่งที่กำหนด กลุ่มกระโดดสัมพันธ์ (Relative Jump) เป็นคำสั่งขนาด 2 ไบต์ ประกอบด้วยตัวถูกดำเนินการซึ่งจะกำหนดระยะห่าง 8 บิต เพื่อแสดงการกระโดดไปข้างหน้าหรือถอยหลัง ในรูป 2’Complement

กลุ่มกระโดดสมบูรณ์ (Absolute Jump) แบ่งออกเป็น 2 ประเภท กลุ่มกระโดดสมบูรณ์ แบบไม่มีเงื่อนไข กลุ่มกระโดดสมบูรณ์ แบบมีเงื่อนไข ใช้ร่วมกับสถานะแฟลก 4 ตัว ได้แก่ S , Z , Cy , P/V ดังนี้ Opcode Operand Byte Description JP 16-bit 3 กระโดดแบบไม่มีเงือนไข ไปยังตำแหน่ง หน่วยความจำที่กำหนด JP C,16-bit 3 กระโดดเมื่อมีตัวทด JP Z,16-bit 3 กระโดดเมื่อแฟลก Z เป็นศูนย์ JP NC,16-bit 3 กระโดดเมื่อไม่มีตัวทด JP NZ,16-bit 3 กระโดดเมื่อแฟลก Z ไม่เป็นศูนย์

ตัวอย่างที่ 1 จงเขียนคำสั่งเพื่อโหลดไบต์ฐานสิบหก 2 ไบต์ ได้แก่ Byte1 และ Byte2 ลงใรรีจีสเตอร์ B และ C ตามลำดับแล้วบวกไบต์เหล่านั้น ถ้าผลรวมมากกว่า 8 บิต ให้แสดงผล 00H เป็นเงื่อนไขค่าเกินที่เอาต์พอร์ต PORT1 และเคลียร์ตำแหน่งหน่วยความจำ OUTBUF ถ้าผลรมน้อยกว่า 8 บิต ให้เก็บผลรวมไว้ที่ตำแหน่งหน่วยความจำ OUTBUF กำหนด Byte1 = 9AH Byte2 = A7H PORT1 = 01H OUTBUF = 2050H

Label Opcode ,Operand Comment LD B,9AH LD C,A7H LD A,C ADD A,B JP NC,STORE LD A,00H OUT (PORT1),A STORE: LD (OUTBUF),A

กลุ่มกระโดดสัมพันธ์ (Relative Jump) แบ่งออกเป็น 2 ประเภท กลุ่มกระโดดสัมพันธ์ แบบไม่มีเงื่อนไข กลุ่มกระโดดสัมพันธ์ แบบมีเงื่อนไข เราสามารถกำหนดเลขที่อยู่ใหม่ซึ่งเป็นลำดับของโปรแกรมโดยค่าออฟเซ็ต(ระยะห่าง) ขนาด 8 บิต ที่สัมพันธ์กับคำสั่งการกระโดด ระยะห่างเป็นบวก หมายถึง การกระโดดไปข้างหน้า ระยะห่างเป็นลบ หมายถึง การกระโดดถอยหลัง d = ระยะห่าง = displacement

รายการคำสั่งกระโดดแบบสัมพันธ์ (Relative Jump) Mnemonics Byte Description JR d 2 กระโดดแบบสัมพันธ์แบบไม่มีเงื่อนไข JR Z,d 2 กระโดดสัมพันธ์ เมื่อ Z=1 JR NZ,d 2 กระโดดสัมพันธ์ เมื่อ Z=0 JR C,d 2 กระโดดสัมพันธ์ เมื่อ Cy=1 JR NC,d 2 กระโดดสัมพันธ์ เมื่อ Cy=0