91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 881KB
    文件類型: .gz
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-05-27
  • 語言: Html/CSS
  • 標(biāo)簽: vmips??

資源簡介

VMips,另一個MIPS系統(tǒng)的實現(xiàn),當(dāng)然了,這個是C版本,可以編譯運行在大多數(shù)Unix系統(tǒng)上。VMips提供了一個完整的MIPS體系指令集合,同樣,可以在這個環(huán)境下用gcc做交叉編譯,用gdb作交叉開發(fā)和調(diào)試... http://www.dgate.org/vmips/index.shtml

資源截圖

代碼片段和文件信息

/*?Disassemble?from?a?buffer?for?GNU.
???Copyright?1993?1994?1996?1997?1998?1999?2000
???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?2?of?the?License?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.?59?Temple?Place?-?Suite?330?Boston?MA?02111-1307?USA.??*/

#include?“sysdep.h“
#include?“dis-asm.h“
#include?
#include?“opintl.h“

/*?Get?LENGTH?bytes?from?info‘s?buffer?at?target?address?memaddr.
???Transfer?them?to?myaddr.??*/
int
buffer_read_memory?(memaddr?myaddr?length?info)
?????bfd_vma?memaddr;
?????bfd_byte?*myaddr;
?????unsigned?int?length;
?????struct?disassemble_info?*info;
{
??unsigned?int?opb?=?info->octets_per_byte;
??unsigned?int?end_addr_offset?=?length?/?opb;
??unsigned?int?max_addr_offset?=?info->buffer_length?/?opb;?
??unsigned?int?octets?=?(memaddr?-?info->buffer_vma)?*?opb;

??if?(memaddr?buffer_vma
??????||?memaddr?-?info->buffer_vma?+?end_addr_offset?>?max_addr_offset)
????/*?Out?of?bounds.??Use?EIO?because?GDB?uses?it.??*/
????return?EIO;
??memcpy?(myaddr?info->buffer?+?octets?length);

??return?0;
}

/*?Print?an?error?message.??We?can?assume?that?this?is?in?response?to
???an?error?return?from?buffer_read_memory.??*/
void
perror_memory?(status?memaddr?info)
?????int?status;
?????bfd_vma?memaddr;
?????struct?disassemble_info?*info;
{
??if?(status?!=?EIO)
????/*?Can‘t?happen.??*/
????info->fprintf_func?(info->stream?_(“Unknown?error?%d\n“)?status);
??else
????/*?Actually?address?between?memaddr?and?memaddr?+?len?was
???????out?of?bounds.??*/
????info->fprintf_func?(info->stream
_(“Address?0x%x?is?out?of?bounds.\n“)?memaddr);
}

/*?This?could?be?in?a?separate?file?to?save?miniscule?amounts?of?space
???in?statically?linked?executables.??*/

/*?Just?print?the?address?is?hex.??This?is?included?for?completeness?even
???though?both?GDB?and?objdump?provide?their?own?(to?print?symbolic
???addresses).??*/

void
generic_print_address?(addr?info)
?????bfd_vma?addr;
?????struct?disassemble_info?*info;
{
??char?buf[30];

??sprintf_vma?(buf?addr);
??(*info->fprintf_func)?(info->stream?“0x%s“?buf);
}

#if?0
/*?Just?concatenate?the?address?as?hex.??This?is?included?for
???completeness?even?though?both?GDB?and?objdump?provide?their?own?(to
???print?symbolic?addresses).??*/

void?generic_strcat_address?PARAMS?((bfd_vma?char?*?int));

void
generic_strcat_address?(addr?buf?len)
?????bfd_vma?addr;
?????char?*buf;
?????int?len;
{
??if?(buf?!=?(char?*)NULL?&&?len?>?0)
?

評論

共有 條評論

相關(guān)資源