nasm更改文本颜色,将错误重定位截断为适合

时间:2018-04-02 12:21:46

标签: assembly nasm masm

我正在学习NASM并试图理解代码。

我有一个代码:

section .data

text:  db  "Just some text"  ;LENGTH = 14.
color: db 181          
x:     db 0
y:     db 0

section .text
  global _start

_start:

  mov  bp, text ;STRING TO DISPLAY.
  mov  cx, 14          ;STRING LENGTH.
  mov  [x], byte 50    
  mov  [y], byte 20
  call color_string

  mov  ax,4c00h
  int  21h



color_string:

  mov  ax, ds
  mov  es, ax         
  mov  ah, 13h        
  mov  bh, 0          
  mov  bl, color
  mov  dl, x         
  mov  dh, y        
  int  10h           

  ret

我只是想学习NASM并尝试编译这段代码。

这里我只想以不同的颜色打印文本。 但是编译它会给我带来错误。

如果有人也可以指导我如何在循环中打印文本颜色,那就像用循环打印文本5次一样。

我收到的错误如下:

color.o: In function `_start':
color.asm:(.text+0x2): relocation truncated to fit: R_386_16 against `.data'
color.o: In function `color_string':
color.asm:(.text+0x2b): relocation truncated to fit: R_386_8 against `.data'
color.asm:(.text+0x2d): relocation truncated to fit: R_386_8 against `.data'
color.asm:(.text+0x2f): relocation truncated to fit: R_386_8 against `.data'

我不知道是什么问题。需要帮助。

0 个答案:

没有答案