2012年8月25日

nasm报错:operator may only be applied to scalar values

摘要: 搜到了一篇不错的帖子: (回答的那个人实在是太敬业了)Hey all.I'm a complete beginner in assembly and have chosen NASM to work my way up with. But I have a problem with the pseudo-instruction set. More precisely, I don't understand how the expressions "$ and $$" are used in correlation with times.It's no 阅读全文

posted @ 2012-08-25 23:16 weiweishuo 阅读(497) 评论(0) 推荐(0)

保护模式下寻址

摘要: 保护模式下寻址,使用“段选择子+段偏移” 在pmtest1.asm中有句:jmp secletorCode32:0 这就是直接使用“段选择子+段偏移”寻址 还有一种: mov ax,selectorCode32 mov gs,ax mov edi,(80*11+79)*2 ... mov [gs:edi],ax 是把段选择子放在段寄存器中,使用“段寄存器:段偏移”寻址 阅读全文

posted @ 2012-08-25 19:53 weiweishuo 阅读(163) 评论(0) 推荐(0)

先熟悉nasm 【4】 ——SECTION和标签

摘要: 1,nasm下,自定义段默认按4byte对齐。 手册上说,“ 通过在段定义行的后面加上'ALIGN'限定符实现的。比如:section .data align=16 它切换到段'.data',并指定它必须对齐到 16 字节边界。” 我也在自定义段里加上align 16,发现编译生成的代码仍按照4byte对齐。很诡异。 2,再说标签。 看下面一段代码(可正常运行),它们被写到mbr,会被加载到0x7c00处----------------------------org 0hs:mov ax,sinc ax.....------------------------- 阅读全文

posted @ 2012-08-25 17:35 weiweishuo 阅读(1014) 评论(0) 推荐(0)

导航