assembly - 汇编语言中“segment at”的语法
问题描述
newsegm segment at 0B800h
...
newsegm ends
你能描述一下是什么意思吗?我有另一个地址为 0B800h 的段?我问的原因是:我有一个包含这些字符串的代码
lea DX, message
message DB "Hello, World!",'$'
VIDEO DD 0B800h:072Eh
老师强调0B800h:072Eh
并message
说用 vidsegm 段名写一个表达式。我不知道他想要什么和做什么
解决方案
基本部分:
您可以参考视频片段中 position 处的字符,句柄newsegm
位于 position 处newsegm:072Eh
。
进一步说明:
地址0B800
十六进制是文本模式下视频段的起始地址。该指令
newsegm segment at 0B800h
...
newsegm ends
定义此段地址的快捷方式。
在这个0B800
视频片段中,显示器上的每个字符由两个字节组成:颜色代码和字符代码。因此,您的第二个代码示例中的地址0B800h:072Eh
, 指向
072Eh/2 = 919d ;
每个字符919d/80d = 11d两个字节;行号
919d%80d = 39d ; 列号
它指向位置第 11 行第 39 列的字符(从 0 开始)。
推荐阅读
- arrays - 不确定如何访问 firebase 数据库中的每个值
- javascript - 为什么看不到宽 50 像素和高 25 像素的图表
- c - Handle logout and sorting in an array of socket threads
- arrays - How can I extract from an array of json object that is saved as text?
- javascript - AWS Amplify Modular Imports with Vue
- docker - Docker - transfer image of database with its content
- javascript - 获取目标元素之后的所有元素id
- ios - .tag 在 Swift 4 中尝试 segue 3 个可能的值时不起作用
- sql - SQLite 慢选查询
- spring-boot - 无法解析值“${auth0.audience}”中的占位符“auth0.audience”