ARM instruction setThe ARM instruction set can be divided into six bro dịch - ARM instruction setThe ARM instruction set can be divided into six bro Việt làm thế nào để nói

ARM instruction setThe ARM instruct

ARM instruction set
The ARM instruction set can be divided into six broad classes of instruction:
• Branch instructions
• Data-processing instructions on page A1-7
• Status register transfer instructions on page A1-8
• Load and store instructions on page A1-8
• Coprocessor instructions on page A1-10
• Exception-generating instructions on page A1-10.
Most data-processing instructions and one type of coprocessor instruction can update the four condition code flags in the CPSR (Negative, Zero, Carry and oVerflow) according to their result.
Almost all ARM instructions contain a 4-bit condition field. One value of this field specifies that the instruction is executed unconditionally.
Fourteen other values specify conditional execution of the instruction. If the condition code flags indicate that the corresponding condition is true when the instruction starts executing, it executes normally.
Otherwise, the instruction does nothing. The 14 available conditions allow:
• tests for equality and non-equality
• tests for = inequalities, in both signed and unsigned arithmetic
• each condition code flag to be tested individually.
The sixteenth value of the condition field encodes alternative instructions. These do not allow conditional execution. Before ARMv5 these instructions were UNPREDICTABLE.


A1.2.1 Branch instructions
As well as allowing many data-processing or load instructions to change control flow by writing the PC, a standard Branch instruction is provided with a 24-bit signed word offset, allowing forward and backward branches of up to 32MB.
There is a Branch and Link (BL) option that also preserves the address of the instruction after the branch in R14, the LR. This provides a subroutine call which can be returned from by copying the LR into the PC.
There are also branch instructions which can switch instruction set, so that execution continues at the branch target using the Thumb instruction set or Jazelle opcodes. Thumb support allows ARM code to call Thumb subroutines, and ARM subroutines to return to a Thumb caller. Similar instructions in the Thumb instruction set allow the corresponding Thumb ARM switches. An overview of the Thumb instruction set is provided in Chapter A6 The Thumb Instruction Set.
The BXJ instruction introduced with the J variant of ARMv5, and present in ARMv6, provides the architected mechanism for entry to Jazelle state, and the associated assertion of the J flag in the CPSR.



A1.2.2 Data-processing instructions
The data-processing instructions perform calculations on the general-purpose registers. There are five types of data-processing instructions:
• Arithmetic/logic instructions
• Comparison instructions
• Single Instruction Multiple Data (SIMD) instructions
• Multiply instructions on page A1-8
• Miscellaneous Data Processing instructions on page A1-8.


Arithmetic/logic instructions
The following arithmetic/logic instructions share a common instruction format. These perform an arithmetic or logical operation on up to two source operands, and write the result to a destination register. They can also optionally update the condition code flags, based on the result.
Of the two source operands:
• one is always a register
• the other has two basic forms:
— an immediate value
— a register value, optionally shifted.
If the operand is a shifted register, the shift amount can be either an immediate value or the value of another register. Five types of shift can be specified. Every arithmetic/logic instruction can therefore perform an arithmetic/logic operation and a shift operation. As a result, ARM does not have dedicated shift instructions.
The Program Counter (PC) is a general-purpose register, and therefore arithmetic/logic instructions can write their results directly to the PC. This allows easy implementation of a variety of jump instructions.


Comparison instructions
The comparison instructions use the same instruction format as the arithmetic/logic instructions. These perform an arithmetic or logical operation on two source operands, but do not write the result to a register. They always update the condition flags, based on the result.
The source operands of comparison instructions take the same forms as those of arithmetic/logic instructions, including the ability to incorporate a shift operation.


Single Instruction Multiple Data (SIMD) instructions
The add and subtract instructions treat each operand as two parallel 16-bit numbers, or four parallel 8-bit numbers. They can be treated as signed or unsigned. The operations can optionally be saturating, wrap around, or the results can be halved to avoid overflow.
These instructions are available in ARMv6.



Multiply instructions
There are several classes of multiply instructions, introduced at different times into the architecture. See
Multiply instructions on page A3-10 for details.


Miscellaneous Data Processing instructions
These include Count Leading Zeros (CLZ) and Unsigned Sum of Absolute Differences with optional Accumulate (USAD8 and USADA8).


A1.2.3 Status register transfer instructions
The status register transfer instructions transfer the contents of the CPSR or an SPSR to or from a general-purpose register. Writing to the CPSR can:
• set the values of the condition code flags
• set the values of the interrupt enable bits
• set the processor mode and state
• alter the endianness of Load and Store operations.


