小编Val*_*atu的帖子

MASM错误带有16b代码的未知重定位类型(1)

我很擅长M68000,但X86对我来说很困难.我正在尝试用MASM组装这个简单的程序

.MODEL SMALL
.data?
  ONE  dB ?
  TWO  dB ?
  stack db  100 dup(?)

.data
  MSG  db 13,10, 'Enter deree of polynomials:  $'
  MSG2 db 13,10, 'Enter coefficient of x^ $' 
  MSG3 db 13,10, 'The polynomial created is: $'
  MSG4 db 13,10, 'The first derivative is: $'
  STR1 db  255 DUP('$')

.code

_start:

            mov ax, offset MSG
            mov ds, ax  

end _start
Run Code Online (Sandbox Code Playgroud)

我一直收到符号MSG的错误未知重定位类型(1).我知道这是什么(当位移大于模型允许的位置或类似的东西时发生)但我不知道如何解决这个错误(我知道MASM是一个32位汇编程序,我正在尝试写一个16位代码).我想要做的是将指向.data的指针加载到ds寄存器中.

makeit.bat的MASM32 IDE生成的是:

@echo off
if exist "derivative 1.obj" del "derivative 1.obj" 
if exist "derivative 1.exe" …
Run Code Online (Sandbox Code Playgroud)

x86 assembly masm masm32 x86-16

3
推荐指数
1
解决办法
142
查看次数

标签 统计

assembly ×1

masm ×1

masm32 ×1

x86 ×1

x86-16 ×1