We are going to call puts function. This function is defined in the C  การแปล - We are going to call puts function. This function is defined in the C  ไทย วิธีการพูด

We are going to call puts function.

We are going to call puts function. This function is defined in the C library and has the following prototype int puts(const char*). It receives, as a first parameter, the address of a C-string (this is, a sequence of bytes where no byte but the last is zero). When executed it outputs that string to stdout (so it should appear by default to our terminal). Finally it returns the number of bytes written.

We start by defining in the .data the label greeting in lines 4 and 5. This label will contain the address of our greeting message. GNU as provides a convenient .asciz directive for that purpose. This directive emits as bytes as needed to represent the string plus the final zero byte. We could have used another directive .ascii as long as we explicitly added the final zero byte.

After the bytes of the greeting message, we make sure the next label will be 4 bytes aligned and we define a return label in line 8. In that label we will keep the value of lr that we have in main. As stated above, this is a requirement for a well behaved function: be able to get the original value of lr upon entering. So we make some room for it.

The first two instructions, lines 14 an 15, of our main function keep the value of lr in that return variable defined above. Then in line 17 we prepare the arguments for the call to puts. We load the address of the greeting message into r0 register. This register will hold the first (the only one actually) parameter of puts. Then in line 20 we call the function. Recall that bl will set in lr the address of the instruction following it (this is the instruction in line 23). This is the reason why we copied the value of lr in a variable in the beginning of the main function, because it was going to be overwritten by bl.

Ok, puts runs and the message is printed on the stdout. Time to get the initial value of lr so we can return successfully from main. Then we return.

Is our main function well behaved? Yes, it keeps and gets back lr to leave. It only modifies r0 and r1. We can assume that puts is well behaved as well, so everything should work fine. Plus the bonus of seeing how many bytes have been written to the output.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
We are going to call puts function. This function is defined in the C library and has the following prototype int puts(const char*). It receives, as a first parameter, the address of a C-string (this is, a sequence of bytes where no byte but the last is zero). When executed it outputs that string to stdout (so it should appear by default to our terminal). Finally it returns the number of bytes written.We start by defining in the .data the label greeting in lines 4 and 5. This label will contain the address of our greeting message. GNU as provides a convenient .asciz directive for that purpose. This directive emits as bytes as needed to represent the string plus the final zero byte. We could have used another directive .ascii as long as we explicitly added the final zero byte.After the bytes of the greeting message, we make sure the next label will be 4 bytes aligned and we define a return label in line 8. In that label we will keep the value of lr that we have in main. As stated above, this is a requirement for a well behaved function: be able to get the original value of lr upon entering. So we make some room for it.The first two instructions, lines 14 an 15, of our main function keep the value of lr in that return variable defined above. Then in line 17 we prepare the arguments for the call to puts. We load the address of the greeting message into r0 register. This register will hold the first (the only one actually) parameter of puts. Then in line 20 we call the function. Recall that bl will set in lr the address of the instruction following it (this is the instruction in line 23). This is the reason why we copied the value of lr in a variable in the beginning of the main function, because it was going to be overwritten by bl.Ok, puts runs and the message is printed on the stdout. Time to get the initial value of lr so we can return successfully from main. Then we return.Is our main function well behaved? Yes, it keeps and gets back lr to leave. It only modifies r0 and r1. We can assume that puts is well behaved as well, so everything should work fine. Plus the bonus of seeing how many bytes have been written to the output.
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
พวกเราจะไปเรียกทำให้ฟังก์ชั่น ฟังก์ชั่นนี้ถูกกำหนดไว้ในห้องสมุด C และมีต้นแบบทำให้ int ดังต่อไปนี้ (ถ่าน const *) ได้รับเป็นพารามิเตอร์ตัวแรกที่อยู่ของ C-สตริง (นี้เป็นลำดับของไบต์ที่ไม่มีไบต์ แต่สุดท้ายคือศูนย์) เมื่อดำเนินการมันจะออกผลลัพธ์สตริงที่ stdout ว่า (ดังนั้นจึงควรจะปรากฏขึ้นโดยค่าเริ่มต้นไปยังสถานีของเรา) ในที่สุดก็จะส่งกลับจำนวนไบต์ที่เขียน. เราเริ่มต้นด้วยการกำหนดใน .data ป้ายอวยพรในสาย 4 และ 5 ฉลากนี้จะมีอยู่ของข้อความอวยพรของเรา GNU ทั้งให้คำสั่ง .asciz สะดวกสำหรับวัตถุประสงค์ที่ คำสั่งนี้ปล่อยออกมาเป็นไบต์ตามความจำเป็นเพื่อเป็นตัวแทนของสตริงบวกสุดท้ายไบต์ศูนย์ เราจะได้ใช้ .ascii สั่งอีกตราบใดที่เราอย่างชัดเจนเพิ่มสุดท้ายไบต์ศูนย์. หลังจากไบต์ของข้อความอวยพรที่เราให้แน่ใจว่าป้ายต่อไปจะ 4 ไบต์ชิดและเรากำหนดฉลากผลตอบแทนในสาย 8. ในที่ ป้ายเราจะเก็บค่าของ LR ที่เรามีอยู่ในหลัก ตามที่ระบุไว้ข้างต้นนี้เป็นความต้องการสำหรับการทำงานที่ประพฤติดี: จะสามารถที่จะได้รับค่าเดิมของ LR เข้า ดังนั้นเราจึงให้ห้องพักบางส่วนสำหรับมัน. ทั้งสองคำแนะนำแรกสาย 14 15 ของฟังก์ชั่นหลักของเราให้ค่าของ LR ในตัวแปรผลตอบแทนที่กำหนดไว้ข้างต้น จากนั้นในบรรทัดที่ 17 เราเตรียมความพร้อมอาร์กิวเมนต์สำหรับการเรียกร้องให้ทำให้ เราโหลดอยู่ของข้อความอวยพรลงใน R0 ลงทะเบียน การลงทะเบียนนี้จะถือเป็นครั้งแรก (เพียงคนเดียวจริง ๆ ) ของพารามิเตอร์ทำให้ จากนั้นในสาย 20 ที่เราเรียกฟังก์ชั่น จำ BL ที่จะตั้งอยู่ใน LR อยู่ของคำสั่งดังต่อไปนี้มัน (นี่คือการเรียนการสอนในสาย 23) นี่คือเหตุผลว่าทำไมเราคัดลอกค่าของ LR ในตัวแปรในการเริ่มต้นของฟังก์ชั่นหลักเพราะมันกำลังจะถูกเขียนทับโดย BL. ตกลงทำให้วิ่งและข้อความที่พิมพ์บน stdout ถึงเวลาที่จะได้รับค่าเริ่มต้นของ LR เพื่อให้เราสามารถกลับมาประสบความสำเร็จจากหลัก จากนั้นเราก็กลับมา. เป็นหน้าที่หลักของเราประพฤติดี? ใช่มันช่วยให้และได้รับกลับ LR ที่จะออกจาก มันปรับเปลี่ยนและ R0 R1 เราสามารถสรุปได้ว่าจะทำให้ประพฤติดีเป็นอย่างดีเพื่อให้ทุกอย่างควรปรับการทำงาน บวกโบนัสเห็นไบต์หลายวิธีที่ได้รับการเขียนเพื่อการส่งออก









การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
เราจะโทรไปให้ฟังก์ชั่น ฟังก์ชันนี้เป็นฟังก์ชันที่กำหนดไว้ในไลบรารี C และมีดังต่อไปนี้ต้นแบบใส่ int ( Const char * ) ได้รับเป็นพารามิเตอร์แรก ที่อยู่ของ c-string ( นี้คือลำดับของไบต์ที่ไม่มีไบต์ แต่สุดท้ายคือศูนย์ ) เมื่อดำเนินการมันออกสตริงที่จะ stdout ( มันควรจะปรากฏขึ้น โดยเริ่มต้นที่สถานีของเรา ) ในที่สุดก็จะส่งกลับจำนวนไบต์ที่เขียนเราเริ่มต้นโดยการกำหนดใน ข้อมูลป้ายอวยพรในบรรทัดที่ 4 และ 5 ป้ายนี้จะประกอบด้วยที่อยู่ข้อความอวยพรเรา GNU เป็นมีสะดวก คำสั่ง asciz สำหรับวัตถุประสงค์ที่ คำสั่งนี้จะเป็นไบต์เป็นต้องแสดงสตริงบวกสุดท้ายศูนย์ไบต์ เราสามารถใช้คำสั่งอื่น แอสกี ตราบใดที่เราอย่างชัดเจนเพิ่มสุดท้ายศูนย์ไบต์หลังจากที่ไบต์ของข้อความทักทาย เราให้แน่ใจว่าป้ายหน้าจะ 4 ไบต์ชิดและเรากำหนดกลับป้ายในบรรทัดที่ 8 ในป้ายที่เราจะเก็บค่าของ LR ที่เรามีอยู่ในหลัก ตามที่ระบุไว้ข้างต้นนี้เป็นสิ่งจำเป็นสำหรับประพฤติดีฟังก์ชัน : สามารถรับค่าต้นฉบับของ LR เมื่อป้อน เราทำห้องให้มัน2 คำสั่งแรก สาย 14 มี 15 , ฟังก์ชันหลักของเราเก็บค่าของตัวแปรที่กำหนดไว้ใน LR ที่ผลตอบแทนสูงกว่า ในบรรทัดที่ 17 เราเตรียมสำหรับการโทรที่จะทําให้ เราโหลดที่อยู่ของข้อความอวยพรใน r0 ลงทะเบียน การลงทะเบียนนี้จะถือเป็นครั้งแรก ( คนเดียวจริงๆ ) วิธีทําให้ แล้วในบรรทัดที่ 20 เราเรียกฟังก์ชัน จำได้ว่า BL จะตั้งค่าใน LR ที่อยู่ของคำสั่งต่อไป ( นี้เป็นคำสั่งในบรรทัดที่ 23 ) นี่คือเหตุผลที่เราคัดลอกค่าของ LR ในตัวแปรในการเริ่มต้นของฟังก์ชันหลัก เพราะมันกำลังจะถูกเขียนทับโดย Bl .โอเค ใส่วิ่ง และข้อความจะถูกพิมพ์ใน stdout . เวลารับค่าเริ่มต้นของ LR ดังนั้นเราสามารถกลับมาเรียบร้อยแล้ว จากหลัก แล้วเราก็กลับเป็นฟังก์ชันหลักประพฤติดี ? ใช่ มันช่วยให้ และกลับมา LR ไป มันปรับเปลี่ยนและ r0 R1 . เราสามารถสรุปได้ว่า จะทำให้เป็นคนดีเช่นกัน ดังนั้นทุกอย่างควรทำงานดี บวกโบนัสเห็นกี่ไบต์จะถูกเขียนเพื่อส่งออก
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: