ก็อย่างที่บอกไปข้างต้นนะครับ คือว่าเพิ่งจะเริ่มเขียนนะครับ แต่ว่าเรื่องคำสั่งยังงงมากมาย บางครั้งต้องเอาคำสั่งของภาษาซีไปเทียบเป็น python ใน google คิดว่าเขียนโดย python น่าจะทำให้ รู้เรื่องมากขึ้นอีกน่ะครับ แค่ช่วยอธิบายก็พอครับ หรือไม่ก็ยกคำสั่งที่สำคัญที่จะต้องใช้น่ะครับ คือตอนนี้มี .txt ที่เป็น file ให้หา object code กับ lc แล้วก็มีอีก .txt จะบอก opcode กับ format(มีแค่ format1-3 ครับ) ทำไปก็ติดปัญหาเรื่อง การอ่ายไฟล์ แล้วก็งงไปเลยคร้าบบบ
Hiring! บริษัทที่น่าสนใจ
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand
?
wearetherock Sun, 23/08/2009 - 01:27
?
แง่ว
aonnee Sun, 23/08/2009 - 01:30
แง่ว อารายเอ่ย
เศร้าใจ
aonnee Sun, 23/08/2009 - 01:32
เศร้าใจ ท่าทางไม่มีคนอยู่ต้องกลับไปใช้ c เขียนเหมือนเดิม so sad
เขียนโปรแ
dafty Sun, 23/08/2009 - 02:28
เขียนโปรแกรมเก่งแทบตายแต่คุยกับคนอื่นไม่รู้เรื่องก็เท่านั้นครับ ... ลองกลับไปคิดดูนะ
"เขียนโปรแ
aonnee Sun, 23/08/2009 - 02:48
"เขียนโปรแกรมเก่งแทบตายแต่คุยกับคนอื่นไม่รู้เรื่องก็เท่านั้นครับ ... ลองกลับไปคิดดูนะ"
หมายความว่า ให้กลับไปคิดคำถามมาใหม่อธิบายให้ละเอียด หรือว่าคำถามมันดูหรูหรามากเกินไป แต่ว่าอันที่จริงผมแค่อยากจะเรียนรู้ครับ ป่าวตั้งคำถามที่ตัวเองดูมีความเก่งกาจ คิดว่าการถามก็เหมือนกับการเพิ่มปัญญากับสิ่งที่เรายังไม่ทราบครับ
ลองอธิบาย
cwt Sun, 23/08/2009 - 03:22
ลองอธิบายใหม่ครับ แยกส่วนของ ความคิดเห็นส่วนตัว ปัญหาที่มี ผลสำเร็จที่ต้องการ และแนวทางที่อยากจะได้คำตอบ
ตามที่เขียนมาข้างบน บอกตรงๆ ว่าไม่รู้เรื่องเลย ไม่สามารถให้คำตอบได้
อ่านไม่รู
soginal Sun, 23/08/2009 - 14:27
อ่านไม่รู้เรื่องแฮะ หรือมันเป็นคำศัพท์อันลึกซึ้งชอง python?
"If debugging is the process of removing software bugs,
then programming must be the process of putting them in."
อ่า...ครับ
aonnee Sun, 23/08/2009 - 15:55
อ่า...ครับ งั้นต้องถามก่อนว่าทุกคนในที่นี้พอจะรู้จัก two pass assembler กันหรือป่าวอ่ะครับ
เข้าใจว่า
lew Sun, 23/08/2009 - 16:27
เข้าใจว่าคงเรียนวิชา System Software อยู่แล้วอยากใช้ Python ทำการบ้านใช่ไหมครับ
ผมเองจำไม่ค่อยได้แล้ว เวลาถามพวกนี้ ควรให้ข้อมูลคนตอบมากกว่านี้ครับ
อันข้างบนเป็นความพยายามตอบคำถามของน้องนะครับ แต่พี่แนะนำน้องสักหน่อยเวลาถามคำถามในชุมชนเปิดแบบนี้ครับ
LewCPE
เสริมอย่า
ABZee Sun, 23/08/2009 - 21:38
In reply to เข้าใจว่า by lew
เสริมอย่างนึง
ปล. ที่นี่เป็นชุมชนเปิดหรือ?
LongSpine.com
ก็ไม่มีใค
lew Mon, 24/08/2009 - 00:37
In reply to เสริมอย่า by ABZee
ก็ไม่มีใครต้องใช้บัตรอะไรมาสมัครนะ
โดนบล็อคไป กลับมาสมัครใหม่ก็มีให้เห็นนี่ ยังเล่นกันอยู่ดีจนวันนี้
LewCPE
จริงๆแล้ว
ABZee Mon, 24/08/2009 - 05:01
In reply to ก็ไม่มีใค by lew
จริงๆแล้วผมว่ามันยังมีหลายอย่างที่ขัดกับคำว่าสังคมเปิดอยู่นะครับ เช่นกรณีของแฟนคลับจาวาและแฟนคลับแอปเปิล ผมเลยคิดว่ามันเป็นสังคมปิด "แบบหลวมๆ"เสียมากกว่า
ไม่ใชแค่่ว่าต้องสมัครสมาชิกหรืออะไรถึงเป็นสังคมปิดนะ ถ้ายังมีกระบวนการคัดออกผมว่ามันก็ยังเป็นสังคมปิดอยู่
ที่ถามนี่เพราะเอะใจและสงสัยนะครับ ไม่ได้จงใจซะทีเดียว จริงๆแล้วสืบเนื่องจากกระทู้ ผมว่าไม่ว่าจะเป็นสังคมเปิดหรือสังคมปิดมันก็ต้องเขียนคำถามให้ชัดเจนทั้งนั้น โดยเฉพาะสังคมที่มีความหลากหลายของกลุ่มบุคคล
LongSpine.com
เพื่อป้อง
lew Mon, 24/08/2009 - 09:26
In reply to จริงๆแล้ว by ABZee
เพื่อป้องกันการออกทะเล ใครจะคุยเรื่องนี้ต่อตั้งกระทู้ใหม่เลยนะครับ
LewCPE
คือ
soginal Sun, 23/08/2009 - 16:30
คือ คุณลองจินตนาการว่าคุณไม่รู้เรื่องเกี่ยวกับตัวคุณเลย แล้วลองกลับไปอ่านคำถามของคุณดูนะว่าจะรู้สึกแบบผมรู้สึกไหม
"ก็อย่างที่บอกไปข้างต้นนะครับ คือว่าเพิ่งจะเริ่มเขียนนะครับ" - บอกไปตอนไหนหว่า? "แต่ว่าเรื่องคำสั่งยังงงมากมาย บางครั้งต้องเอาคำสั่งของภาษาซีไปเทียบเป็น python ใน google คิดว่าเขียนโดย python น่าจะทำให้ รู้เรื่องมากขึ้นอีกน่ะครับ" - นี่คือ ข้อคิดเห็นหรือคำถามครับ? "แค่ช่วยอธิบายก็พอครับ" -อธิบายอะไรครับ? ยังไม่เห็นคำถามเลย "หรือไม่ก็ยกคำสั่งที่สำคัญที่จะต้องใช้น่ะครับ" -?? "คือตอนนี้มี .txt ที่เป็น file ให้หา object code กับ lc แล้วก็มีอีก .txt จะบอก opcode กับ format(มีแค่ format1-3 ครับ)" - เข้าใจว่านี่เป็นโจทย์ "ทำไปก็ติดปัญหาเรื่อง การอ่ายไฟล์ แล้วก็งงไปเลยคร้าบบบ" - อยู่ๆก็ติดปัญหาเลยแบบไร้ต้นสายปลายเหตุ
WTF ครับ ______________________________________________ "If debugging is the process of removing software bugs, then programming must be the process of putting them in."
WTF
aonnee Sun, 23/08/2009 - 16:48
WTF อันนี้ใช้สกิลไม่มีดีเลย์ และไม่ต้องใช้ mana point หรือป่าวครับ (แหะล้อเล่นอ่ะครับ) ใช่ครับตอนี้ผมกำลังแปลงจาก ภาษาซี เป็น python อยู่ครับปัญหาที่สำคัญสำหรับผมตอนนี้คือเรื่องคำสั่งที่แตกต่างกันครับ ส่วนเรื่องปัญหาอยากจะโพสรูปแล้วก็ ส่วนของโปรแกรมที่ติดปัญหาอยู่ แต่หาที่โำสไม่เจออ่ะครับ ประมาณว่าโง่เรื่องตั้งกระทู้มากมาย เด๋วหาเจอแล้วจะโพสรูปให้ดูใหม่นะครับ จะได้พอเข้าใจคำถามกับปัญหาอ่ะครับ LC = Location Counter ครับ
LC
JavaDevil Sun, 23/08/2009 - 18:43
In reply to WTF by aonnee
LC มันคืออันเดียวกันกับ PC(Program Counter) ไหมครับ หรือคนละอันอยากรู้
คุณกำลังพยายามเขียน C compiler ด้วย Python หรือเปล่าครับ
ผมคงจะอธิ
aonnee Sun, 23/08/2009 - 18:30
ผมคงจะอธิบายไม่เก่ง อยากรู้วิธีการอ่านไฟล์ แล้วใส่ค่าในตัวแปล ยกตัวอย่าง
ผมมี file.txt ในนั้นมี(bird cat dog) ผมต้องการเรียกไฟล์ .txt มาอ่านพร้อมกับบันทึก bird,cat,dog ใส่ในตัวแปล a,b,c ตามลำดับ และต้องการตัดช่องว่าง(\t)กับตัดตัวที่ขึ้นบรรทัดใหม่(^\n) ซึ่งที่ผมหามาคือคำสั่ง re.split("\t",) แต่พอใส่ ([^\n]) แล้วสิ่งที่ได้จะเพี้ยน เช่น cat จะเหลือ at ตัว c หาย
ต้องการตั
ABZee Sun, 23/08/2009 - 21:50
In reply to ผมคงจะอธิ by aonnee
ต้องการตัดแค่ไหนหรือ อะไรที่ไม่ต้องการตัดบ้้าง? เพราะค่าตั้งต้นของ split มันค่อนข้างครอบคลุมแล้ว
ตัวอย่าง
ถ้าต้องการตัดบรรทัดก่อน แล้วค่อยตัดบล็อคเป็นคำๆก็ใช้
>>> txt.split('\n')
['a b c\t d', 'f']
ถ้าเปิดไฟล์ไม่เป็น ลองใช้ตัวอย่างนี้ดู
>>> f = open('input.txt', 'r')
>>> for line in f:
... print line
ถ้าเขียนแบบนี้ใน C คงใช้เวลาเป็นชั่วโมงแถมยังมีบัํกเหลือ
ทำตรงนี้เสร็จแล้วที่เหลือก็แค่ใช้พลังสวมเขาลุยท้องนา แยกพิจารณาคำสั่งเป็นกรณีๆไป
LongSpine.com
เช่น
aonnee Sun, 23/08/2009 - 23:12
In reply to ต้องการตั by ABZee
เช่น มีไฟล์ file.txt ข้างในมีข้อความดังตัวอย่าง
bird cat dog
ผมต้องการตัดเฉพาะช่องว่าง(\t)และขึ้นบรรทัดใหม่(\n)ครับ แล้วก็นำมาใส่ในตัวแปลภายในโปรแกรมที่เขียนขึ้นมาจะได้ค่า
a = bird
b = cat
c = dog
ตอนนี้ที่ตัดคือ เอา re.split("\t",line)(line = file ที่ open เข้ามา) มาตัดช่องว่างเสร็จแล้วมัน copy ใส่ในค่า a หมดทั้ง file.txt
['ิbird', 'cat', 'dog\n']
หาวิธีตัด \n ไม่ได้ด้วยอ่ะครับ ส่วนการเปิดไฟล์และอ่านผมใช้
file = open("(filename).txt","r")
while 1:
line1 = file.readline()
if not line:
break
ที่มาที่ใช้ประกอบการมั่วครับ http://www.java2s.com/Code/Python/CatalogPython.htm
เติมไปใน
cwt Sun, 23/08/2009 - 23:59
In reply to เช่น by aonnee
เติมไปใน if
if not line1:
break
else:
line1.strip() # เอา white space ทั้งสองด้านของ line1 ออก หรือจะใช้ .rstrip() เพื่อเอาเฉพาะข้างขวาออกก็ได้
เพิ่มเติม..
cwt Mon, 24/08/2009 - 00:02
In reply to เช่น by aonnee
เพิ่มเติม...
ผมใช้ python 2.6.2
darktong Mon, 24/08/2009 - 01:48
In reply to เช่น by aonnee
ผมใช้ python 2.6.2 นะ
with open('file.txt','r') as f:
d = f.read().split()
a = d[0]
b = d[1]
c = d[2]
print 'a =',a
print 'b =',b
print 'c =',c
โอ้ขอบคุณ
aonnee Mon, 24/08/2009 - 01:50
In reply to ผมใช้ python 2.6.2 by darktong
โอ้ขอบคุณมากครับ เดี๋ยวจะเอาไปลองเขียนดู
ครับ
aonnee Tue, 25/08/2009 - 12:05
In reply to ผมใช้ python 2.6.2 by darktong
ครับ คือค่อยๆเข้าใจคำสั่งแล้วครับ d=f.readline() มันจะเก็บที่ array d เป็นคำๆไปใช่มั้ยครับ
cat dog bird
bat dug
ผลลัพธ์ในการตัดแล้วจะได้
['cat','dog',bird']
['bat','dug']
ถ้าเราต้องการจะดึง แต่ละคำใน array d ออกมาและแถวที่ไม่มีคำ ไม่ต้องเก็บค่า ถ้าในภาษาซี ผมจะใช้ strtok เอาเฉพาะคำ ถ้าเจอช่องว่างก็ใส่ค่า NULL[*fp,*fpop = พอยต์เตอร์,str[255] = array]
while(!feof(fp))
{
fscanf(fp," %[^\n]",str);
label=strtok(str,"\t");
opc=strtok(NULL,"\t");
opr=strtok(NULL,"\t");
จะได้บรรทัดแรกประมาณว่า label = cat,opc = dog,opr = bird
บรรทัดที่สอง label = NULL,opc = bat,opr = dug
ถ้าต้องกา
ABZee Wed, 26/08/2009 - 03:10
In reply to ครับ by aonnee
ถ้าต้องการแบบที่เขียนนี้ต่อก็ใช้ strip('\n') แล้วใช้ split('\t') ก็ได้ เช่น
text = "cat\tdog\tbird\n"
label, opc, opr = text.strip('\n').split('\t')
จะได้
label = 'cat'
opc = 'dog'
opr = 'bird'
ถ้ามีแค่สองค่า เช่น text = "\tdog\tbird\n" จะได้ผลลัพท์เป๋น
label = ''
opc = 'dog'
opr = 'bird'
แต่ถ้าเขียนแบบนี้ก็ใช้ space แทน tab ในโค้ดไม่ได้นะ สมัยที่ผมทำ SIC/XE ผมถอด space ด้วย และนับเอาว่ามีกี่คำ ตัวไหนเป็น label ตัวไหนเป็น opcode แล้วค่อยเอาไปแทน label, opc, opr, comment ทีหลัง
แนะนำให้อ่านติวตอเรียลก่อน โดยหัดพวกการเล่นกับ string พื้นฐานสักหน่อย เพราะผมคิดว่าคุณอาจจะยังไม่คล่องตรงนี้เท่าไหร่
LongSpine.com
แหล่มเลยค
aonnee Wed, 26/08/2009 - 23:07
In reply to ถ้าต้องกา by ABZee
แหล่มเลยครับ เรื่องของ label กับ opcode เดี๋ยวผมจะเปิดอีกไฟล์ที่มีการบันทึกค่าเลข opcode กับ format มาเทียบค่าเลยครับ เลยต้องการที่จะเก็บ ค่าเป็น string ไว้ก่อน ก่อนนำไปเทียบค่าครับ แล้วอีกไฟล์ที่มีค่าก็จะใช้การตัดคำและการบันทึกค่าเป็น string เช่นเดียวกัน
ครับ
aonnee Sun, 23/08/2009 - 19:07
ครับ คือกำลัีงเขียน assember ใน python น่ะครับ LC หมายถึงตำแหน่งที่เก็บ instruction ส่วนที่ผมกำลังเขียน เขียนแค่ sic ครับ
คุยกับอาจ
ABZee Sun, 23/08/2009 - 21:29
In reply to ครับ by aonnee
คุยกับอาจารย์รึยังว่าต้องเขียนเป็น C ไหม เพราะกลัวว่าสุดท้ายแล้วต้องไปเขียน C เพื่อส่งเป็นการบ้านอีกที
LongSpine.com
ป่าวอ่ะคร
aonnee Sun, 23/08/2009 - 22:47
ป่าวอ่ะครับ มันเป็นความรู้เพิ่มเติมเอง ส่วนในภาษาซี ทำเสร็จเรียบร้อยแล้วครับ แค่คิดว่า การนำ code จาก c มาแปลงเป็น python มันน่าจะทำงานได้เร็วแล้วง่ายกว่าในส่วนของ assembler ความเห็นส่วนตัวน่ะครับ แล้วก็ขอบคุณ คุณABZee ครับ