汉语大全>日记50字>汇编语言hex

汇编语言hex

详细内容

篇一:《反汇编hex文件》

思路:原谅虫子买个关子,当看了就知道了

1.软材料

IDA5.0。下载地址:jtag最新固件,见附件

hexbin,见附件,(语法:hexbinfilename.hex[filename.bin])

stk500_M8源程序。(附件中有我移植好的减少代码的m16源程序)

2.硬材料,见附件电路图

好了,准备好了,开始做菜了:)

1)用ida打开固件,如下图:

点击此处下载ourdev_179161.rar(文件大小:100K)

到这步时用hexbin把hex转为bin文件,出现如下提示(不转也可以)

篇二:《汇编语言16进制转换为2进制》

STACKSEGMENTSTACK'STACK'

STADB40DUP(?)STACKENDSDATASEGMENTFLAGDB0DATAENDSDECIMAL_TO_BIN_HEXSEGMENTASSUMECS:DECIMAL_TO_BIN_HEX,DS:DATASTART:MOVAX,DATAMOVDS,AXREPEAT:CALLDEC2BINCALLCRLFTESTFLAG,1JNZREPEAT

CALLBINCALLHEXCALLCRLFJMPREPEATDEC2BINPROEARMOVBX,0MOVFLAG,BLNEWCHAR:MOVAH,1INT21HCMPAL,3HJNZCONTINUEMOVAX,4C00HINT21HCONTINUE:SUBAL,30H

JLEXITCMPAL,9DJGEXITCBWXCHGAX,BXMOVCX,10DMULCXJCERRXCHGAX,BXADDBX,AXJCERRJMPNEWCHARERR:MOVFLAG,1EXIT:RETDEC2BINENDP;*******************************************;CRLFPROEARMOVDL,0DHMOVAH,2INT21HMOVDL,0AHMOVAH,2INT21HRET

;*******************************************;ONEPROEARROLBX,1MOVAL,BLANDAL,1ADDAL,30HMOVDL,ALMOVAL,2INT21HRETONEENDP;********************************************;BINPROEAR

MOVCX,10HROTATEL:CALLONELOOPROTATELCALLCRLFRETBINENDP;*********************************************;HEXPROEARMOVCH,4ROTATE3:MOVCL,4ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30H

CMPAL,3AHJLPRINTITADDAL,7HPRINTIT:MOVDL,ALMOVAH,2INT21HDEHJNZROTATE3CALLCRLFRETHEXENDP;*********************************************;DECIMAL_TO_BIN_HEXENDSENDSTART

data1db'inputthenumber(4bits):$';0-F之间任意四位的输入data2db'thebinarynumber:$'dataendscodesegmentassumecs:code,ds:datamainprocfarstart:movax,datamovds,axmovdx,offsetdata1movah,09hint21h

callcrlfmovbx,0movcx,4m1:movah,01hint21hcmpal,3ahjlm2subal,7hjmpm2m2:subal,30h

cbwxchgax,bxmovdx,16dmuldxxchgax,bxaddbx,axloopm1callcrlfmovdx,offsetdata2movah,09hint21hcallcrlf

movcx,16m3:testbx,8000hjnzm4movdl,'0'movah,02hint21hjmpm5m4:movdl,'l'movah,02hint21h

m5:shlbx,1

loopm3movah,4chint21hretmainendp

crlfproear;回车换行子程序movdl,0dhmovah,02hint21hmovdl,0ahmovah,02h

int21hretcrlfendpcodeendsendstart

篇三:《汇编语言16进制到10进制转换》

DEC2HEXSEGMENT

xpDB0H

ASSUMECS:DEC2HEX

REPEAT:CALLDEC2BIN

CALLCRLF

CALLBIN2HEX

CALLCRLF

JMPREPEAT

DEC2BINPROEAR

XORBX,BX;bx=0

NEWCHAR:MOVAH,1;输入指令,存放在al

INT21H

SUBAL,30H

JLEXIT;小于,不是数字也不是字母

CMPAL,9

JGE222;大于9,为字母

JMPE333;小于9,为数字

E222:SUBAL,7H;将字母代表的值转化为10进制下的数值CMPAL,15

JGEXIT;大于十五,则不是16进制数,退出.

JMPE333;输入的是a到f,为16进制的数

E333:CBW;ah=00000000

XCHGAX,BX;ax=0000000000000000bx=000000000000****;bx存放先输入的值,即高位.

MOVCX,16;cx=00010000

MULCX;cx*ax,dx放高16位,ax放低16位(把ax左移4位);ax,bx互换,把之前的高位左移到更高位

XCHGAX,BX;换回来,bx还是用来存放高位

ADDBX,AX

JMPNEWCHAR

EXIT:RET

DEC2BINENDP{汇编语言hex}.

BIN2HEXPROEAR

MOVCX,BX;存放的16进制的值给cx

ROTATE:XORDX,DX;dx=0000000000000000

MOVAX,CX;

MOVBX,0AH

DIVBX;dx取余,ax取整

MOVCX,AX;取整的值给cx

ADDDL,30H

PUSHDX

INCXP

ANDCX,CX

JNEROTATE

PRINTIT:POPDX

DECXP

CMPDL,20H

JEPRINTIT;这两句似乎没有用MOVAH,2

INT21H

CMPXP,0

JNEPRINTIT

RET

BIN2HEXENDP

CRLFPROEARMOVDL,0DH;回车;MOVAH,2;输出字符,dlINT21H

MOVDL,0AH;换行MOVAH,2

INT21H

RET

CRLFENDP

DEC2HEXENDS{汇编语言hex}.{汇编语言hex}.

ENDREPEAT

篇四:《用keil生成hex文件》

用keil生成hex文件

1、建立mcs51源文件,选择newproject建立管理项目{汇编语言hex}.

2、选择被仿真的51器件

3、建立源文件

输入汇编语言源程序

4、点击如图图标,对源程序进行编译、链接{汇编语言hex}.{汇编语言hex}.

在下面的图形中,会显示是否有语法错误,如有着调入源程序改正,如没有则可进行下一步,生成扩展名为“hex”的二进制文件。

5、生成“hex”文件

1)鼠标指向项目文件夹

2)压下鼠标右件,选择如图中的选项,进入

3)在下图中选择,“output”

将CreatHEXFile打勾建立“hex”文件,在NameofExecutable给可执行文件取名,在SelectFolderforObjects选择存放路径,然后确定。

4)点击图标再次进行汇编,汇编后即可得到扩展名为“hex”的可执行二进制文件