我試圖將as86的這個程序集轉換爲fasm。我有3個問題:將as86轉換爲fasm
1)爲什麼seg es
給出了error: illegal instruction.
這在16位無效?
2)是mov byte [0],0x41
(FASM語法)完全等價於mov [0],#0x41
(as86語法)?如果不是,你能告訴我相當於什麼嗎?
3)爲什麼entry start
在FASM中給出錯誤?
這裏的組件代碼:
as86彙編
entry start
start:
mov ax,#0xb800
mov es,ax
seg es
mov [0],#0x41
seg es
mov [1],#0x1f
loop1: jmp loop1
而且我寫的FASM版本:
FASM
use16
format binary
start:
mov ax,0xb800
mov es,ax
seg es
mov byte [0],0x41
seg es
mov byte [1],0x1f
loop1: jmp loop1
這是程序集fasm的語法嗎?也不適用:'error:用作符號的保留字。' – Jack
GJ:是,'mov byte [es:0],0x41'是一個有效的16位x86指令,NASM將它編碼爲'26 C6 06 00 00 41'。 – nrz
我知道它是有效的16位x86指令。我在問是否是FASM sytax。 – Jack