我目前正在编写EDID脚本,以便能够在我的Fedora25中选择自定义分辨率
我找到了this汇编脚本来生成不同的解决方案。我能够将其用作"模板"和我的python脚本工作正常生成CEA扩展Blob。现在我想合并" Head"和我的CEA Blob在the Wikipedia EDID Byte Order Site的帮助下。
但是在GitHub Skript中(end1-start1)让我感到困惑:
Descriptor2:
start1: .ascii "Linux #0"
end1: .byte 0x0a /* End marker */
.fill 12-(end1-start1), 1, 0x20 /* Padded spaces */
我该怎么做"Linux #0" - 10
? (0x0a = 10)
当我转换" Linux#0"我得到76 105 110 117 120 32 35 48
对于描述符的18字节有什么意义吗?
答案 0 :(得分:1)
在汇编程序中,行开头的标记表示地址。 start1
是字符串"Linux #0"
开始的地址,end1
是字节0x0a
开始的地址(或因为它是单个字节而定位)。术语(end1-start1)
指的是地址的差异。由于汇编程序将事物放在内存中,因此这是字符串"Linux #0"
的长度,即i。即8。
术语12 - (end1-start1)
则是将事物填充到12个字节所需的填充字节数。然后将它们放在.byte
0x0a
(.fill
ed with spaces(0x20
))后面。