newsegm segment at 0B800h
...
newsegm ends
您能描述什么意思吗?我还有另一个地址为0B800h的网段吗?我问的原因是:我有一个包含这些字符串的代码
lea DX, message
message DB "Hello, World!",'$'
VIDEO DD 0B800h:072Eh
老师突出显示0B800h:072Eh
和message
,并说要使用vidsegm段名编写一个表达式。我不知道他想要什么和做什么
地址0B800
十六进制是用于文本模式的视频段的起始地址。指令
newsegm segment at 0B800h
...
newsegm ends
定义此段地址的快捷方式。在此0B800
视频段中,显示屏上的每个字符均由两个字节组成:颜色代码和字符代码。因此,第二个代码示例0B800h:072Eh
中的地址指向[]
072Eh / 2 = 919d;每个字符两个字节919d / 80d = 11d;电话号码919d%80d = 39d;列号
它指向位置行11,第39列的char(从0开始)。
基本部分:
您可以在视频片段中的位置处使用字符[char],将手柄newsegm
置于位置newsegm:072Eh
。