A1.2.4 Load and store instructions
The following load and store instructions are available:
• Load and Store Register
• Load and Store Multiple registers on page A1-9
• Load and Store Register Exclusive on page A1-9.
There are also swap and swap byte instructions, but their use is deprecated in ARMv6. It is recommended that all software migrates to using the load and store register exclusive instructions.


Load and Store Register
Load Register instructions can load a 64-bit doubleword, a 32-bit word, a 16-bit halfword, or an 8-bit byte from memory into a register or registers. Byte and halfword loads can be automatically zero-extended or sign-extended as they are loaded.
Store Register instructions can store a 64-bit doubleword, a 32-bit word, a 16-bit halfword, or an 8-bit byte from a register or registers to memory.
From ARMv6, unaligned loads and stores of words and halfwords are supported, accessing the specified byte addresses. Prior to ARMv6, unaligned 32-bit loads rotated data, all 32-bit stores were aligned, and the other affected instructions UNPREDICTABLE.



Load and Store Register instructions have three primary addressing modes, all of which use a base register
and an offset specified by the instruction:

• In offset addressing, the memory address is formed by adding or subtracting an offset to or from the base register value.
• In pre-indexed addressing, the memory address is formed in the same way as for offset addressing. As a side effect, the memory address is also written back to the base register.
• In post-indexed addressing, the memory address is the base register value. As a side effect, an offset is added to or subtracted from the base register value and the result is written back to the base register.
In each case, the offset can be either an immediate or the value of an index register. Register-based offsets can also be scaled with shift operations.
As the PC is a general-purpose register, a 32-bit value can be loaded directly into the PC to perform a jump to any address in the 4GB memory space.


Load and Store Multiple registers
Load Multiple (LDM) and Store Multiple (STM) instructions perform a block transfer of any number of the general-purpose registers to or from memory. Four addressing modes are provided:
• pre-increment
• post-increment
• pre-decrement
• post-decrement.
The base address is specified by a register value, which can be optionally updated after the transfer. As the subroutine return address and PC values are in general-purpose registers, very efficient subroutine entry and exit sequences can be constructed with LDM and STM:
• A single STM instruction at subroutine entry can push register contents and the return address onto the stack, updating the stack pointer in the process.
• A single LDM instruction at subroutine exit can restore register contents from the stack, load the PC with the return address, and update the stack pointer.
LDM and STM instructions also allow very efficient code for block copies and similar data movement algorithms.


Load and Store Register Exclusive
These instructions support cooperative memory synchronization. They are designed to provide the atomic behavior required for semaphores without locking all system resources between the load and store phases. See LDREX on page A4-52 and STREX on page A4-202 for details.



A1.2.5 Coprocessor instructions
There are three types of coprocessor instructions:

Data-processing instructions
These start a coprocessor-specific internal operation.

Data transfer instructions
These transfer coprocessor data to or from memory. The address of the transfer is calculated by the ARM processor.
Register transfer instructions
These allow a coprocessor value to be transferred to or from an ARM register, or a pair of ARM registers.


A1.2.6 Exception-generating instructions
Two types of instruction are designed to cause specific exceptions to occur.

Software interrupt instructions
SWI instructions cause a software interrupt exception to occur. These are normally used to make calls to an operating system, to request an OS-defined service. The exception entry caused by a SWI instruction also changes to a privileged processor mode. This allows an unprivileged task to gain access to privileged functions, but only in ways permitted by the OS.
Software breakpoint instructions
BKPT instructions cause an abort exception to occur. If suitable debugger software is installed on the abort vector, an abort exception generated in this fashion is treated as a breakp
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Cánh tay hướng dẫn thiết lậpTập lệnh cánh tay có thể được chia thành sáu rộng lớp học giảng dạy:• Chi nhánh hướng dẫn• Xử lý dữ liệu hướng dẫn trên trang A1-7• Tình trạng đăng ký chuyển hướng dẫn trên trang A1-8• Tải và lưu trữ các hướng dẫn trên trang A1-8• Coprocessor hướng dẫn trên trang A1-10• Tạo ngoại lệ hướng dẫn trên trang A1-10.Đặt hướng dẫn xử lý dữ liệu và một loại coprocessor hướng dẫn có thể cập nhật những lá cờ mã bốn điều kiện trong CPSR (tiêu cực, Zero, thực hiện và tràn) theo kết quả của họ.Hầu hết các cánh tay hướng dẫn chứa một lĩnh vực tình trạng 4-bit. Một giá trị của lĩnh vực này chỉ định các hướng dẫn thực hiện vô điều kiện.14 các giá trị khác chỉ định thực hiện có điều kiện của các hướng dẫn. Nếu tình trạng mã cờ cho biết rằng điều kiện tương ứng là đúng khi các hướng dẫn bắt đầu thực hiện, nó thực hiện bình thường.Nếu không, các hướng dẫn không có gì. Các điều kiện có 14 cho phép:• xét nghiệm cho sự bình đẳng và phòng không bình đẳng• xét nghiệm cho <, < =, >, và > = sự bất bình đẳng trong số học đã ký và dấu• Các điều kiện mỗi mã lá cờ để được kiểm tra cá nhân.Giá trị thứ 16 của lĩnh vực tình trạng mã hóa thay thế hướng dẫn. Điều này không cho phép thực hiện có điều kiện. Trước khi ARMv5 các hướng dẫn đã không thể đoán trước.A1.2.1 chi nhánh hướng dẫnCũng như cho phép nhiều xử lý dữ liệu hoặc tải các hướng dẫn để thay đổi kiểm soát dòng chảy bằng văn bản với máy PC, một hướng dẫn chi nhánh tiêu chuẩn được cung cấp với một đối tượng dời hình 24-bit ký từ, cho phép chuyển tiếp và lạc hậu chi nhánh của lên đến 32 MB.Đó là một lựa chọn chi nhánh và liên kết (BL) khai thác cũng duy trì địa chỉ của các hướng dẫn sau chi nhánh tại R14, LR. Điều này cung cấp một cuộc gọi chương trình con mà có thể được trả lại từ bằng cách sao chép LR vào máy PC.Có cũng là hướng dẫn chi nhánh mà có thể chuyển đổi tập lệnh, do đó tiếp tục thực hiện mục tiêu chi nhánh bằng cách sử dụng ngón tay cái hướng dẫn thiết lập hoặc Jazelle mã. Hỗ trợ ngón tay cái cho phép cánh tay mã gọi subroutines ngón tay cái, và cánh tay subroutines để trở về người gọi ngón tay cái. Các hướng dẫn tương tự trong tập lệnh của ngón tay cái cho phép các thiết bị chuyển mạch ARM ngón tay cái tương ứng. Tổng quan về tập lệnh của ngón tay cái được cung cấp trong chương A6 The ngón tay cái hướng dẫn thiết lập.Hướng dẫn BXJ giới thiệu với phiên bản J ARMv5, và hiện diện trong ARMv6, cung cấp cơ chế architected cho nhập cảnh vào Jazelle nhà nước, và khẳng định liên quan của J cờ trong CPSR. A1.2.2 xử lý dữ liệu hướng dẫnHướng dẫn xử lý dữ liệu thực hiện tính toán ngày đăng ký đa năng. Có năm loại hướng dẫn xử lý dữ liệu:• Số học/logic hướng dẫn• So sánh hướng dẫn• Đơn hướng dẫn nhiều dữ liệu (SIMD) hướng dẫn• Nhân hướng dẫn trên trang A1-8• Xử lý dữ liệu các hướng dẫn trên trang A1-8.Số học/logic hướng dẫnCác hướng dẫn sau số học/logic chia sẻ một định dạng hướng dẫn phổ biến. Những thực hiện một hoạt động số học hoặc logic ngày lên đến hai nguồn operands, và ghi kết quả vào một điểm đến đăng ký. Họ cũng tùy chọn có thể cập nhật tình trạng mã cờ, dựa trên kết quả.Của operands hai nguồn:• một luôn luôn là một đăng ký• khác có hai hình thức cơ bản:— một giá trị ngay lập tức— một giá trị đăng ký, tùy chọn chuyển.Nếu operand là một đăng ký shifted, số tiền thay đổi có thể là một giá trị ngay lập tức hoặc giá trị của một đăng ký. Năm loại thay đổi có thể được xác định. Mỗi hướng dẫn số học/logic do đó có thể thực hiện một hoạt động số học/logic và một hoạt động thay đổi. Kết quả là, cánh tay không có hướng dẫn chuyên dụng thay đổi.Số lượt truy cập chương trình (máy tính) là một đăng ký đa năng, và do đó số học/logic hướng dẫn có thể viết kết quả của họ trực tiếp đến máy PC. Điều này cho phép dễ dàng thực hiện một loạt các bước hướng dẫn.Hướng dẫn so sánhHướng dẫn so sánh sử dụng định dạng hướng dẫn tương tự như các hướng dẫn số học/logic. Đây thực hiện một hoạt động số học hoặc logic trên hai nguồn operands, nhưng không viết kết quả để đăng ký một. Họ luôn luôn cập nhật tình trạng flags, dựa trên kết quả.Nguồn operands của hướng dẫn so sánh mất hình thức tương tự như những người hướng dẫn số học/logic, bao gồm khả năng để kết hợp một hoạt động thay đổi.Duy nhất hướng dẫn nhiều dữ liệu (SIMD) hướng dẫnThêm và trừ hướng dẫn điều trị mỗi operand là hai con số 16-bit song song, hay bốn con số 8-bit song song. Họ có thể được coi như là đã ký hoặc dấu. Các hoạt động tùy chọn có thể saturating, bọc xung quanh, hoặc các kết quả có thể được giảm một nửa để tránh tràn.Các hướng dẫn có sẵn trong ARMv6. Nhân hướng dẫnCó rất nhiều các lớp học của nhân hướng dẫn, giới thiệu tại thời điểm khác nhau vào kiến trúc. XemNhân hướng dẫn trên trang A3-10 để biết chi tiết.Hướng dẫn xử lý dữ liệu linh tinhTrong đó có tính dẫn Zero (CLZ) và điều khoản khác biệt tuyệt đối với tùy chọn Accumulate (USAD8 và USADA8).A1.2.3 tình trạng đăng ký chuyển hướng dẫnTình trạng đăng ký chuyển hướng dẫn chuyển nội dung của CPSR hoặc một SPSR đến hoặc từ một đăng ký đa năng. Bằng văn bản cho CPSR có thể:• Đặt các giá trị của tình trạng mã cờ• Đặt các giá trị của ngắt kích hoạt bit• Đặt các bộ vi xử lý chế độ, đã đoạt giải nhà nước• thay đổi endianness hoạt động tải và lưu trữ.A1.2.4 tải và lưu trữ các hướng dẫnCác tải sau đây và cửa hàng hướng dẫn có sẵn:• Tải và đăng ký cửa hàng• Tải và nhiều cửa hàng đăng ký trên trang A1-9• Tải và cửa hàng đăng ký độc quyền trên trang A1-9.Có là cũng trao đổi và trao đổi byte hướng dẫn, nhưng sử dụng của họ bị phản đối trong ARMv6. Đó khuyến cáo rằng tất cả phần mềm di cư sang sử dụng tải và cửa hàng đăng ký độc quyền hướng dẫn.Tải và lưu trữ đăng kýTải hướng dẫn đăng ký có thể tải một doubleword 64-bit, một từ 32-bit, một halfword 16-bit, hoặc một 8-bit byte từ bộ nhớ vào một đăng ký hoặc đăng ký. Byte và halfword tải có thể tự động mở rộng số không hoặc dấu hiệu mở rộng khi chúng được nạp.Cửa hàng đăng ký hướng dẫn có thể lưu trữ một doubleword 64-bit, một từ 32-bit, một halfword 16-bit, hoặc một 8-bit byte từ một đăng ký hoặc đăng ký vào bộ nhớ.Từ ARMv6, chiếm tải và các cửa hàng của từ và halfwords được hỗ trợ, truy cập vào các địa chỉ được chỉ định byte. Trước khi ARMv6, chiếm 32-bit tải dữ liệu xoay, tất cả 32-bit cửa hàng đã được liên kết, và các ảnh hưởng hướng dẫn không thể đoán trước. Hướng dẫn tải và cửa hàng đăng ký có ba chế độ địa chỉ chính, tất cả đều sử dụng một đăng ký cơ sởvà một bù đắp được chỉ định bởi các hướng dẫn:• Trong đối tượng dời hình cho địa chỉ, địa chỉ bộ nhớ được hình thành bằng cách thêm hoặc trừ đi một bù đắp cho hoặc từ giá trị đăng ký cơ sở.• Trong trước khi lập chỉ mục địa chỉ, địa chỉ bộ nhớ được hình thành trong cùng một cách như đối với địa chỉ bù đắp. Là một tác dụng phụ, địa chỉ bộ nhớ cũng viết lưu lại để đăng ký cơ sở.• Tại địa chỉ sau được lập chỉ mục, các địa chỉ bộ nhớ là cơ sở đăng ký giá trị. Là một tác dụng phụ, một bù đắp được thêm vào hoặc trừ từ giá trị đăng ký cơ sở và kết quả viết lại để đăng ký cơ sở.Trong mỗi trường hợp, đối tượng dời hình có thể là hoặc một ngay lập tức hoặc giá trị của một đăng ký chỉ mục. Dựa trên đăng ký offsets cũng có thể được thu nhỏ lại với sự thay đổi hoạt động.Khi máy PC là một đăng ký đa năng, một giá trị 32-bit có thể được tải trực tiếp vào máy PC để thực hiện một bước tới địa chỉ bất kỳ trong không gian bộ nhớ 4GB.Tải và nhiều cửa hàng đăng kýHướng dẫn tải nhiều (LDM) và nhiều cửa hàng (STM) thực hiện một chuyển khối của bất kỳ số lượng đăng ký đa năng đến hoặc từ bộ nhớ. Bốn chế độ địa chỉ được cung cấp:• trước khi tăng• sau tăng• trước khi lượng• sau lượng.Địa chỉ cơ sở được chỉ định bởi giá trị đăng ký, mà có thể được tùy chọn Cập Nhật sau khi việc chuyển giao. Khi chương trình con trở về địa chỉ và giá trị PC trong ngành công nghiệp đăng ký, chương trình con rất hiệu quả mục nhập và thoát khỏi chuỗi có thể được xây dựng với LDM và STM:• Một chỉ dẫn STM duy nhất tại mục nhập chương trình con có thể đẩy nội dung đăng ký và địa chỉ trả lại vào ngăn xếp, Cập Nhật con trỏ ngăn xếp trong tiến trình.• Một đơn LDM hướng dẫn ở lối ra chương trình con có thể khôi phục lại nội dung đăng ký từ ngăn xếp, tải PC với địa chỉ trả lại và Cập Nhật con trỏ ngăn xếp.Hướng dẫn LDM và STM cũng cho phép mã rất hiệu quả cho khối bản sao và tương tự như các thuật toán di chuyển dữ liệu.Tải và lưu trữ đăng ký độc quyềnNhững hướng dẫn này hỗ trợ đồng bộ hóa bộ nhớ hợp tác xã. Chúng được thiết kế để cung cấp hành vi nguyên tử cần thiết cho semaphores mà không có khóa tất cả các tài nguyên hệ thống giữa tải và lưu trữ giai đoạn. Xem LDREX trên trang A4-52 và STREX trên trang A4-202 để biết chi tiết. A1.2.5 Coprocessor hướng dẫnCoù 3 kieåu coprocessor hướng dẫn:Hướng dẫn xử lý dữ liệuNhững bắt đầu một hoạt động nội bộ dành riêng cho coprocessor.Dữ liệu chuyển hướng dẫnNhững chuyển coprocessor dữ liệu đến hoặc từ bộ nhớ. Địa chỉ chuyển được tính bằng bộ vi xử lý ARM.Đăng ký chuyển hướng dẫnĐiều này cho phép một giá trị coprocessor sẽ được chuyển đến hoặc từ một cánh tay đăng ký, hoặc một đôi cánh tay đăng ký.A1.2.6 tạo ra ngoại lệ hướng dẫnHai loại hướng dẫn được thiết kế để gây ra trường hợp ngoại lệ cụ thể để xảy ra.Phần mềm gián đoạn hướng dẫnHướng dẫn SWI gây ra một ngoại lệ gián đoạn phần mềm để xảy ra. Đây thường được sử dụng để thực hiện cuộc gọi cho một hệ điều hành, để yêu cầu một dịch vụ xác định hệ điều hành. Các mục nhập ngoại lệ gây ra bởi một chỉ dẫn SWI cũng thay đổi sang một chế độ đặc quyền xử lý. Điều này cho phép một nhiệm vụ không có đặc quyền truy cập đặc quyền chức năng, nhưng chỉ bằng cách cho phép các hệ điều hành.Phần mềm breakpoint hướng dẫnHướng dẫn BKPT gây ra một ngoại lệ hủy bỏ để xảy ra. Nếu phù hợp trình gỡ lỗi phần mềm được cài đặt trên các véc tơ hủy bỏ, hủy bỏ ngoại lệ được tạo ra trong thời trang này được coi là một breakp
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Hướng dẫn ARM thiết lập
Các tập lệnh ARM có thể được chia thành sáu lớp học rộng giảng dạy:
• Hướng dẫn Chi nhánh
• Hướng dẫn liệu chế biến trên trang A1-7
hướng dẫn chuyển giao • đăng ký Trạng thái trên trang A1-8
• Load và lưu trữ trên trang A1-8
• Hướng dẫn coprocessor trên trang A1-10
• Hướng dẫn Exception-tạo ra trên trang A1-10.
Hầu hết các hướng dẫn xử lý dữ liệu và một loại hướng dẫn coprocessor có thể cập nhật bốn mã điều kiện cờ trong CPSR (Negative, Zero, Carry và tràn) theo đến kết quả của họ.
Hầu như tất cả các lệnh ARM chứa một lĩnh vực điều kiện 4-bit. Một giá trị của trường này xác định rằng các hướng dẫn được thực hiện vô điều kiện.
Mười bốn giá trị khác chỉ định điều kiện thực hiện các hướng dẫn. Nếu những lá cờ mã điều kiện chỉ ra rằng các điều kiện tương ứng là đúng khi các hướng dẫn bắt đầu thực hiện, nó thực hiện bình thường.
Nếu không, những hướng dẫn không có gì. 14 điều kiện có sẵn cho phép:
• kiểm tra cho sự bình đẳng và không bình đẳng
• Thử nghiệm cho <, <=,>, và> = bất bình đẳng, trong cả hai số học ký và unsigned
• mỗi lá cờ mã điều kiện để được kiểm tra riêng.
Giá trị thứ mười sáu của lĩnh vực tình trạng mã hóa hướng dẫn thay thế. Những điều này không cho phép thực thi có điều kiện. Trước khi ARMv5 những hướng dẫn này là không thể đoán trước. A1.2.1 hướng dẫn Chi nhánh Như cũng như cho phép nhiều dữ liệu chế biến hoặc tải hướng dẫn để thay đổi dòng điều khiển bằng văn bản cho PC, một hướng dẫn chi nhánh tiêu chuẩn được cung cấp với một 24-bit đã ký từ bù đắp, cho phép chuyển tiếp và ngành lạc hậu lên đến 32MB. Có một chi nhánh và Link (BL) lựa chọn mà còn giữ địa chỉ của lệnh sau khi chi nhánh tại R14, LR. Điều này cung cấp một chương trình con gọi có thể được trả lại từ bằng cách sao chép các LR vào PC. Ngoài ra còn có hướng dẫn chi nhánh mà có thể chuyển đổi tập lệnh, do đó thực hiện mà tiếp tục vào mục tiêu chi nhánh sử dụng các tập lệnh Thumb hoặc Jazelle opcodes. Hỗ trợ Thumb cho phép mã ARM để gọi chương trình con Thumb, và thủ tục con ARM để trở về một người gọi Thumb. Hướng dẫn tương tự trong các tập lệnh Thumb cho phép các thiết bị chuyển mạch Thumb ARM tương ứng. Tổng quan về các tập lệnh Thumb được cung cấp trong Chương A6 Set Thumb Chỉ thị. Các hướng dẫn BXJ giới thiệu với các biến thể J của ARMv5, và hiện diện trong ARMv6, cung cấp cơ chế kiến trúc cho nhập cảnh vào trạng thái Jazelle, và khẳng định có liên quan của J cờ trong CPSR. hướng dẫn liệu chế biến A1.2.2 Các hướng dẫn xử lý dữ liệu thực hiện tính toán trên các thanh ghi mục đích chung. Có năm loại của các hướng dẫn xử lý dữ liệu: hướng dẫn • Số học / logic • Hướng dẫn so sánh • Single Instruction Nhiều dữ liệu (SIMD) hướng dẫn • hướng dẫn Multiply trên trang A1-8 hướng dẫn • Miscellaneous Xử lý dữ liệu trên trang A1-8. Arithmetic hướng dẫn / logic Các hướng dẫn số học / logic sau đây chia sẻ một định dạng phổ biến hướng dẫn. Những thực hiện một số học hoặc hoạt động hợp lý trên lên đến hai toán hạng nguồn, và ghi kết quả vào một ghi đích. Họ cũng có thể tùy chọn cập nhật những lá cờ mã điều kiện, dựa trên kết quả. Trong hai toán hạng nguồn: • một luôn luôn là một đăng ký • người kia có hai dạng cơ bản: - một giá trị ngay lập tức - một giá trị đăng ký, tùy chọn thay đổi. Nếu toán hạng là một đăng ký thay đổi, số lượng thay đổi có thể là một giá trị tức thời hoặc giá trị của thanh ghi khác. Năm loại thay đổi có thể được xác định. Do đó, mỗi lệnh số học / logic có thể thực hiện một số học / hoạt động logic và một hoạt động thay đổi. Kết quả là, ARM không có hướng dẫn chuyển đổi chuyên dụng. Các bộ đếm chương trình (PC) là một thanh ghi mục đích chung, và do đó số học hướng dẫn / logic có thể viết kết quả của họ trực tiếp đến máy tính. Điều này cho phép dễ dàng thực hiện một loạt các hướng dẫn nhảy. Hướng dẫn So sánh Các hướng dẫn so sánh sử dụng định dạng lệnh tương tự như các lệnh số học / logic. Những thực hiện một số học hoặc logic hoạt động trên hai toán hạng nguồn, nhưng không ghi kết quả vào sổ đăng ký. Họ luôn luôn cập nhật những lá cờ điều kiện, dựa trên kết quả. Các toán hạng nguồn hướng dẫn so sánh các hình thức tương tự như của các lệnh số học / logic, bao gồm khả năng để kết hợp một dịch chuyển này. Lệnh đơn Nhiều dữ liệu (SIMD) hướng dẫn add và hướng dẫn trừ đối xử với nhau như hai toán hạng số 16-bit song song, hoặc bốn số 8-bit song song. Họ có thể được coi là dấu hoặc không dấu. Các hoạt động có thể tùy chọn được bão hòa, quấn xung quanh, hoặc các kết quả có thể được giảm một nửa để tránh tràn. Những hướng dẫn có sẵn trong ARMv6. Multiply hướng dẫn Có một số lớp học của các hướng dẫn nhân, được giới thiệu vào những thời điểm khác nhau trong kiến trúc. Xem hướng dẫn Multiply trên trang A3-10 để biết chi tiết. Hướng dẫn khác Xử lý dữ liệu, bao gồm Đếm Leading Zeros (CLZ) và Sum Unsigned những sự khác biệt tuyệt đối với tùy chọn tích lũy (USAD8 và USADA8). A1.2.3 hướng dẫn chuyển giao Status đăng ký Các hướng dẫn chuyển giao ghi trạng thái chuyển nội dung của các CPSR hoặc một SPSR đến hoặc từ một thanh ghi mục đích chung. Văn bản cho CPSR có thể: • thiết lập các giá trị của những lá cờ mã điều kiện • thiết lập các giá trị của các gián đoạn cho phép bit • thiết lập chế độ xử lý và nhà nước • thay đổi endianness của Load và cửa hàng hoạt động. A1.2.4 Load và lưu trữ hướng dẫn dưới đây nạp và lưu trữ có sẵn: • Load và Store Đăng ký • Tải và Lưu trữ Nhiều đăng ký trên trang A1-9 • Load và Store Đăng ký độc quyền trên trang A1-9. Cũng có những trao đổi và hướng dẫn byte trao đổi, nhưng việc sử dụng của họ bị phản đối ARMv6. Đó là khuyến cáo rằng tất cả các phần mềm di chuyển đến khi sử dụng tải và lưu trữ sổ đăng ký chỉ dẫn độc quyền. Load và cửa hàng Đăng ký hướng dẫn tải ký có thể tải một doubleword 64-bit, một từ 32-bit, một nữa vòng trái đất 16-bit, hoặc một byte 8-bit từ bộ nhớ vào một đăng ký hoặc đăng ký. Byte và nửa vòng trái đất tải có thể được tự động zero-gia hạn hoặc ký-mở rộng như chúng được nạp. Hướng dẫn cửa hàng Đăng ký có thể lưu trữ một doubleword 64-bit, một từ 32-bit, một nữa vòng trái đất 16-bit, hoặc một byte 8-bit từ một đăng ký hay ghi vào bộ nhớ. Từ ARMv6, tải unaligned và các cửa hàng của các từ và halfwords được hỗ trợ, truy cập vào địa chỉ byte quy định. Trước ARMv6, unaligned tải 32-bit xoay dữ liệu, tất cả các cửa hàng 32-bit đã được liên kết, và các hướng dẫn bị ảnh hưởng khác không thể đoán trước. Load và cửa hàng Đăng ký lệnh có ba chế độ địa chỉ chính, tất cả đều sử dụng một thanh ghi cơ sở và một offset theo quy định của hướng dẫn:. • Trong bù địa chỉ, địa chỉ bộ nhớ được hình thành bằng cách thêm hoặc trừ đi một bù đắp đến hoặc từ các giá trị đăng ký cơ sở • Trong pre-lập chỉ mục địa chỉ, địa chỉ bộ nhớ được hình thành trong cùng một cách như đối với việc giải quyết bù đắp. Là một tác dụng phụ, các địa chỉ bộ nhớ cũng được viết lại để các cơ sở đăng ký. • Trong bài-lập chỉ mục địa chỉ, địa chỉ bộ nhớ là giá trị đăng ký cơ sở. Là một tác dụng phụ, một offset được thêm vào hoặc trừ vào giá trị đăng ký cơ sở và kết quả được ghi lại vào sổ đăng ký cơ sở. Trong mỗi trường hợp, sự bù đắp có thể là một mắt hoặc giá trị của một thanh ghi chỉ số. Offsets đăng ký dựa trên cũng có thể được thu nhỏ lại với các hoạt động thay đổi. Khi máy tính là một thanh ghi mục đích chung, một giá trị 32-bit có thể được nạp trực tiếp vào máy tính để thực hiện một bước nhảy đến bất kỳ địa chỉ trong không gian bộ nhớ 4GB. Load và cửa hàng Nhiều thanh ghi Tải Nhiều (LDM) và Store Nhiều (STM) hướng dẫn thực hiện một khối chuyển của bất kỳ số lượng các thanh ghi mục đích chung hoặc từ bộ nhớ. Bốn chế độ địa chỉ được cung cấp: • trước tăng • hậu increment • pre-sụt • hậu giảm. Các địa chỉ cơ sở được quy định bởi một giá trị đăng ký, trong đó có thể được cập nhật tùy chọn sau khi chuyển nhượng. Là sự trở lại chương trình con địa chỉ và PC giá trị trong thanh ghi mục đích chung, mục chương trình con rất hiệu quả và trình tự xuất cảnh có thể được xây dựng với LDM và STM: • Một hướng dẫn STM duy nhất tại mục chương trình con có thể đẩy đăng ký nội dung và địa chỉ trở lại vào ngăn xếp, cập nhật con trỏ ngăn xếp trong quá trình. • Một hướng dẫn LDM duy nhất tại lối ra chương trình con có thể khôi phục lại đăng ký nội dung từ stack, tải các máy tính với địa chỉ trở lại, và cập nhật con trỏ ngăn xếp. LDM và STM hướng dẫn cũng cho phép mã rất hiệu quả cho các khối bản và các thuật toán di chuyển dữ liệu tương tự. Load và cửa hàng Đăng ký độc quyền Những hướng dẫn hỗ trợ đồng bộ hóa bộ nhớ hợp tác xã. Chúng được thiết kế để cung cấp cho các hành vi nguyên tử cần thiết cho semaphores mà không cần khóa tất cả các tài nguyên hệ thống giữa các giai đoạn nạp và lưu trữ. . Xem LDREX trên trang A4-52 và STREX trên trang A4-202 để biết chi tiết A1.2.5 hướng dẫn coprocessor Có ba loại hướng dẫn coprocessor: hướng dẫn xử lý dữ liệu-Những bắt đầu một hoạt động nội bộ coprocessor cụ thể. Hướng dẫn chuyển dữ liệu Các dữ liệu chuyển coprocessor đến hoặc từ bộ nhớ. Địa chỉ của việc chuyển giao được tính bằng bộ vi xử lý ARM. Đăng ký hướng dẫn chuyển giao này cho phép một giá trị coprocessor được chuyển đến hoặc từ một đăng ký ARM, hoặc một cặp thanh ghi ARM. A1.2.6 hướng dẫn Exception-tạo hai loại giảng dạy được thiết kế gây ra ngoại lệ cụ thể để xảy ra. hướng dẫn phần mềm gián đoạn SWI hướng dẫn gây ra một phần mềm gián đoạn ngoại lệ xảy ra. Những thường được sử dụng để thực hiện cuộc gọi đến một hệ điều hành, yêu cầu một dịch vụ hệ điều hành được xác định. Các mục ngoại lệ gây ra bởi một hướng dẫn SWI cũng thay đổi một chế độ xử lý đặc quyền. Điều này cho phép một nhiệm vụ không có đặc quyền để truy cập vào các chức năng đặc quyền, nhưng chỉ trong những cách được cho phép bởi hệ điều hành. Hướng dẫn phần mềm breakpoint hướng dẫn BKPT gây ra một ngoại lệ abort để xảy ra. Nếu phần mềm sửa lỗi thích hợp được cài đặt trên các vector hủy bỏ, hủy bỏ một ngoại lệ được tạo ra trong thời trang này được coi là một breakp






















































































































đ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: