【汇编语言】汇编中怎么嵌入、运行机器码?
2个回答
展开全部
是这样,b8
34
12这样的字节内容计算机既可以解释成数据也可以解释成代码,就看哪个段寄存器中,如果是保护模式,就看它是放在哪个段中。举个例子,8086CPU汇编当CS:IP指向某个被命名为codesg的段,你想让CPU执行你指定的机器码,就在这个段定义这些数据就成了。例如如下代码
assume
cs:codesg,ds:data
data
segment
db
b8
34
12
;你定义的数据,它被CPU理解为数据
data
ends
codesg
segment
begin:
db
b8
34
12
;这就是你要执行的机器码
mov
ax,data
mov
ds,ax
.......
;之后你要写的指令,当然也可以定义你要执行的机器码
codesg
ends
end
begin
懂了吧,像诸如db
b8
34
12这样的数据,CPU如何理解它全看它被哪个段寄存器指向
34
12这样的字节内容计算机既可以解释成数据也可以解释成代码,就看哪个段寄存器中,如果是保护模式,就看它是放在哪个段中。举个例子,8086CPU汇编当CS:IP指向某个被命名为codesg的段,你想让CPU执行你指定的机器码,就在这个段定义这些数据就成了。例如如下代码
assume
cs:codesg,ds:data
data
segment
db
b8
34
12
;你定义的数据,它被CPU理解为数据
data
ends
codesg
segment
begin:
db
b8
34
12
;这就是你要执行的机器码
mov
ax,data
mov
ds,ax
.......
;之后你要写的指令,当然也可以定义你要执行的机器码
codesg
ends
end
begin
懂了吧,像诸如db
b8
34
12这样的数据,CPU如何理解它全看它被哪个段寄存器指向
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询