2012-03-06 7 views
-2

NASMは私のプログラムのprintstrサブルーチンでコマンド 'mull byte [bp + 10]'を解析しません。私は講義の指示でコードを再チェックしているので、それがなぜそうしているのかを判断できません。また、直接(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 
+4

'mul'命令には' l'が1つあります。 –

答えて

0

referenceによれば、mul、ないmullです。

関連する問題