อ.ผมสั่งให้เขียนโปรแกรมด้วย Assembly
โดยเค้าไม่สอนอะไรเลย :07:
โยนชีทมาให้เป็นภาษาอังกฤษ บอกให้อ่านเอง
แต่ผมทำไม่สำเร็จ(รวมทั้งเพื่อนทั้งชั้น) ไปให้อ.สอนเค้าก็ไม่ยอมสอน เค้าบอกให้ศึกษาเองท่าเดียวเลย
เลยมาขอรบกวนผู้รู้แถวนี้หน่อยครับ
-------
โจทย์ เขียนโปรแกรมรับค่าตัวเลขจากผู้ใช้ แล้วให้ทำการคำนวณหา Factorial พร้อมแสดงผล
เขียนเป็นภาษา Assembly อ.ให้โปรแกรม LC-3 มาครับ
-------
1. คำสั่งรับค่าจากผู้ใช้ใช้คำสั่งอะไรครับ
2. คำสั่งคูณเลขใช้คำสั่งอะไรครับ ใช้ mul แล้วคอมไพล์เลอร์ไม่รู้จัก
3. ปรินท์ค่ายังไงครับ
--------
โปรแกรม LC-3 โหลดที่นี่นะครับ http://preet.sesolution.com/se211/viewtopic.php?f=4&t=66 (http://preet.sesolution.com/se211/viewtopic.php?f=4&t=66)
เอกสารที่อ.ให้มา (ซึ่งผมไม่รู้ว่ามันช่วยยังไง :05:) http://preet.sesolution.com/se211/viewtopic.php?f=4&t=77 (http://preet.sesolution.com/se211/viewtopic.php?f=4&t=77)
ถ้าจะกรุณา เขียนโปรแกรมให้เลยก็ได้ครับ :30: :46:
อาจารย์แบบนี้..
โอ่ย Assembly ขอผ่าน ยากเกิ๊น ขอ high level language ได้ป่าววว
ปล. ได้การบ้านเขียน assembly เหมือนกัน ใช้ Instruction Set ของ 80x86 รุ่นไหนไม่รุ
โคตรยาก ทำได้แค่ jump เอง :05: :05: :05:
High level ก็ไม่กลัวเหมือนกันครับ
สงสัยอ.จะทำไม่ได้เหมือนกัน :30:
ดูเหมือนว่า Assembly ของเอิร์ธ มันเป็นของ Hardware ที่ไม่ใช่ 8086 อะครับ
มันก็เลยไม่มีคำสั่งหลายๆ คำสั่ง (เท่าที่ดู PDF นะ)
ดังนั้น คำสั่งคูณ (mul, imul) ก็เลยไม่มี..
ถ้า (เป็นไปได้) ใช้การ ลูป แล้ว บวก เอา น่าจะได้ (แต่ช้า.. ช่างมัน เพราะไม่มีคำสั่ง mul นี่)
ส่วนการ print ค่า ไม่มีครับ ปกติถ้าเป็นฮาร์ดแวร์แบบนี้
เราสามารถอ่านค่าของรีจิสเตอร์ได้จากฟอร์ม/ตาราง/กราฟของรีจิสเตอร์มันนะ
รับคำสั่งด้วย.. น่าจะเหมือนกัน
พี่อ้างอิงจาก MIPS น่ะ มันเป็น 8086
เพราะวิศวะคอมใช้ Assembly ของ 8086 กับเขียนโปรแกรมอัดลงชิพ MIPS เลย
บ่นอะไรกันอ้ะ :05:
อ้างคำพูดจาก: MoonShines เมื่อ 07 ก.ย. 2009, 02:30 น.
บ่นอะไรกันอ้ะ :05:
ด้วย :05:/
ไม่เคยต้องไปสนใจไอ้พวกนี้เลย
:05: อ้าว.. กำลังรอไอซ์มาตอบเลยอะ
เพิ่ม
เจอ Tutorial ทำการคูณใน LC3 แล้ว (ในนั้นบอกคำสั่งรับค่าด้วยเลยน่ะ GETC -- แต่ดันไม่มีใน PDF :37:)
http://www.lc3help.com/tutorials/Multiplication/ (http://www.lc3help.com/tutorials/Multiplication/)
ใช้ Loop จริงๆ ด้วย
assembly ผมรู้ในฐานะ reverse engineer ครับ
ตอนสมัยนั่งแงะโปรแกรมทำ crackทำบอท rag
เพราะงั้นชุดคำสั่งน่ะผมไม่รู้หรอก
รู้แค่วิธี call memory address กะการ jump ข้ามไปๆ มาๆ เป็นส่วนใหญ่
อันไหนไม่แน่ใจแต่กำหนดขอบเขตมันได้ก็ลาวยาวแล้วเอาเข้า c asm compiler ออกมาเป็น dll ไปเรียกใช้เอาเลย
:05: ส่วนมากพี่ยุ่งกับคำสั่งน่ะ ไอ้แบบที่ไอซ์ว่า พี่ไม่รู้เรื่องเลย
ไม่รู้เรื่องทั้งหมดนั้นเลย \:07:/
ยัีงไม่เคยแตะ assembly :05:
ขอบคุณพี่ก่อมากๆเลยจ้า :25: :46:
เดี๋ยวไว้จะไปลองนะ แต่คงพรุ่งนี้ ดึกละ ง่วง :01:
อ้างคำพูดจาก: นุ้กสไตล์ เมื่อ 07 ก.ย. 2009, 02:42 น.
ไม่รู้เรื่องทั้งหมดนั้นเลย \:07:/
ยัีงไม่เคยแตะ assembly :05:
\:05:/
เวลาคูณมันต้อง xor อะไรกันซักอย่างรึเปล่า
นับันเป็น บิท ไม่ใช่ตัวเลข
คุยเรื่องอะไรกันน่ะ :05:
เอิร์ทเรียนปีเดียวกับเราแน่หรอ :05a:
อ้างคำพูดจาก: นุ้กสไตล์ เมื่อ 07 ก.ย. 2009, 02:42 น.
ไม่รู้เรื่องทั้งหมดนั้นเลย \:07:/
ยัีงไม่เคยแตะ assembly :05:
ที่ ม. มีสอนไม่ใช่เหรอ :07:
วิชา Micro Processor อ่ะ รึว่าโดนถอดออกไปแล้ว :09:
ม. ผมเขาก็ถอน ASM ออกไปแล้วเหมือนกัน :05:
เคยถามอาจารย์ เขาบอกว่า "รุ่นคุณน่ะ ผมถอน Assembly ออกไปแล้ว ไปเรียน Advance Programming (PHP) แทน" :05: :05: :05:
ไม่เคยใช้ LC-3 ลอง TASM ดูมั้ย สะดวกดีนะ debug ง่ายด้วย
ไม่น่าถอนเลย จริงๆเรียนพวก low level language ผมว่าดีออก
ช่วยให้เข้าในกระบวนการคิดของคอมพิวเตอร์ได้มากขึ้น
ส่วนพวก high level language ไม่น่ามีสอนเลย ใครสนใจภาษาอะไร ก็ไปต่อยอดกันเอาเอง
ตอนที่ผมเรียน programming language ที่สอนจริงๆ มีแค่ 2 อันคือ Assembly กับ Prolog
C, PHP, JAVA ไม่ต้องพูดถึง โยนโจทย์มาตู้ม แล้วไปหาวิธีทำ หา syntax ในการเขียนกันเอง :05:
ส่วนใหญ่สอนแค่แนวคิดกับ algorithm ต่างๆ ซึ่งก็ลืมหมดแล้ว :3005:
Micro ยังสอนอยู่ครับพี่เจน
แต่ยังไม่ได้ลง :16:
high level นี่มีสอนหน่อก็ดีนะครับ ทิ้งไปเลยอาจตาย :44:
อย่างน้อยก็ java
เพราะเขียน c เป็นมาตั้งนาน มาเจอจาวาแล้วเอ๋อเลย :08:
อ้างคำพูดจาก: ต้น เมื่อ 07 ก.ย. 2009, 11:36 น.
ไม่เคยใช้ LC-3 ลอง TASM ดูมั้ย สะดวกดีนะ debug ง่ายด้วย
ดูเหมือนอาจารย์เขาบังคับ LC-3 น่ะครับพี่ต้น
ผมก็ไม่เคยใช้เหมือนกันครับ :08:
อ้างคำพูดจาก: Nutto Oregano เมื่อ 07 ก.ย. 2009, 12:02 น.
high level นี่มีสอนหน่อก็ดีนะครับ ทิ้งไปเลยอาจตาย :44:
อย่างน้อยก็ java
เพราะเขียน c เป็นมาตั้งนาน มาเจอจาวาแล้วเอ๋อเลย :08:
ผมเฉยๆ นะ ขนาดเขียน vb มาเป็ฯ java ยังไม่มีปัญหาเลย
concept มันก็เหมือนกันหมดทุกภาษา
c ก็มองเป็น oop ได้ โดยไม่ต้องพึ่ง c++
อาจเพราะรู้จักภาษาซีน้อยไปด้วยมั้ง
พอเริ่มจะเขียนสตรักเจอร์ ใช้พอยท์เตอร์ ก็เริ่มงงแล้ว
เลยไม่ได้อ่านต่อเลย
จาวาที่เอ๋อๆ นี่จะเป็นช่วงเอ็กเซปชั่น โทรว อะไรนั่นแหละ อยู่ท้ายๆ ของเทอมพอดี :05a:
:56: เค้าลืมไปหมดแล้ว
ถ้าเป็นตอนที่เพิ่งเรียนวิชา Micro อยู่ ตอบให้ไปละ
High-Level ไปเรียนเอาเองยังได้
แต่ C กับ Assembly นี่ยังไงก็ไม่ไหว ต้องเรียนใน ม.
ปล. ที่ ม.อ. เขียนภาษา C โดยใช้ keil uvision คอมไพล์ เป็น hex file
แล้วใช้ flash magic อัดลง lpc-2103 อีกที
สรุป ก็คือ ไม่ได้ใช้ assembly อยู่ดี :08:
คุยภาษาอะไรก๊านนน :05:
เอาละ จะลองทำดูละครับ
เดี๋ยวติดตรงไหนมาถามเน่อ ^^
+พี่ๆ ที่แม้จะช่วยไม่ได้ แต่ก็มีน้ำใจมาช่วย ฟอนต์นี่อบอุ่นจริงๆ :25:
อ้างคำพูดจาก: blackRabbit เมื่อ 07 ก.ย. 2009, 14:46 น.
:56: เค้าลืมไปหมดแล้ว
ถ้าเป็นตอนที่เพิ่งเรียนวิชา Micro อยู่ ตอบให้ไปละ
\:05:
เมื้อกี้ไปค้นThesis ที่ทำตอนเรียนจบมา
งงไปหมดเลย สงสัยอยู่ว่าตูทำได้ถึงขั้นนั้นเลยเหรอ :08: