这条汇编指令该如何改写
时间:2009-12-26
来源:互联网
jmpi go,INITSEG
要求是这样的,跳转到INITSEG段的go位置
上面的这条语句用intel 8086汇编编译器as86和连接器ld86可以通过
但是用nasm汇编工具却不能通过
现在想改写一下这条语句,让用nasm汇编工具能通过
我想显式指定转移的段地址和偏移地址
使用了以下方法,均不可靠
1)使用jmp far ptr opr指令,没有显式指定段地址,否定
:opr的段地址->CS
:opr的偏移地址->IP
2)使用JMP DWORD PTR OPR,可行,但是我需要先将数据存入内存,再取出,觉得不是好的解决方法
3)直接设置IP和CS的值,CS的值无法修改,否定
NASM中
1)指定段地址和段内偏移的汇编语句没有吗?就类似as86可以支持的"jmpi go,INITSEG"
2)没有高手可以解释下段见跳转的详细细节,如何确定将要跳转的段的段地址?
要求是这样的,跳转到INITSEG段的go位置
上面的这条语句用intel 8086汇编编译器as86和连接器ld86可以通过
但是用nasm汇编工具却不能通过
现在想改写一下这条语句,让用nasm汇编工具能通过
我想显式指定转移的段地址和偏移地址
使用了以下方法,均不可靠
1)使用jmp far ptr opr指令,没有显式指定段地址,否定
:opr的段地址->CS
:opr的偏移地址->IP
2)使用JMP DWORD PTR OPR,可行,但是我需要先将数据存入内存,再取出,觉得不是好的解决方法
3)直接设置IP和CS的值,CS的值无法修改,否定
NASM中
1)指定段地址和段内偏移的汇编语句没有吗?就类似as86可以支持的"jmpi go,INITSEG"
2)没有高手可以解释下段见跳转的详细细节,如何确定将要跳转的段的段地址?
作者: tgy_2012 发布时间: 2009-12-26
直接写机器码试试:
DB 0EAH
DW go,INITSEG
DB 0EAH
DW go,INITSEG
作者: cnzdgs 发布时间: 2009-12-26
遇到一样的问题!!
我最后的代码是:
org 07c00h
Lable1:
mov ax,cs
mov ds,ax
mov ax,9000h
mov es,ax
mov si,0h
mov di,0h
mov cx,100h
cld
rep movsw
jmp 0x9000:(Lable2-Lable1)
Lable2:
mov ax,cs
mov ds,ax
mov es,ax
call dispstr
jmp $
dispstr:
mov ax,bootmessage
mov bp,ax
mov cx,16
mov ax,01301h
mov bx,000ch
mov dl,0
int 10h
ret
bootmessage: db "hello, os world!"
times 510-($-$$) db 0
dw 0xaa55
可以实现跳转,但是后面到9000::(Lable2-Lable1)所在的位置却不能正常执行后面的程序了。
也就是对于引导程序的将自己复制到别一个位置并从指定位置开始执行,在这里卡做了。
如果有会的PN,回一下吧,谢谢!!
我最后的代码是:
org 07c00h
Lable1:
mov ax,cs
mov ds,ax
mov ax,9000h
mov es,ax
mov si,0h
mov di,0h
mov cx,100h
cld
rep movsw
jmp 0x9000:(Lable2-Lable1)
Lable2:
mov ax,cs
mov ds,ax
mov es,ax
call dispstr
jmp $
dispstr:
mov ax,bootmessage
mov bp,ax
mov cx,16
mov ax,01301h
mov bx,000ch
mov dl,0
int 10h
ret
bootmessage: db "hello, os world!"
times 510-($-$$) db 0
dw 0xaa55
可以实现跳转,但是后面到9000::(Lable2-Lable1)所在的位置却不能正常执行后面的程序了。
也就是对于引导程序的将自己复制到别一个位置并从指定位置开始执行,在这里卡做了。
如果有会的PN,回一下吧,谢谢!!
作者: golly2009 发布时间: 2011-02-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28