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

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

CS344-321 Assembly Language Programming Period 4.

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


งานนำเสนอเรื่อง: "CS344-321 Assembly Language Programming Period 4."— ใบสำเนางานนำเสนอ:

1 CS Assembly Language Programming Period 4

2 ระบบตัวเลขฐานสอง (binary number system) ประกอบด้วย 0, 1 ประกอบด้วย 0, 1 ระบบตัวเลขฐานแปด (octal number system) ประกอบด้วย 0, 1, 2, …, 7 ประกอบด้วย 0, 1, 2, …, 7 ระบบตัวตัวเลขฐานสิบ (decimal number system) ประกอบด้วย 0, 1, 2, …, 9 ประกอบด้วย 0, 1, 2, …, 9 ระบบตัวเลขฐานสิบหก (hexadecimal number system) ประกอบด้วย 0, 1, 2, …, 9, A, B, C, D, E, F ประกอบด้วย 0, 1, 2, …, 9, A, B, C, D, E, F

3 การเปลี่ยนจากเลขฐานสองให้เป็นเลขฐานสิบใช้สูตร (b n b n-1 … b 2 b 1 b 0.b -1 b -2 …b -m ) 2 = (b n 2 n +b n-1 2 n-1 + … + b b b 0 + b b … + b -m 2 - m ) 10 เช่น ( ) 2 = ( * ) 10 = ( ) 10 หมายเหตุ การเปลี่ยนจากเลขฐานแปดหรือสิบหกให้เป็น เลขฐานสิบ ใช้สูตรเหมือนกัน แต่เปลี่ยนจาก 2 เป็น 8 และ 16 ตามลำดับ โดยแทน A, B, C, D, E, F ด้วย 10, 11, 12, 13, 14, 15 ตามลำดับ

4 การเปลี่ยนตัวเลขหน้าจุด จากเลขฐานสิบให้เป็น เลขฐานสอง ให้ใช้ 2 หาร ไปเรื่อย จนได้ผลลัพธ์เป็น 0 ขณะที่หารให้จดจำเศษ ที่ได้ นำเศษที่ได้จากการหารมาเรียงตามลำดับ เริ่มจากเศษที่ได้ครั้ง สุดท้ายเรียงไปยังเศษที่ได้จากการหารครั้งแรก เช่น 2 ) เศษ 1 61 เศษ 1 30 เศษ 1 30 เศษ 1 15 เศษ 0 15 เศษ 0 7 เศษ 1 7 เศษ 1 3 เศษ 1 3 เศษ 1 1 เศษ 1 1 เศษ 1 0 เศษ 1 0 เศษ 1 (123) 10 = ( ) 2 หมายเหตุ การเปลี่ยนตัวเลขหน้าจุด จากเลขฐานสิบให้เป็นเลข ฐานแปดหรือสิบหก ใช้สูตรเหมือนกัน แต่เปลี่ยนจากการหารด้วย 2 เป็นการหารด้วย 8 และ 16 ตามลำดับ โดยแทนเศษ 10, 11, 12, 13, 14, 15 ด้วย A, B, C, D, E, F ตามลำดับ

5 การเปลี่ยนตัวเลขหลังจุด จากเลขฐานสิบให้เป็น เลขฐานสอง ให้คูณตัวเลขที่อยู่หลังจุดทั้งหมดด้วย 2 ไปเรื่อย ๆ จนกว่าจะได้ ผลลัพธ์เป็นศูนย์ หรือได้จำนวนตัวเลขหลังจุดทศนิยมตามที่ต้องการ แล้วนำเลขหน้าจุดที่ได้จากการคูณแต่ละครั้ง มาเรียงกัน เช่น (0.6875) 10 = ( ) * 2 * * 2 * * 2 * * 2 * หมายเหตุ การเปลี่ยนตัวเลขหลังจุด จากเลขฐานสิบให้เป็นเลขฐาน แปดหรือสิบหก ใช้สูตรเหมือนกัน แต่เปลี่ยนจากการคูณด้วย 2 เป็น การคูณด้วย 8 และ 16 ตามลำดับ

6 แทนอักขระ หนึ่งตัว มีสองแบบ คือ - ASCII ( ใช้ 7 บิต แทนรหัส และ parity 1 บิตใช้ ตรวจสอบ ) ดู appendix D - ASCII ( ใช้ 7 บิต แทนรหัส และ parity 1 บิตใช้ ตรวจสอบ ) ดู appendix D - EBCDIC ( ใช้ทั้ง 8 บิต แทนรหัส ) - EBCDIC ( ใช้ทั้ง 8 บิต แทนรหัส ) แทนเลขจำนวนเต็มทั้งแบบที่มีเครื่องหมาย และแบบที่ไม่มี เครื่องหมาย - กรณีไม่มีเครื่องหมาย ถ้าใช้จำนวนบิต n บิต จะแทน เลขจำนวนเต็มไม่มีเครื่องหมายได้ ตั้งแต่ 0 ถึง 2 n -1 เช่น n = 16 จะแทนเลขจำนวนเต็มได้ตั้งแต่ 0 ถึง เป็นต้น - กรณีมีเครื่องหมาย สามารถแทนได้ในสามรูปแบบ คือ

7 ก. sign magnitude ใช้บิตซ้ายสุด (most significant bit) แทนเครื่องหมาย โดยที่ 0 แทนเครื่องหมายบวก และ 1 แทนเครื่องหมายลบ โดยที่ 0 แทนเครื่องหมายบวก และ 1 แทนเครื่องหมายลบ บิตที่เหลือใช้แทนขนาดของตัวเลข บิตที่เหลือใช้แทนขนาดของตัวเลข most significant bit least significant bit most significant bit least significant bit n-1 n-2 … n-1 n-2 … sign magnitude sign magnitude เช่น สมมุติว่าใช้ จำนวนบิต 8 บิต แทนเลขจำนวน +5 และ –5 ได้ เป็น และ เป็นต้น ถ้าใช้จำนวน n บิต จะแทนเลขจำนวนเต็มแบบมีเครื่องหมาย ได้ตั้งแต่ – (2 n-1 – 1) ถึง +(2 n-1 - 1) เช่น n = 16 จะแทนเลขจำนวนเต็มมีเครื่องหมายได้ตั้งแต่ –32767 ถึง เป็นต้น โดยที่ 0 แทนได้ทั้ง +0 และ –0

8 ข. one complement ใช้บิตซ้ายสุด (most significant bit) แทนเครื่องหมาย โดยที่ 0 แทนเครื่องหมายบวก และ 1 แทน เครื่องหมายลบ เช่นกัน การแทนเลขบวก จะเหมือนกับแบบ sign magnitude แต่การแทนตัวเลขลบ จะต่างกัน การแทนเลขบวก จะเหมือนกับแบบ sign magnitude แต่การแทนตัวเลขลบ จะต่างกัน แบบ one complement จะแทนตัวเลขลบโดย การ ทำ complement ( เปลี่ยนจากเลข 0 เป็น 1 และ เปลี่ยนจากเลข 1 เป็น 0) กับ magnitude เช่น สมมุติว่าใช้ จำนวนบิต 8 บิต แทนเลขจำนวน +5 และ –5 ได้เป็น และ เป็นต้น แบบ one complement จะแทนตัวเลขลบโดย การ ทำ complement ( เปลี่ยนจากเลข 0 เป็น 1 และ เปลี่ยนจากเลข 1 เป็น 0) กับ magnitude เช่น สมมุติว่าใช้ จำนวนบิต 8 บิต แทนเลขจำนวน +5 และ –5 ได้เป็น และ เป็นต้น ถ้าใช้จำนวน n บิต จะแทนเลขจำนวนเต็ม แบบมีเครื่องหมาย ได้ตั้งแต่ – (2 n-1 – 1) ถึง +(2 n-1 - 1) ถ้าใช้จำนวน n บิต จะแทนเลขจำนวนเต็ม แบบมีเครื่องหมาย ได้ตั้งแต่ – (2 n-1 – 1) ถึง +(2 n-1 - 1) เช่น n = 16 จะแทนเลขจำนวนเต็มมี เครื่องหมายได้ตั้งแต่ –32767 ถึง เป็นต้น โดย ที่ 0 แทนได้ทั้ง +0 และ –0 เช่น n = 16 จะแทนเลขจำนวนเต็มมี เครื่องหมายได้ตั้งแต่ –32767 ถึง เป็นต้น โดย ที่ 0 แทนได้ทั้ง +0 และ –0

9 ค. two complement ใช้บิตซ้ายสุด (most significant bit) แทนเครื่องหมาย โดยที่ 0 แทน เครื่องหมายบวก และ 1 แทนเครื่องหมายลบ เช่นกัน การแทนเลขบวก จะเหมือนกับแบบ sign magnitude แต่การแทนตัวเลขลบ จะต่างกัน การแทนเลขบวก จะเหมือนกับแบบ sign magnitude แต่การแทนตัวเลขลบ จะต่างกัน แบบ two complement จะแทนตัวเลขลบโดย การ ทำ complement ( เปลี่ยนจากเลข 0 เป็น 1 และ เปลี่ยนจากเลข 1 เป็น 0) กับ magnitude แล้ว บวกด้วยหนึ่ง เช่น สมมุติว่าใช้ จำนวนบิต 8 บิต แทนเลขจำนวน +5 และ –5 ได้เป็น และ เป็นต้น แบบ two complement จะแทนตัวเลขลบโดย การ ทำ complement ( เปลี่ยนจากเลข 0 เป็น 1 และ เปลี่ยนจากเลข 1 เป็น 0) กับ magnitude แล้ว บวกด้วยหนึ่ง เช่น สมมุติว่าใช้ จำนวนบิต 8 บิต แทนเลขจำนวน +5 และ –5 ได้เป็น และ เป็นต้น ถ้าใช้จำนวน n บิต จะแทนเลขจำนวนเต็มแบบมี เครื่องหมาย ได้ตั้งแต่ ถ้าใช้จำนวน n บิต จะแทนเลขจำนวนเต็มแบบมี เครื่องหมาย ได้ตั้งแต่ – (2 n-1 ) ถึง +(2 n-1 - 1) – (2 n-1 ) ถึง +(2 n-1 - 1) เช่น n = 16 จะแทนเลขจำนวนเต็มมีเครื่องหมาย ได้ตั้งแต่ –32768 ถึง เป็นต้น โดยที่ 0 แทน ด้วย +0 เท่านั้น เช่น n = 16 จะแทนเลขจำนวนเต็มมีเครื่องหมาย ได้ตั้งแต่ –32768 ถึง เป็นต้น โดยที่ 0 แทน ด้วย +0 เท่านั้น

10 ใช้ตัวเลขฐานสอง 4 ตัวแทนด้วยตัวเลขฐานสิบหกหนึ่งตัว ดังนี้ ฐานสองฐานสิบหก ฐานสอง ฐานสิบหก A B C D E F เช่น ฐานสอง เท่ากับ 0 3 C 3 ฐานสิบหก


ดาวน์โหลด ppt CS344-321 Assembly Language Programming Period 4.

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


Ads by Google