热心网友
回答时间:2024-04-29 07:48
不懂X86汇编和结构的人答
mov ax,07c0h
mov ds,ax
mov es,ax ; initialize all the segment to the same
string db 'hello world'
len equ $-string
mov ah,3
mov bh,0
你在 mov ah,3 这种语句前面定义 helloworld是不是有问题啊
如果这样感觉上应该是 运行
mov es.ax;这个设置目的寄存器后就运行 'hello world'的机器码
二不是跳到你想要的 mov ah,3这个地方去
感觉上如果想要能用这么也要..在上面写个 跳转或者
直接在代码的最后面定义 db 'hello world'
至少非x86的汇编好像都是这样
收起
热心网友
回答时间:2024-04-29 07:48
把数据定义参放在指令段之间是许多汇编初学者易犯的常识性错误,是个很不好的习惯。试想,在执行完
mov ax,07c0h
mov ds,ax
mov es,ax
之后,往下在执行什么呢?电脑不知道下面的内容是你定义的数据,结果把定义的数据当作指令来执行,岂不乱套?
收起