ошибка: парсер: инструкция ожидается - PullRequest
0 голосов
/ 06 марта 2012

NASM не выполняет синтаксический анализ команды 'mull byte [bp + 10]' в подпрограмме printstr моей программы.я перепроверил код с инструкциями лекции и не могу понять, почему это происходит.кроме того, он не печатает ничего на экране или на чистом экране, когда выполняется напрямую (32-битная win7) или через dosbox.

    [org  0x100]
jmp start

message:        db  'hello world'
length:         dw  11

clr:        push es
            push ax
            push di

            mov ax, 0xb800
            mov es, ax
            mov di, 0           
   nxt:     mov word[es:di], 0x0720
            add di,2
            cmp di,4000
            jne nxt
            pop di
            pop ax
            pop es
            ret

printstr:           push bp
            mov bp,sp
            push es
            push ax
            push cx
            push si
            push di

            mov ax, 0xb800
            mov es, ax
            mov al, 80
            mull byte [bp+10]
            add ax, [bp+12]
            shl ax, 1
            mov di, al
            mov si, [bp+6]
            mov cx, [bp+4]
            mov ah, [bp+8]

nextchar:           mov al, [si]
            mov [es:di], ax
            add di, 2
            add si, 1
            loop nextchar

            pop di
            pop si
            pop cx
            pop ax
            pop es
            pop bp
            ret 10

start:      call clr
            mov ax, 30
            push ax
            mov ax, 20
            push ax
            mov ax, 1
            push ax
            mov ax, message
            push ax
            push word [length]
            call printstr

            mov ax, 0x4c00
            int 0x21

1 Ответ

0 голосов
/ 06 марта 2012

В соответствии с ссылкой это mul, а не mull.

...