Branch instructionsAll ARM processors support a branch instruction tha dịch - Branch instructionsAll ARM processors support a branch instruction tha Việt làm thế nào để nói

Branch instructionsAll ARM processo

Branch instructions
All ARM processors support a branch instruction that allows a conditional branch forwards or backwards up to 32MB. As the PC is one of the general-purpose registers (R15), a branch or jump can also be generated by writing a value to R15.
A subroutine call can be performed by a variant of the standard branch instruction. As well as allowing a branch forward or backward up to 32MB, the Branch with Link (BL) instruction preserves the address of the instruction after the branch (the return address) in the LR (R14).
In T variants of ARMv4 and above, the Branch and Exchange (BX) instruction copies the contents of a general-purpose register Rm to the PC (like a MOV PC,Rm instruction), with the additional functionality that if bit[0] of the transferred value is 1, the processor shifts to Thumb® state. Together with the corresponding Thumb instructions, this allows interworking branches between ARM and Thumb code.
Interworking subroutine calls can be generated by combining BX with an instruction to write a suitable return address to the LR, such as an immediately preceding MOV LR,PC instruction.
In ARMv5 and above, there are also two types of Branch with Link and Exchange (BLX) instruction:

• One type takes a register operand Rm, like a BX instruction. This instruction behaves like a BX instruction, and additionally writes the address of the next instruction into the LR. This provides a more efficient interworking subroutine call than a sequence of MOV LR,PC followed by BX Rm.
• The other type behaves like a BL instruction, branching backwards or forwards by up to 32MB and writing a return link to the LR, but shifts to Thumb state rather than staying in ARM state as BL does. This provides a more efficient alternative to loading the subroutine address into Rm followed by a BLX Rm instruction when it is known that a Thumb subroutine is being called and that the subroutine lies within the 32MB range.
A load instruction provides a way to branch anywhere in the 4GB address space (known as a long branch). A 32-bit value is loaded directly from memory into the PC, causing a branch. A long branch can be preceded by MOV LR,PC or another instruction that writes the LR to generate a long subroutine call. In ARMv5 and above, bit[0] of the value loaded by a long branch controls whether the subroutine is executed in ARM state or Thumb state, just like bit[0] of the value moved to the PC by a BX instruction. Prior to ARMv5, bits[1:0] of the value loaded into the PC are ignored, and a load into the PC can only be used to call a subroutine in ARM state.
In non-T variants of ARMv5, the instructions described above can cause an entry into Thumb state despite the fact that the Thumb instruction set is not present. This causes the instruction at the branch target to enter the Undefined Instruction exception. See The interrupt disable bits on page A2-14 for more details.
In ARMv6 and above, and in J variants of ARMv5, there is an additional Branch and Exchange Jazelle® instruction, see BXJ on page A4-21.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Hướng dẫn chi nhánhTất cả các bộ vi xử lý ARM hỗ trợ một hướng dẫn chi nhánh cho phép một chi nhánh có điều kiện chuyển tiếp hoặc ngược lên đến 32MB. Khi máy PC là một trong các đăng ký đa năng (R15), một chi nhánh hoặc nhảy cũng có thể được tạo ra bằng cách viết một giá trị để R15.Một cuộc gọi chương trình con có thể được thực hiện bởi một phiên bản của các hướng dẫn tiêu chuẩn chi nhánh. Cũng như cho phép một chi nhánh về phía trước hoặc ngược trở lại lên đến 32 MB, các chi nhánh với hướng dẫn liên kết (BL) bảo tồn địa chỉ của các hướng dẫn sau chi nhánh (địa chỉ trả lại) trong LR (R14).Trong T biến thể của ARMv4 và ở trên, các chỉ dẫn chi nhánh và đổi Ngoại tệ (BX) sao chép nội dung của một đăng ký đa năng Rm với máy tính (như một MOV PC, Rm hướng dẫn), với chức năng bổ sung rằng nếu chút [0] chuyển giá trị là 1, bộ vi xử lý thay đổi trạng thái Thumb ®. Cùng với các hướng dẫn tương ứng của ngón tay cái, điều này cho phép interworking chi nhánh giữa cánh tay và ngón tay cái mã.Interworking chương trình con cuộc gọi có thể được tạo ra bằng cách kết hợp BX với một hướng dẫn để viết một địa chỉ trả lại phù hợp với LR, chẳng hạn như một LR MOV ngay lập tức trước, PC hướng dẫn.Trong ARMv5 và ở trên, có cũng là hai loại chi nhánh với hướng dẫn liên kết và trao đổi (BLX):• Một loại mất một operand đăng ký Rm, giống như một chỉ dẫn BX. Hướng dẫn này hoạt động như một hướng dẫn BX, và ngoài ra ghi địa chỉ của các hướng dẫn tiếp theo vào LR. Điều này cung cấp một hiệu quả hơn interworking chương trình con gọi hơn một chuỗi các MOV LR, PC theo BX Rm.• Các loại hình khác hoạt động như một hướng dẫn BL, phân nhánh ngược trở lại hoặc chuyển tiếp bởi lên đến 32MB và viết một liên kết trở lại để LR, nhưng thay đổi để ngón tay cái bang chứ không phải ở trong tay nhà nước như BL. Điều này cung cấp một lựa chọn hiệu quả hơn để tải chương trình con địa chỉ vào Rm theo sau là một giảng dạy BLX Rm khi nó được biết rằng một chương trình con ngón tay cái được gọi là và rằng chương trình con nằm trong phạm vi 32MB.Một hướng dẫn tải cung cấp một cách để chi nhánh bất cứ nơi nào trong không gian địa chỉ 4GB (được biết đến như là một chi nhánh long). Một giá trị 32-bit được tải trực tiếp từ bộ nhớ vào PC, gây ra một chi nhánh. Một chi nhánh long có thể được trước bởi MOV LR, PC hoặc một chỉ dẫn viết LR để tạo ra một cuộc gọi chương trình con dài. Trong ARMv5 và ở trên, bit [0] của giá trị được tải bởi một chi nhánh long kiểm soát cho dù chương trình con được thực thi trong cánh tay bang hay tiểu bang ngón tay cái, cũng giống như bit [0] của giá trị di chuyển đến máy PC bằng một chỉ dẫn BX. Trước khi ARMv5, bit [1:0] của giá trị được tải vào máy PC được bỏ qua, và một tải vào máy PC chỉ có thể được sử dụng để gọi một chương trình con thuộc cánh tay.-T các biến thể của ARMv5, các hướng dẫn Mô tả ở trên có thể gây ra một mục nhập vào ngón tay cái bang mặc dù thực tế rằng các ngón tay cái hướng dẫn thiết lập không phải là hiện tại. Điều này gây ra các hướng dẫn tại mục tiêu chi nhánh để nhập ngoại lệ không xác định hướng dẫn. Xem gián đoạn vô hiệu hóa bit trên trang A2-14 để biết chi tiết.Trong ARMv6 và ở trên, và trong J biến thể của ARMv5, có một hướng dẫn bổ sung chi nhánh và trao đổi Jazelle ®, xem BXJ trên trang A4-21.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Hướng dẫn chi nhánh
Tất cả các bộ vi xử lý ARM hỗ trợ một lệnh rẽ nhánh cho phép một tiền đạo chi nhánh có điều kiện hoặc ngược lên đến 32MB. Khi máy tính là một trong những thanh ghi mục đích chung (R15), một chi nhánh hoặc nhảy cũng có thể được tạo ra bằng cách viết một giá trị cho R15.
A gọi chương trình con có thể được thực hiện bởi một biến thể của các hướng dẫn tiêu chuẩn ngành. Cũng như cho phép một chi nhánh về phía trước hoặc phía sau, lên đến 32MB, Chi nhánh với Link (BL) hướng dẫn bảo tồn các địa chỉ của lệnh sau khi các chi nhánh (địa chỉ trở về) trong LR (R14).
Trong T biến thể của ARMv4 và ở trên, Chi nhánh và Exchange (BX) hướng dẫn các bản sao nội dung của một mục đích chung đăng ký Rm cho PC (giống như một PC MOV, hướng Rm), với các chức năng bổ sung nếu bit [0] giá trị chuyển nhượng là 1, bộ vi xử lý chuyển sang Thumb® nhà nước. Cùng với các hướng dẫn Thumb tương ứng, điều này cho phép ảnh hưởng lẫn nhau, ngành giữa ARM và mã Thumb.
Interworking cuộc gọi chương trình con có thể được tạo ra bằng cách kết hợp BX với một chỉ dẫn để viết một địa chỉ trả lại phù hợp với LR, như một MOV LR ngay trước, hướng PC.
Trong ARMv5 và ở trên, cũng có hai loại chi nhánh với Link và Exchange (BLX) hướng dẫn: • Một loại có một Rm đăng ký toán hạng, như hướng dẫn BX. Lệnh này hoạt động như một hướng dẫn BX, và thêm vào đó viết địa chỉ của lệnh tiếp theo vào LR. Điều này cung cấp một cuộc gọi liên mạng chương trình con có hiệu quả hơn là một chuỗi của MOV LR, PC tiếp theo BX Rm. • Các loại khác cư xử giống như một hướng dẫn BL, phân nhánh hoặc lùi lại lên đến 32MB và viết một liên kết trở lại với LR, nhưng ca trạng thái Thumb hơn là ở trong trạng thái ARM như BL nào. Đây là một lựa chọn hiệu quả hơn để tải các địa chỉ chương trình con vào Rm theo sau là một hướng dẫn BLX Rm khi nó được biết rằng một chương trình con Thumb đang được kêu gọi và rằng các chương trình con nằm trong khoảng 32MB. Một hướng dẫn tải cung cấp một cách để chi nhánh bất cứ nơi nào trong không gian địa chỉ 4GB (được biết đến như một cành cây dài). Một giá trị 32-bit được nạp trực tiếp từ bộ nhớ vào máy tính, gây ra một chi nhánh. Một cành cây dài có thể được bắt đầu bằng MOV LR, tính hoặc một hướng dẫn mà viết LR để tạo ra một chương trình con gọi dài. Trong ARMv5 và ở trên, bit [0] của các giá trị nạp bởi một điều khiển cành cây dài cho dù các chương trình con được thực hiện trong trạng thái ARM hay trạng thái Thumb, giống như bit [0] giá trị chuyển đến máy tính bằng một lệnh BX. Trước ARMv5, bit [1: 0]. Các giá trị nạp vào PC được bỏ qua, và một tải vào máy tính chỉ có thể được sử dụng để gọi một chương trình con trong trạng thái ARM Trong không-T biến thể của ARMv5, các hướng dẫn mô tả ở trên có thể gây ra một mục nhập vào trạng thái Thumb mặc dù thực tế rằng các tập lệnh Thumb là không có mặt. Điều này gây ra các hướng dẫn tại các mục tiêu chi nhánh để vào Instruction ngoại lệ xác định. Xem Các bit vô hiệu hóa ngắt trên trang A2-14 để biết thêm chi tiết. Trong ARMv6 và ở trên, và trong các biến thể của J ARMv5, có một chi nhánh bổ sung và hướng dẫn giao dịch Jazelle®, xem BXJ trên trang A4-21.






đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: