assembly - 如何将此汇编代码转换为十六进制形式?
问题描述
什么是,
MOV AX, 4512H
MOV BX, 23AFH
JMP NEXT
ADD BH,AH
NEXT: NOP
十六进制,我怎么去那里?
解决方案
你的六行代码看起来像汇编语言的源代码。如果将文本写入一个名为 instance 的文本文件,"turtle.asm"
则可以通过名为“汇编程序”的程序将其转换为十六进制代码。
R:\>type turtle.asm
MOV AX, 4512H
MOV BX, 23AFH
JMP NEXT
ADD BH,AH
NEXT: NOP
R:\>euroasm turtle.asm
I0010 EuroAssembler version 20191104 started.
I0020 Current directory is "R:\".
I0180 Assembling source file "turtle.asm".
I0270 Assembling source "turtle".
I0310 Assembling source pass 1.
I0310 Assembling source pass 2.
I0330 Assembling source pass 3 - final.
I0760 16bit TINY BIN file "turtle.bin" created from source, size=11.
I0750 Source "turtle" (5 lines) assembled in 3 passes with errorlevel 0.
I0860 Listing file "turtle.asm.lst" created, size=705.
I0980 Memory allocation 320 KB. 21 statements assembled in 1 s.
I0990 EuroAssembler terminated with errorlevel 0.
此命令将您的源代码转换"turtle.asm"
为 file 中 11 个字节的二进制代码"turtle.bin"
。您可以在列表文件中看到它们的十六进制值"turtle.asm.lst"
:
R:\>type turtle.asm.lst
| turtle: PROGRAM
|[BIN] ::::Section changed.
|0000:B81245 | MOV AX, 4512H
|0003:BBAF23 | MOV BX, 23AFH
|0006:EB02 | JMP NEXT
|0008:00E7 | ADD BH,AH
|000A:90 |NEXT: NOP
| ENDPROGRAM turtle:
| **** ListMap "turtle.bin",groups=1,segments=1,entry=,stack=[BIN]:0000FFFEh
| [BIN],VA=00000000h,size=0000000Bh=11,group [BIN]
| [BIN],VA=00000000h,size=0000000Bh=11,width=16,align=0010h,purpose=CODE+DATA+BSS+STACK
| **** ListGlobals "turtle.bin",Global=0,Public=0,Extern=0,eXport=0,Import=0
如果您将文件扩展名从 更改".bin"
为".com"
,DOS 或 DosBox 或 32 位 Windows 将尝试执行您的指令。在这种情况下,您的程序会失败,因为您没有正确终止它。将最后一行从
NEXT: NOP
to更改为NEXT: RET
正常运行(尽管它没有做任何有用的事情),正如您在 Borland TurboDebugger 中看到的那样:
R:\td turtle.com
推荐阅读
- php - Symfony 5 项目:发生异常。ReflectionException: 函数 include() 不存在
- javascript - ReactJs:如何将 SVG 组件文本提取为字符串
- node.js - 如何在mongodb中仅使用一个搜索字符串搜索多个字段
- oracle - PLSQL forall 中遇到符号“IF”
- typescript - 避免推断为数组元素的最小公分母
- animation - 如何在android中将视图移动到另一个视图的末尾
- c# - 如何按小时范围对从数据库获取的项目进行分组?
- maven - Jenkins mvn:即使路径设置正确也找不到从站
- javascript - 如果其他最短,我该怎么做?
- python-3.x - 根据 Dijkstras 算法访问的边缘更改 NetworkX 图中的边缘颜色