CS Assembly Language Programming

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ตารางค่าความจริง คือ อะไร
Advertisements

บทที่ 2 รหัสควบคุมและการคำนวณ
บทที่ 2 รหัสควบคุมและการคำนวณ
การประยุกต์ Logic Gates ภาค 2
Appendix A2 จัดทำโดย นางสาว อารยา จำปัน
ระบบเลขฐานสอง โดย นางสาวภาณุมาศ นักษัตรมณฑล รหัสนิสิต
เลขฐานต่าง ๆ อ.มิ่งขวัญ กันจินะ.
เกตทางตรรกและพีชคณิตแบบบูล
การแทนข้อมูลในคอมพิวเตอร์
วงจรดิจิตอล Digital Circuits Wadchara.
การแทนค่าข้อมูล และ Primary Storage (Memory)
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming
จำนวนเต็ม จำนวนเต็ม  ประกอบด้วย                   1. จำนวนเต็มบวก    ได้แก่  1 , 2 , 3 , 4, 5 , ....                   2.  จำนวนเต็มลบ      ได้แก่  -1.
อสมการ.
Number System[1] เลขฐาน & ASCII CODE Number System[1]
NUMBER SYSTEM เลขฐานสิบ (Decimal Number) เลขฐานสอง (Binary Number)
Peopleware & Data บุคลากรและข้อมูล.
เทคนิคทางคณิตศาสตร์ในการวิเคราะห์เชิงปริมาณ
EEE 271 Digital Techniques
Digital Logic and Circuit Design
Data representation (การแทนข้อมูล)
Number Representations
ระบบเลข และการแทนรหัสข้อมูล
NUMBER SYSTEM Decimal number system (10) Noval number system (9)
ดิจิตอล + เลขฐาน บทที่ 2.
Introduction to Digital System
Introduction to Digital System
บทที่ 3 ตัวดำเนินการ และ นิพจน์
จำนวนทั้งหมด ( Whole Numbers )
อสมการ (Inequalities)
CS Assembly Language Programming Period 30.
CS Assembly Language Programming Period 13.
ASSIGN3-4. InstructionResult Z-FlagC-FlagP-FlagS-FlagO-Flag MOV AL,9Eh 9Eh H ????? ADDAL,9Eh 3C ADD AL,1Eh 5A
ความหมายของตัวเลขในหลักต่าง ๆ
Introduction to Computer organization & Assembly Language
DATA (in binary Digits)
C# Operation สุพจน์ สวัตติวงศ์ Reference:
Computer Coding & Number Systems
ระบบเลขฐาน (Radix Number)
แผนผังคาร์โนห์ Kanaugh Map
อาจารย์สายสุนีย์ เจริญสุข
ครูฉัตร์มงคล สนพลาย.
ตอนที่ 4 ความรู้พื้นฐานทางดิจิตอล
การแปลงเลขฐานใดๆเป็นฐานใดๆ
ค21201 คณิตศาสตร์เพิ่มเติม 1
เรื่อง คอมพิวเตอร์กับการประมวลผลข้อมูล
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
CS Assembly Language Programming
ระบบคอมพิวเตอร์และการประมวลผล
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
ค21201 คณิตศาสตร์เพิ่มเติม 1
ชนิดของข้อมูล 1) ข้อมูลที่เป็นตัวเลข (Numeric Data) หมายถึง ข้อมูลที่ใช้แทนจำนวนที่สามารถนำ ไปคำนวณได้ ข้อมูลแบบนี้เขียนได้หลายรูปแบบ คือ           ก.
ง เทคโนโลยีสารสนเทศและการสื่อสาร ระบบเลขฐาน
ระบบเลขในคอมพิวเตอร์
ระบบเลขฐาน.
การแทนรหัสข้อมูล Base numbers Data representation.
หน่วยที่ 2 ระบบตัวเลข.
Introduction to Computer Organization and Architecture Introduction to Computer Organization and Architecture Episode 3 Numbers Representation.
จำนวนจริง จำนวนอตรรกยะ จำนวนตรรกยะ เศษส่วน จำนวนเต็ม จำนวนเต็มบวก
ง31102 เทคโนโลยีสารสนเทศ 2 ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
Introduction to Digital System
ระบบเลขจำนวน ( Number System )
บทที่ 5 รหัสควบคุมและ การคำนวณ C Programming C-Programming.
ปัญหา คิดสนุก.
ตัวแปร และชนิดข้อมูล.
ดิจิตอล + เลขฐาน บทที่ 2.
ระบบจำนวนและ การแปลงเลขฐาน
ดิจิตอล + เลขฐาน บทที่ 2.
ใบสำเนางานนำเสนอ:

CS344-321 Assembly Language Programming Period 4

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

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

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

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

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

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

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

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

การแทนข้อมูลด้วยเลขฐานสิบหก (Hexadecimal Representation) ใช้ตัวเลขฐานสอง 4 ตัวแทนด้วยตัวเลขฐานสิบหกหนึ่งตัว ดังนี้ ฐานสอง ฐานสิบหก ฐานสอง ฐานสิบหก 0000 0 1010 A 0001 1 1011 B 0010 2 1100 C 0011 3 1101 D 0100 4 1110 E 0101 5 1111 F 0110 6 0111 7 1000 8 1001 9 เช่น 0000 0011 1100 0011 ฐานสอง เท่ากับ 0 3 C 3 ฐานสิบหก