งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Lab. Label แนวคิดเดียวกับการนิยามค่าคงที่หรือการนิยาม ตัวแปรในภาษาระดับสูง ตำแหน่งต่างๆของหน่วยความจำ เราสามารถ นำมาทำ label เพื่อจัดเก็บหรือดึงค่าตาม.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Lab. Label แนวคิดเดียวกับการนิยามค่าคงที่หรือการนิยาม ตัวแปรในภาษาระดับสูง ตำแหน่งต่างๆของหน่วยความจำ เราสามารถ นำมาทำ label เพื่อจัดเก็บหรือดึงค่าตาม."— ใบสำเนางานนำเสนอ:

1 Lab

2 Label แนวคิดเดียวกับการนิยามค่าคงที่หรือการนิยาม ตัวแปรในภาษาระดับสูง ตำแหน่งต่างๆของหน่วยความจำ เราสามารถ นำมาทำ label เพื่อจัดเก็บหรือดึงค่าตาม ตำแหน่งที่ต้องการ ถ้ามีการอ้างถึง label จะหมายถึงการอ้างถึง ตำแหน่งในหน่วยความจำของ label นั้น เช่น *10 count, 0 lim, 14 isz count

3 คำถามข้อที่ 1 1.1) label มีอะไรบ้าง 1.2) 0 จัดเก็บที่ location เท่าไรของ หน่วยความจำ 1.3) 14 จัดเก็บที่ location เท่าไรของ หน่วยความจำ 1.4) isz เป็นคำสั่งอะไร และส่วน operand อ้าง ถึง location เท่าไรของหน่วยความจำ

4 Directives เป็นการบอกตำแหน่งในหน่วยความจำให้กับ คอมไพเลอร์ เช่น *0 101 one, 102 two, 103 *200 cla tad one hlt * $

5 คำถามข้อที่ 2 2.1) ค่า 101 จัดเก็บที่ location เท่าไรของ หน่วยความจำ 2.2) ค่า 102 จัดเก็บที่ location เท่าไรของ หน่วยความจำ 2.3) ค่า 103 จัดเก็บที่ location เท่าไรของ หน่วยความจำ 2.4) ค่า 104 จัดเก็บที่ location เท่าไรของ หน่วยความจำ 2.5) คำสั่ง cla คืออะไร และจัดเก็บที่ location เท่าไรของหน่วยความจำ 2.6) คำสั่ง tad คืออะไร และจัดเก็บที่ location เท่าไรของหน่วยความจำ และส่วน operand อ้างถึง location เท่าไรของหน่วยความจำ

6 PDP8 เมื่อเครื่อง PDP8 เริ่มทำงาน ค่าของ PROGRAM COUNTER จะมีค่าเท่ากับ 200 เสมอ ดังนั้นเราจึงต้องเขียนคำสั่งแรก location ที่ 200 เราสามารถเริ่มคำสั่งแรกที่ location อื่นได้ หรือไม่ ? และทุกครั้งที่เริ่มปฏิบัติงาน รีจีสเตอร์ทุกตัว ยกเว้น PC และ location ในหน่วยความจำที่ ไม่ได้ถูกอ้างถึงจะถูกกำหนดให้เท่ากับ 0 ค่าทั้งหมดของเครื่อง PDP8 เป็นเลขฐาน 8

7 Load example ตัวอย่างโค้ดของ PDP8 ที่โหลดค่า 5 เข้าสู่ Accumulator เช่น *0 five, 5 // store 5 at pos. 0 with label five *200 cla // clear acc tad five // add the value at label five hlt // halt $

8 คำถามข้อที่ 3 3.1) คำสั่งที่มีการโหลดค่า 5 เข้าสู่ Accumultor คืออะไร 3.2) ในคำสั่งโหลดนี้รีจีสเตอร์มีค่าใด PC = AC = IR = MAR ( ช่วงแรก ) = MDR ( ช่วงแรก )= MAR ( ช่วงที่สอง )= MDR ( ช่วงที่สอง )=

9 Addition คำนวณการบวก และเก็บผลลัพธ์ใน label( ตัวแปร ) ชื่อว่า result *0 three, 3 five, 5 result, 0 *200 cla tad five tad three dca result hlt $

10 คำถามข้อที่ 4 ให้แสดงชื่อ label ทั้งหมด พร้อมทั้งระบุค่า ของ address และค่าของ content ของแต่ละ label คำสั่งใดที่เกี่ยวข้องกับการบวก 5+3 โดยตรง มากที่สุด ก่อนเริ่มทำงาน “dca result” ไปจนกระทั่งจบ การทำงาน รีจีสเตอร์ต่อไปนี้มีค่าใด

11 คำถามข้อที่ 4 Phaze I : Fetch PC = AC = IR = MAR = MDR = Phaze II : Execute PC = AC = IR = MAR = MDR =

12 subtraction คำนวณการบวก และเก็บผลลัพธ์ใน label( ตัวแปร ) ชื่อว่า result *0 three, 3 five, 5 result, 0 *200 Cla tad three cia tad five dca result hlt $

13 คำถามข้อที่ 5 อธิบายคำสั่งที่เกี่ยวข้องกับการคำนวณ 5-3 ก่อนเริ่มทำงาน “dca result” ไปจนกระทั่งจบ การทำงาน รีจีสเตอร์ต่อไปนี้มีค่าใด Phaze I : Fetch PC = AC = IR = MAR = MDR = Phaze II : Execute PC = AC = IR = MAR = MDR =

14 Homework ให้เขียนโค๊ดของ pdp8 เพื่อคำนวณ


ดาวน์โหลด ppt Lab. Label แนวคิดเดียวกับการนิยามค่าคงที่หรือการนิยาม ตัวแปรในภาษาระดับสูง ตำแหน่งต่างๆของหน่วยความจำ เราสามารถ นำมาทำ label เพื่อจัดเก็บหรือดึงค่าตาม.

งานนำเสนอที่คล้ายกัน


Ads by Google