这个宏定义什么内容?

[复制链接]
查看11 | 回复6 | 2021-1-27 06:35:03 | 显示全部楼层 |阅读模式
请教下,下面这个宏定义了什么?
%macroDescriptor3
dw%2&0FFFFh
dw%1&0FFFFh
db(%1>>16)&0FFh
dw((%2>>8)&0F00h|(%3&0F0FFh)
db(%1>>24)&0FFh
这种语法属不属于8086汇编的范畴?如果属于,哪本书有详细介绍8086汇编语法的,不仅包括我提问的语法,还有其他
指令的用法??
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
80X86汇编语言程序设计
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
这个,是nasm的语法规则吧。可以看看http://net.pku.edu.cn/~course/cs201/2004/Assembly/nasm-0.98.36-xdoc/html/nasmdoc4.html。其实,nasm包里好像都是有帮助说明文件的吧。
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
楼主要学8086汇编可以先看王爽的入门。
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
总觉得这个很熟,原来是《自己动手写操作系统》书里的
其实书里解释了,这是个描述符的数据结构,8个字节大小。
关于描述符的概念,可以看下关于保护模式方面的资料
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
引用4楼raiky的回复:总觉得这个很熟,原来是《自己动手写操作系统》书里的
其实书里解释了,这是个描述符的数据结构,8个字节大小。
关于描述符的概念,可以看下关于保护模式方面的资料

原来是这样。
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
没错,这个的确是于渊的《orange's一个操作系统的实现》里面的内容,但他这样定义是不是有很特殊的用途?就好像如果要将小写字母改成大写只需要AND加上一个特定的数就可以了?我这么问是因为看到他之后初始化对应的GDT时就是将某个段地址通过shr4,shr16然后加上GDT,无论是什么GDT初始化操作流程都是一样的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行