부트스트랩 구현 소스코드 에러.

embeddeds0의 이미지

[org 0]
[bits 16]

jmp 0x07C0:start

start:
mov ax, cs
mov ds, ax

mov ax, 0xB800
mov es, ax
mov di, 0
mov ax, word [msgBack]
mov cx, 0x7FF
paint:
mov word [es:di], ax
add di, 2
dec cx
jnz paint

mov edi, 0
mov byte [es:edi], 'A'
inc edi
mov byte [es:edi], 0x06
mov edi
mov byte [es:edi], 'B'
inc edi
mov byte [es:edi], 0x06
mov edi
mov byte [es:edi], 'C'
inc edi
mov byte [es:edi], 0x06
mov edi
mov byte [es:edi], '1'
inc edi
mov byte [es:edi], 0x06
mov edi
mov byte [es:edi], '2'
inc edi
mov byte [es:edi], 0x06
mov edi
mov byte [es:edi], '3'
inc edi
mov byte [es:edi], 0x06

jmp $

msgBack db '.', 0x67

times 510-($-$$) db 0
dw 0xAA55

제가 위와 같이 부트스트랩을 구현해보려고 책 참고하면서 소스코드를 작성해봤는데요
근데 cmd에서 다음과 같이 컴파일을 했는데 계속해서 다음과 같은 에러가 납니다.

> nasm -f bin -o 1.bin 1.asm
1. asm:25: error: invalid combination of opcode and operands
1. asm:29: error: invalid combination of opcode and operands
1. asm:33: error: invalid combination of opcode and operands
1. asm:37: error: invalid combination of opcode and operands
1. asm:41: error: invalid combination of opcode and operands

음. 머가 문제인가요 이거때문에 다음으로 진행을 할 수가없네요..

baimouths의 이미지

에러를 보면
1. asm:25: error: invalid combination of opcode and operands
1.asm 파일의 25 행에서 error 가 났는데 그 원인은 invalid combination of opcode and operands 라고 합니다.
이하 에러도 같은 내용이구요

25행을 보면
mov edi
인데요.
mov 는 http://en.wikipedia.org/wiki/MOV_%28x86_instruction%29 를 보면 'mov x, y' 와 같이 써야 합니다.
mov edi 에서 뒤에 하나가 빠졌죠( 혹은 앞에...? )

제가 부트스트랩도 어셈블리도 잘 몰라서 더는 모르겠습니다 ㅎㅎ;;
혹시 모르니 참고하실만 해보이는 곳 첨부합니다.
http://1228.tistory.com/entry/%EB%B6%80%ED%8A%B8%EB%A1%9C%EB%8D%94-%EB%A7%8C%EB%93%A4%EA%B8%B0-2

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.