| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 145 人关注过本帖
标题:有段书中代码自己实践时出错
只看楼主 收藏
初学编程的人
Rank: 2
等 级:论坛游民
威 望:2
帖 子:77
专家分:84
注 册:2017-3-12
结帖率:66.67%
  已结贴   问题点数:20  回复次数:4   
有段书中代码自己实践时出错
程序代码:

%include "pm.inc"

org 07c00h
jmp LABEL_BEGIN

[SECTION .gdt]
LABEL_GDT: Descriptor 0, 0, 0
LABEL_DESC_CODE32: Descriptor 0, SegCode32Len-1, DA_C+DA_32
LABEL_DESC_VIDEO: Descriptor 0b8000h, 0ffffh, DA_DRW

GdtLen equ $-LABEL_GDT
GdtPtr dw GdtLen-1
dd 0

SelectorCode32 equ LABEL_DESC_CODE32-LABEL_GDT
SelectorVideo equ LABEL_DESC_VIDEO-LABEL_GDT


[SECTION .s16]
[BITS 16]
LABEL_BEGIN:
mov ax, cs
mov ds, ax
mov es, ax
mov ss, ax
mov sp, 0100h

xor eax, eax
mov ax, cs
shl eax, 4
add eax, LABEL_SEG_CODE32
mov word [LABEL_DESC_CODE32+2], ax
mov eax, 16
mov byte [LABEL_DESC_CODE32+4], al
mov byte [LABEL_DESC_CODE32+7], ah

xor eax, eax
mov ax, ds
shl eax, 4
add eax, LABEL_GDT
mov dword [GdtPtr+2],?eax

lgdt [GdtPtr]
cli

in al, 92h
or al, 00000010b
out 92h, al

mov eax, cr0
or eax, 1
mov cr0, eax

jmp dword SelectorCode32:0


[SECTION .s32]
[BITS 32]
LABEL_SEG_CODE32:
mov ax, SelectorVideo
mov gs, ax
mov edi, (80*11+79)*2
mov ah, 0ch
mov al, 'P'
mov [gs:edi], ax

jmp $

SegCode32Len  equ $-LABEL_SEG_CODE32


程序代码:

;pm.inc
%macro Desriptor 3
    dw    %2 & 0FFFFh
    dw    %1 & 0FFFFh
    db    (%1 >> 16) & 0FFh
    dw    ((%2 >> 8) & 0F00h) | (%3 & 0F0FFh)
    db    (%1 >> 24) & 0FFh
%endmacro

用nasm编译出现如下错误
boot.asm:7: error: parser: instruction expected
boot.asm:8: error: parser: instruction expected
boot.asm:9: error: parser: instruction expected

不知何解
2017-09-04 22:31
初学编程的人
Rank: 2
等 级:论坛游民
威 望:2
帖 子:77
专家分:84
注 册:2017-3-12
  得分:0 
编译环境,OS:win10  编译软件: nasm
2017-09-05 10:48
初学编程的人
Rank: 2
等 级:论坛游民
威 望:2
帖 子:77
专家分:84
注 册:2017-3-12
  得分:0 
问题解决,原因是书中所列代码段不完整,需要附带光盘的完整pm.inc,书中未说明需要全部代码
2017-09-05 14:19
初学编程的人
Rank: 2
等 级:论坛游民
威 望:2
帖 子:77
专家分:84
注 册:2017-3-12
  得分:0 
问题解决,原因是书中所列代码段不完整,需要附带光盘的完整pm.inc,书中未说明需要全部代码
2017-09-05 14:19
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:10
帖 子:156
专家分:873
注 册:2016-5-15
  得分:20 
乐见自行解决问题
2017-09-09 08:46









关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.086949 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved