/* Interface between the opcode library and its callers. Copyright (C) dịch - /* Interface between the opcode library and its callers. Copyright (C) Việt làm thế nào để nói

/* Interface between the opcode lib

/* Interface between the opcode library and its callers.

Copyright (C) 1999-2014 Free Software Foundation, Inc.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor,
Boston, MA 02110-1301, USA.

Written by Cygnus Support, 1993.

The opcode library (libopcodes.a) provides instruction decoders for
a large variety of instruction sets, callable with an identical
interface, for making instruction-processing programs more independent
of the instruction set being processed. */

#ifndef DIS_ASM_H
#define DIS_ASM_H

#ifdef __cplusplus
extern "C" {
#endif

#include
#include "bfd.h"

typedef int (*fprintf_ftype) (void *, const char*, ...) ATTRIBUTE_FPTR_PRINTF_2;

enum dis_insn_type
{
dis_noninsn, /* Not a valid instruction. */
dis_nonbranch, /* Not a branch instruction. */
dis_branch, /* Unconditional branch. */
dis_condbranch, /* Conditional branch. */
dis_jsr, /* Jump to subroutine. */
dis_condjsr, /* Conditional jump to subroutine. */
dis_dref, /* Data reference instruction. */
dis_dref2 /* Two data references in instruction. */
};

/* This struct is passed into the instruction decoding routine,
and is passed back out into each callback. The various fields are used
for conveying information from your main routine into your callbacks,
for passing information into the instruction decoders (such as the
addresses of the callback functions), or for passing information
back from the instruction decoders to their callers.

It must be initialized before it is first passed; this can be done
by hand, or using one of the initialization macros below. */

typedef struct disassemble_info
{
fprintf_ftype fprintf_func;
void *stream;
void *application_data;

/* Target description. We could replace this with a pointer to the bfd,
but that would require one. There currently isn't any such requirement
so to avoid introducing one we record these explicitly. */
/* The bfd_flavour. This can be bfd_target_unknown_flavour. */
enum bfd_flavour flavour;
/* The bfd_arch value. */
enum bfd_architecture arch;
/* The bfd_mach value. */
unsigned long mach;
/* Endianness (for bi-endian cpus). Mono-endian cpus can ignore this. */
enum bfd_endian endian;
/* Endianness of code, for mixed-endian situations such as ARM BE8. */
enum bfd_endian endian_code;
/* An arch/mach-specific bitmask of selected instruction subsets, mainly
for processors with run-time-switchable instruction sets. The default,
zero, means that there is no constraint. CGEN-based opcodes ports
may use ISA_foo masks. */
void *insn_sets;

/* Some targets need information about the current section to accurately
display insns. If this is NULL, the target disassembler function
will have to make its best guess. */
asection *section;

/* An array of pointers to symbols either at the location being disassembled
or at the start of the function being disassembled. The array is sorted
so that the first symbol is intended to be the one used. The others are
present for any misc. purposes. This is not set reliably, but if it is
not NULL, it is correct. */
asymbol **symbols;
/* Number of symbols in array. */
int num_symbols;

/* Symbol table provided for targets that want to look at it. This is
used on Arm to find mapping symbols and determine Arm/Thumb code. */
asymbol **symtab;
int symtab_pos;
int symtab_size;

/* For use by the disassembler.
The top 16 bits are reserved for public use (and are documented here).
The bottom 16 bits are for the internal use of the disassembler. */
unsigned long flags;
/* Set if the disassembler has determined that there are one or more
relocations associated with the instruction being disassembled. */
#define INSN_HAS_RELOC (1
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
/ * Các giao diện giữa các thư viện opcode và người gọi của mình. Bản quyền (C) 1999-2014 Free Software Foundation, Inc. Chương trình này là phần mềm miễn phí; bạn có thể phát hành lại nó và/hoặc sửa đổi nó theo các điều khoản của GNU General Public License như được xuất bản bởi Quỹ phần mềm tự do; cả hai phiên bản 3, hoặc (tùy chọn) bất kỳ phiên bản sau này. Chương trình này được phân phối với hy vọng rằng nó sẽ là hữu ích, nhưng mà không có bất kỳ bảo hành; Nếu không có bảo hành ngay cả ngụ ý của Mua bán, hoặc thể dục cho một mục đích cụ thể. Xem các GNU General Public License để biết thêm chi tiết. Bạn nên đã nhận được một bản sao của GNU General Public License cùng với chương trình này; Nếu không, viết các phần mềm miễn phí Foundation, Inc., 51 Franklin Street - tầng thứ năm, Boston, MA 02110-1301, USA. Viết bởi Cygnus hỗ trợ, năm 1993. Thư viện opcode (libopcodes.a) cung cấp hướng dẫn giải mã cho nhiều hướng dẫn bộ, callable với một giống hệt nhau giao diện, cho việc thực hiện chương trình hướng dẫn xử lý độc lập chỉ dẫn thiết lập được xử lý. */#ifndef DIS_ASM_H#define DIS_ASM_H#ifdef __cplusplusextern "C" {}#endif#include #include "bfd.h" typedef int (* fprintf_ftype) (void *, const char *,...) ATTRIBUTE_FPTR_PRINTF_2;ENUM dis_insn_type{ dis_noninsn, / * không phải là một chỉ dẫn hợp lệ. */ dis_nonbranch, / * không phải là một hướng dẫn chi nhánh. */ dis_branch, / * chi nhánh vô điều kiện. */ dis_condbranch, / * chi nhánh có điều kiện. */ dis_jsr, / * nhảy để chương trình con. */ dis_condjsr, / * có điều kiện chuyển đến chương trình con. */ dis_dref, / * dữ liệu tham khảo chỉ dẫn. */ dis_dref2 / * hai dữ liệu tham khảo trong giảng dạy. */};/ * Struct này được thông qua vào các hướng dẫn giải mã các thói quen, và được thông qua trở lại ra thành từng gọi lại. Các lĩnh vực khác nhau được sử dụng để truyền đạt thông tin từ chính thói quen của bạn vào callbacks của bạn, cho đi qua các thông tin vào bộ giải mã chỉ dẫn (chẳng hạn như các địa chỉ của các chức năng gọi lại), hoặc cho đi thông tin trở lại từ các bộ giải mã chỉ dẫn cho người gọi của họ. Nó phải được khởi tạo trước khi nó lần đầu tiên được thông qua; Điều này có thể được thực hiện bằng tay hoặc bằng cách sử dụng một trong các khởi tạo macro dưới đây. */typedef struct disassemble_info{ fprintf_ftype fprintf_func; void * stream; void * application_data; / * Nhắm mục tiêu các mô tả. Chúng tôi có thể thay thế này với một con trỏ đến bfd, nhưng điều đó sẽ yêu cầu một. Hiện nay không có bất kỳ yêu cầu như vậy Vì vậy để tránh giới thiệu một trong những chúng tôi ghi lại chúng một cách rõ ràng. */ / * Bfd_flavour. Điều này có thể là bfd_target_unknown_flavour. */ ENUM bfd_flavour hương vị; / * Giá trị bfd_arch. */ ENUM bfd_architecture kiến trúc; / * Giá trị bfd_mach. */ unsigned dài mach; / * Endianness (cho bi-về cuối CPU). Về cuối mono CPU có thể bỏ qua này. */ ENUM bfd_endian về cuối; / * Endianness của mã, cho hỗn hợp về cuối tình huống như cánh tay BE8. */ ENUM bfd_endian endian_code; / * Một bitmask mach-kiến trúc đặc trưng của chọn tập con hướng dẫn, chủ yếu là for processors with run-time-switchable instruction sets. The default, zero, means that there is no constraint. CGEN-based opcodes ports may use ISA_foo masks. */ void *insn_sets; /* Some targets need information about the current section to accurately display insns. If this is NULL, the target disassembler function will have to make its best guess. */ asection *section; /* An array of pointers to symbols either at the location being disassembled or at the start of the function being disassembled. The array is sorted so that the first symbol is intended to be the one used. The others are present for any misc. purposes. This is not set reliably, but if it is not NULL, it is correct. */ asymbol **symbols; /* Number of symbols in array. */ int num_symbols; /* Symbol table provided for targets that want to look at it. This is used on Arm to find mapping symbols and determine Arm/Thumb code. */ asymbol **symtab; int symtab_pos; int symtab_size; /* For use by the disassembler. The top 16 bits are reserved for public use (and are documented here). The bottom 16 bits are for the internal use of the disassembler. */ unsigned long flags; /* Set if the disassembler has determined that there are one or more relocations associated with the instruction being disassembled. */#define INSN_HAS_RELOC (1 << 31) /* Set if the user has requested the disassembly of data as well as code. */#define DISASSEMBLE_DATA (1 << 30) /* Set if the user has specifically set the machine type encoded in the mach field of this structure. */#define USER_SPECIFIED_MACHINE_TYPE (1 << 29) /* Use internally by the target specific disassembly code. */ void *private_data; /* Function used to get bytes to disassemble. MEMADDR is the address of the stuff to be disassembled, MYADDR is t
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
. / * Giao diện giữa các thư viện opcode và người gọi của nó Bản quyền (C) 1999-2014 Free Software Foundation, Inc. Chương trình này là phần mềm tự do; bạn có thể phát hành lại nó và / hoặc sửa đổi nó với điều kiện của Giấy phép Công cộng GNU như được xuất bản bởi Tổ chức Phần mềm Tự do; hoặc phiên bản 3, hoặc (tùy chọn) . bất kỳ phiên bản sau chương trình này được phân phối với hy vọng rằng nó sẽ hữu ích, nhưng KHÔNG CÓ BẢO HÀNH; thậm chí không có bảo hành ngụ ý BÁN hoặc PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ. Xem Giấy phép Công cộng GNU để biết thêm chi tiết. Bạn sẽ nhận được một bản sao của Giấy phép Công cộng GNU cùng với chương trình này; nếu không, hãy viết cho các phần mềm miễn phí Foundation, Inc., 51 Franklin Street - Fifth Floor, . Boston, MA 02110-1301, USA Viết bởi Cygnus Support, 1993. Thư viện opcode (libopcodes.a) cung cấp bộ giải mã lệnh cho một lớn nhiều bộ giảng dạy, có thể được gọi với một giống hệt giao diện, để làm cho các chương trình hướng dẫn xử lý độc lập hơn trong các tập lệnh được xử lý. * / #ifndef DIS_ASM_H #define DIS_ASM_H #ifdef __cplusplus extern "C" { #endif #include

































#include "bfd.h" typedef int (* fprintf_ftype) (void *, const char *, ...) ATTRIBUTE_FPTR_PRINTF_2; enum dis_insn_type { dis_noninsn, / * Không phải là một hướng dẫn hợp lệ. * / Dis_nonbranch, / * Không phải là một lệnh rẽ nhánh. * / Dis_branch, / * chi nhánh không điều kiện. * / Dis_condbranch, / * chi nhánh có điều kiện. * / Dis_jsr, / * Chuyển đến chương trình con. * / Dis_condjsr, / * nhảy có điều kiện vào chương trình con. * / Dis_dref, / * tham khảo dữ liệu hướng dẫn. * / Tài liệu tham khảo dis_dref2 / * Hai dữ liệu trong giảng dạy. * / }; / * Struct này được chuyển vào các thói quen giải mã lệnh, và được truyền lại ra thành từng gọi lại. Các lĩnh vực khác nhau được sử dụng cho việc truyền thông từ thói quen chính của bạn vào callbacks của bạn, chuyển thông tin vào bộ giải mã lệnh (chẳng hạn như địa chỉ của các chức năng gọi lại), hoặc chuyển thông tin lại từ các bộ giải mã lệnh để gọi họ. Nó phải được khởi tạo trước khi nó được thông qua lần đầu tiên; điều này có thể được thực hiện bằng tay, hoặc sử dụng một trong các macro khởi tạo dưới đây. * / Typedef struct disassemble_info { fprintf_ftype fprintf_func; void * dòng; void * application_data; / * Mô tả mục tiêu. Chúng ta có thể thay thế này với một con trỏ đến BFD, nhưng điều đó sẽ yêu cầu một. Hiện không có bất kỳ yêu cầu như vậy để tránh giới thiệu một trong chúng tôi ghi lại những rõ ràng. * / / * Các bfd_flavour. Điều này có thể bfd_target_unknown_flavour. * / Enum bfd_flavour hương vị; / * Giá trị bfd_arch. * / Enum bfd_architecture vòm; / * Giá trị bfd_mach. * / Unsigned mach dài; / * Endian (cho cpu bi-endian). Cpu Mono-endian có thể bỏ qua điều này. * / Enum về cuối bfd_endian; / * Endian mã, cho các tình huống hỗn hợp về cuối nhỏ như ARM BE8. * / Enum bfd_endian endian_code; / * Một kiến trúc / mach cụ thể bitmask của các tập con hướng dẫn lựa chọn, chủ yếu cho bộ vi xử lý với bộ giảng dạy chạy thời gian chuyển đổi. Các mặc định, bằng không, có nghĩa là không có ràng buộc. Opcodes CGEN dựa trên cổng có thể sử dụng mặt nạ ISA_foo. * / Void * insn_sets; / * Một số chỉ tiêu cần thông tin về phần hiện tại để chính xác hiển thị insns. Nếu đây là NULL, hàm disassembler mục tiêu sẽ phải thực hiện đoán tốt nhất của nó. * / Asection * phần; / * Một mảng các con trỏ đến biểu tượng hoặc ở địa chỉ được tháo rời hoặc lúc bắt đầu các chức năng được tháo rời. Các mảng được sắp xếp để các biểu tượng đầu tiên được dự định là một trong những sử dụng. Những người khác là món quà cho bất kỳ misc. mục đích. Đây không phải được thiết lập đáng tin cậy, nhưng nếu nó là không NULL, nó là đúng. * / Asymbol ** ký; / * Số lượng các biểu tượng trong mảng. * / Int num_symbols; / * bảng Symbol cung cấp cho các mục tiêu mà muốn nhìn vào nó. Điều này được sử dụng trên Arm để tìm những biểu tượng bản đồ và xác định Arm / code Thumb. * / Asymbol ** symtab; int symtab_pos; int symtab_size; . / * Để sử dụng bởi các bộ phận phân tách . 16 bit đầu được dành cho công chúng sử dụng (và được tài liệu ở đây) Đáy 16 bit là cho sử dụng nội bộ của bộ phận phân tách. * / Cờ unsigned long; / * Đặt nếu disassembler đã xác định rằng có một hoặc nhiều sự định vị kết hợp với các hướng dẫn được tháo rời. * / INSN_HAS_RELOC #define (1 << 31) / * Đặt nếu người dùng đã yêu cầu tháo gỡ của dữ liệu cũng như mã. * / #define DISASSEMBLE_DATA (1 << 30) / * Đặt nếu người dùng đã đặc biệt thiết lập các loại máy mã hóa trong các lĩnh vực mach của cấu trúc này. * / #define USER_SPECIFIED_MACHINE_TYPE (1 << 29) / * Sử dụng trong nội bộ của các mã tháo gỡ cụ thể mục tiêu. * / Void * private_data; / * Chức năng sử dụng để có được byte để tháo rời. MEMADDR là địa chỉ của các công cụ để được tháo rời, MYADDR là t























































































đ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 ©2025 I Love Translation. All reserved.

E-mail: