8.5 Context Saving During InterruptsDuring an interrupt, only the retu การแปล - 8.5 Context Saving During InterruptsDuring an interrupt, only the retu ไทย วิธีการพูด

8.5 Context Saving During Interrupt

8.5 Context Saving During Interrupts
During an interrupt, only the return PC value is saved on the stack. Typically, users may wish to
save key registers during an interrupt e.g. W register and STATUS register. This has to be implemented
in software.
The action of saving information is commonly referred to as “PUSHing,” while the action of restoring
the information before the return is commonly referred to as “POPing.” These (PUSH, POP)
are not instruction mnemonics, but are conceptual actions. This action can be implemented by a
sequence of instructions. For ease of code transportability, these code segments can be made
into MACROs (see MPASM Assembler User’s Guide for details on creating macros).
Example 8-1 stores and restores the STATUS and W registers for devices with common RAM
(such as the PIC16C77). The user register, W_TEMP, must be defined across all banks and must
be defined at the same offset from the bank base address (i.e., W_TEMP is defined at 0x70 -
0x7F in Bank0). The user register, STATUS_TEMP, must be defined in Bank0, in this example
STATUS_TEMP is also in Bank0.
The steps of Example 8-1:
1. Stores the W register regardless of current bank.
2. Stores the STATUS register in Bank0.
3. Executes the Interrupt Service Routine (ISR) code.
4. Restores the STATUS (and bank select bit register).
5. Restores the W register.
If additional locations need to be saved before executing the Interrupt Service Routine (ISR)
code, they should be saved after the STATUS register is saved (step 2), and restored before the
STATUS register is restored (step 4).
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
8.5 บริบทที่บันทึกระหว่างการขัดจังหวะในระหว่างการขัดจังหวะ เฉพาะ PC ค่าที่ส่งคืนจะถูกบันทึกในกองซ้อน โดยปกติ ผู้ใช้อาจต้องการบันทึกคีย์ทะเบียนในระหว่างการขัดจังหวะเช่น W ทะเบียนและสถานะการลงทะเบียน มีการดำเนินการในซอฟต์แวร์การดำเนินการของการบันทึกข้อมูลโดยทั่วไปเรียกว่า "PUSHing ในขณะที่การดำเนินการของคืนข้อมูลก่อนส่งคืนโดยทั่วไปเรียกว่า "POPing" เหล่านี้ (PUSH, POP)ไม่ได้สอน mnemonics ได้มีการดำเนินการแนวคิด การดำเนินการนี้สามารถนำมาใช้โดยการลำดับของคำแนะนำ ง่ายของ transportability รหัส เซ็กเมนต์รหัสเหล่านี้สามารถทำได้ในแมโคร (ดูมิเตอร์ MPASM คู่มือผู้ใช้สำหรับรายละเอียดเกี่ยวกับการสร้างแมโค)ตัวอย่างที่ 8-1 จัดเก็บ และคืนค่าลงทะเบียนสถานะและ W อุปกรณ์มี RAM ทั่วไป(เช่น PIC16C77) การลงทะเบียนผู้ใช้ W_TEMP ต้องกำหนดผ่านธนาคารทั้งหมด และต้องกำหนดที่ตรงข้ามกันจากอยู่พื้นฐานของธนาคาร (เช่น W_TEMP ไว้ที่ 0x70 -0x7F ใน Bank0) การลงทะเบียนผู้ใช้ STATUS_TEMP ต้องกำหนดใน Bank0 ในตัวอย่างนี้STATUS_TEMP ยังอยู่ใน Bank0ขั้นตอนของตัวอย่างที่ 8-1:1. ร้านค้า W การลงทะเบียน โดยธนาคารปัจจุบัน2. จัดเก็บทะเบียนสถานะใน Bank03. ดำเนินการรหัสยุติบริการประจำ (ISR)4. การคืนค่าสถานะ (และธนาคารเลือกทะเบียนบิต)5. คืนค่า W การลงทะเบียนเพิ่มเติมสถานต้องถูกบันทึกก่อนที่จะดำเนินการยุติบริการประจำ (ISR)รหัส พวกเขาควรถูกบันทึกหลังจากการลงทะเบียนสถานะบันทึก (ขั้นตอนที่ 2), และเรียกคืนก่อนมีการคืนค่าสถานะลงทะเบียน (ขั้นตอนที่ 4)
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
8.5 บริบทออมทรัพย์ในช่วง Interrupts
ในระหว่างการขัดจังหวะเพียงค่าเครื่องคอมพิวเตอร์กลับมาจะถูกบันทึกไว้ในกอง โดยปกติแล้วผู้ใช้อาจต้องการที่จะบันทึกลงทะเบียนที่สำคัญในระหว่างการขัดจังหวะเช่น W ทะเบียนและสถานภาพการลงทะเบียน นี้จะต้องมีการดำเนินการในซอฟแวร์. การกระทำของการบันทึกข้อมูลจะเรียกกันทั่วไปว่า "ผลักดัน" ในขณะที่การกระทำของคืนข้อมูลก่อนที่จะกลับเป็นปกติจะเรียกว่า"poping." เหล่านี้ (PUSH, POP) ไม่ได้การเรียนการสอน จำ แต่การกระทำความคิด การดำเนินการนี้สามารถดำเนินการได้โดยลำดับของคำสั่ง เพื่อความสะดวกในพารหัสส่วนรหัสเหล่านี้จะสามารถทำลงในแมโคร (ดูคู่มือการใช้งาน MPASM ประกอบสำหรับรายละเอียดเกี่ยวกับการสร้างแมโคร). ตัวอย่าง 8-1 ร้านค้าและเรียกคืนสถานะและ W การลงทะเบียนสำหรับอุปกรณ์ที่มีหน่วยความจำร่วมกัน(เช่น PIC16C77) ที่ . ลงทะเบียนผู้ใช้ W_TEMP จะต้องกำหนดไว้ทั่วทุกธนาคารและจะต้องมีการกำหนดไว้ในเวลาเดียวกันชดเชยจากฐานที่อยู่ธนาคาร(เช่น W_TEMP ถูกกำหนดไว้ที่ 0x70 - 0x7F ใน Bank0) ลงทะเบียนผู้ใช้ STATUS_TEMP จะต้องกำหนดไว้ใน Bank0 ในตัวอย่างนี้STATUS_TEMP ยังอยู่ใน Bank0. ขั้นตอนของตัวอย่าง 8-1: 1 ร้านค้า W ลงทะเบียนโดยไม่คำนึงถึงของธนาคารในปัจจุบัน. 2 เก็บลงทะเบียนสถานะใน Bank0. 3 ดำเนินการบริการขัดจังหวะประจำ (ISR) รหัส. 4 คืนสถานะ (และธนาคารลงทะเบียนเลือกบิต). 5 คืนค่าลงทะเบียนน W. หากสถานที่เพิ่มเติมจะต้องมีการบันทึกไว้ก่อนที่จะดำเนินการตามปกติบริการขัดจังหวะ (ISR) รหัสพวกเขาควรจะได้รับการบันทึกไว้หลังจากลงทะเบียนสถานะจะถูกบันทึกไว้ (ขั้นตอนที่ 2) และการเรียกคืนก่อนที่จะลงทะเบียนสถานะมีการเรียกคืน(ขั้นตอนที่ 4) .




















การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
8.5 ในบริบทการรักษา
ในระหว่างการขัดเพียงคืนค่าคอมพิวเตอร์ที่บันทึกไว้ในสแต็ค โดยทั่วไปแล้ว ผู้ใช้อาจต้องการ
บันทึกทะเบียนคีย์ในระหว่างการขัดจังหวะเช่น W ลงทะเบียนและสถานะลงทะเบียน นี้ต้องใช้

ในซอฟต์แวร์การบันทึกข้อมูลโดยทั่วไปเรียกว่า " ผลัก " ในขณะที่การกระทำของการฟื้นฟู
ข้อมูล ก่อนจะกลับมาเป็นปกติจะเรียกว่า " เจาะ " เหล่านี้ ( ผลักป๊อป )
ไม่ใช่ผู้ขนส่งสอน แต่การกระทำครั้งนี้ การกระทำนี้สามารถดำเนินการได้โดย
ลำดับของคำสั่ง เพื่อความสะดวกของรหัส transportability ส่วนเหล่านี้รหัสสามารถทำ
เป็นแมโคร ( ดูคู่มือผู้ใช้สำหรับรายละเอียด mpasm ประกอบในการสร้างแมโคร ) .
ตัวอย่าง 8-1 ร้านค้าและเรียกคืนสถานะและ W ลงทะเบียนอุปกรณ์ที่มีทั่วไปบุรีรัมย์
( เช่น pic16c77 ) ผู้ใช้ที่ลงทะเบียน w_temp ต้องกำหนดไว้ในธนาคารและต้อง
ถูกกำหนดที่ตรงข้ามกันจากฐานธนาคารอยู่ ( เช่น w_temp กำหนดที่ 0x70 -
0x7f ใน bank0 ) ผู้ใช้ที่ลงทะเบียน status_temp ต้องกำหนดไว้ใน bank0 ในตัวอย่าง
status_temp ยังอยู่ใน bank0 .
ขั้นตอนของตัวอย่าง 8-1 :
1 ร้าน W ลงทะเบียนไม่ว่าธนาคารในปัจจุบัน .
2 ร้านค้าลงทะเบียนสถานะใน bank0 .
3 รันขัดจังหวะบริการตามปกติ ( ISR ) รหัส .
4 เรียกคืนสถานะ ( และธนาคารเลือกบิตลงทะเบียน )
5 การคืนค่า W ลงทะเบียน .
ถ้าสถานที่เพิ่มเติมต้องถูกบันทึกไว้ก่อนการขัดจังหวะบริการตามปกติ ( ISR )
รหัสพวกเขาจะถูกบันทึกไว้หลังจากลงทะเบียนสถานะจะถูกบันทึกไว้ ( ขั้นตอนที่ 2 ) และ คืนก่อน
สถานะลงทะเบียนคือการบูรณะ ( ขั้นตอนที่ 4 )
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: