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

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

CS344-321 Assembly Language Programming Period 31.

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


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

1 CS Assembly Language Programming Period 31

2 ตัวอย่าง โปรแกรมย่อย itoa ทำหน้าที่เปลี่ยน เลขจำนวนเต็มมีเครื่องหมาย ให้เป็น string ซึ่งมีความยาวอย่างน้อย 6 และจะมีรูปแบบ ดังนี้ DS : SI DS : SI [-]digits [-]digits และ ax เก็บความยาวของ string ก่อนเรียกใช้ cx เก็บเลขฐาน ก่อนเรียกใช้ cx เก็บเลขฐาน และ DS : SI ชี้ไปที่เริ่มต้นที่ว่างซึ่งมีความ ยาวอย่างน้อย 6 ไบต์ และ DS : SI ชี้ไปที่เริ่มต้นที่ว่างซึ่งมีความ ยาวอย่างน้อย 6 ไบต์

3 วิธีการ บวก si ด้วย 6 DS: SI บวก si ด้วย 6 DS: SI จดจำค่า si ไว้บน stack เพื่อใช้คำนวณ ความยาว string ในตอนหลัง จดจำเครื่องหมายของค่าใน ax ไว้บน stack จดจำเครื่องหมายของค่าใน ax ไว้บน stack ถ้า ค่าใน ax เป็นลบ เปลี่ยนให้เป็นบวก ถ้า ค่าใน ax เป็นลบ เปลี่ยนให้เป็นบวก

4 ก. เอาเลขฐานใน cx หาร ค่าใน ax เศษจะ อยู่ที่ dx สำหรับฐานสูงสุด 16 เศษจะเก็บใน dl ได้เพียงพอ เปลี่ยนค่าเศษใน dl ให้เป็นตัวเลข ASCII ด้วยการบวกด้วย ‘0’ เป็นต้น กรณีเป็นเลขฐานสิบหก เศษอาจมีค่าเป็น 10 ถึง 15 ดังนั้น ถ้า เศษมีค่ามากกว่า 9 ให้ บวกตัวเลข ASCII ข้างต้นด้วย ‘A’-‘9’-1 กรณีเป็นเลขฐานสิบหก เศษอาจมีค่าเป็น 10 ถึง 15 ดังนั้น ถ้า เศษมีค่ามากกว่า 9 ให้ บวกตัวเลข ASCII ข้างต้นด้วย ‘A’-‘9’-1 ลบ si ด้วย 1 แล้วนำค่า ASCII ดังกล่าวเก็บ ที่ DS:SI ลบ si ด้วย 1 แล้วนำค่า ASCII ดังกล่าวเก็บ ที่ DS:SI ทดสอบผลลัพธ์ที่ได้จากการหาร ซึ่งเก็บ อยู่ใน ax ว่าเป็น 0 หรือไม่ ถ้าไม่ใช่ กลับไป ทำซ้ำข้อ ก. มิฉะนั้น เลิกทำซ้ำ ทำข้อ ข. ทดสอบผลลัพธ์ที่ได้จากการหาร ซึ่งเก็บ อยู่ใน ax ว่าเป็น 0 หรือไม่ ถ้าไม่ใช่ กลับไป ทำซ้ำข้อ ก. มิฉะนั้น เลิกทำซ้ำ ทำข้อ ข.

5 ข. นำเครื่องหมายที่เก็บบน stack มา ทดสอบ ถ้าเป็นลบ จะลบค่า si ด้วย 1 แล้ว นำเครื่องหมาย ‘-’ ใส่ตรงตำแหน่ง DS:SI ค. คำนวณความยาวของ string ด้วยการ ลบค่า si ด้วย ค่า si เดิมที่เก็บใน stack ตัวอย่าง ถ้าค่าใน ax มีค่าเท่ากับ -120 ผลลัพธ์ จะเป็นดังนี้ DS:SI DS:SI ความยาวที่เก็บใน ax จะเท่ากับ 4 SI เดิม


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

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


Ads by Google