我在这里问了一个关于汇编语言的问题。我觉得很难使用 16 位程序。所以现在我想把它改成32位。这是我尝试的第一个程序的代码:
[org 0x0100]
mov ax, 5
mov bx, 10
add ax, bx
mov bx, 15
add ax, bx
mov ax, 0x4c00
int 0x21
我将其命名为 ex01.asm。我使用 NASM 制作了一个 COM 文件。命令是
nasm ex01.asm -o ex01.com -l ex01.lst
但是我不能在 Ollydbg 中使用创建的 COM 文件。所以如果我想改变这个程序在win xp或win 7下工作,这样我就可以使用Ollydbg,我必须做哪些改变,为什么?我的想法 :
我想我必须更改 ORG 0x100。我认为它特定于 COM 文件。所以我想知道,我应该在这里做些什么改变?COM 文件不能在 win XP 和 win 7 上运行吗?我可以制作 EXE 文件而不是 COM 文件吗?我只是想了解这个过程。
我必须更改倒数第二行,因为它用于告诉 DOS 程序已完成。我必须在这里做哪些改变,为什么?
我忘了为什么使用最后一行?任何人都可以告诉我,如果需要替代它?