Ошибка компиляции в VS 2010 - Assembler

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Только начал учиться ассемблеру, до этого программировали на первом курсе на С, так вот на втором курсе нам дали ассмблер еще в довесок. Программируем на массом32, сел я значит разбираться с лабораторной,есть пример программы, я настроил проект(по инструкции,вроде все правильно). Сел я писать свою программу,хотя и не очень получается, а потом решил скомпилировать уже готовый пример и посмотреть на это чудо. Начал компиляцию,а он мне выдал ошибку и что с ней делать не понятно. Текст ошибки: 1
Листинг программы
  1. >------ Построение начато: проект: Лаба, Конфигурация: Debug Win32 ------
  2. 1>Построение начато 11.10.2016 14:46:15.
  3. 1>InitializeBuildStatus:
  4. 1> Создание "Debug\Лаба.unsuccessfulbuild", так как было задано "AlwaysCreate".
  5. 1>_MASM:
  6. 1> Assembling [Inputs]...
  7. 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\masm.targets(49,5): error MSB3721: выход из команды "ml.exe /c /nologo /Sg /Zi /Fo"Debugаба.obj" /Fl"«Лаба.lst" /W3 /errorReport:prompt /Ta"Лаба.asm"" с кодом "1".
  8. 1>
  9. 1>СБОЙ построения.
  10. 1>
  11. 1>Затраченное время: 00:00:00.25
  12. ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Гугл по этому поводу молчит, либо я плохо гуглил,так вот,что это за ошибка и как избавиться от нее? На отрез не хочет компилировать программу. Текст самой программы:
Листинг программы
  1. ;.686
  2. ;Система команд процессора 686
  3. ;.MODEL FLAT,stdcall;Модель памяти плоская, стандартный вызов процедуры
  4. ;option casemap:none;Режим при котором заглавные и строчные буквы не различаются
  5. ;comment * -----------------------------------------------------
  6. ;Условие задачи:Вычислить арифметические выражения для x и y. Вычисления в словах.
  7. .XLIST
  8. include \masm32\include\masm32rt.inc;Обеспечивает подключение всех необходимых функций и
  9. ;макросов.
  10. .LIST ;Директивы .XLIST и .LIST обеспечивают правильное формирование листинга программы
  11. .DATA
  12. a dw -3
  13. b dw 5
  14. c1 dw 2
  15. .DATA?
  16. x dw ?
  17. y dw ?
  18. ; Выражения для Х и У
  19. ; a^2-b^3+3*c1 b^3-x/4
  20. ; x:= ------------; y:= --------;
  21. ; 2*a^2-8 a
  22. ;
  23. .CODE
  24. lab1:
  25. mov ax,a;ax=-3
  26. imul a ;ax=a^2=9
  27. mov bx,ax ;Сохраняем a^2 в bx=a^2=9
  28. mov ax,b;ax=5
  29. imul b;ax=b^2=25
  30. imul b;ax=b^3=125
  31. mov cx,ax;Сохраняем b^3 в cx=b^3=125
  32. mov ax,3;ax=3
  33. imul c1;ax=c1*3=6
  34. add ax,bx;ax=a^2+c*3=15
  35. sub ax,cx ;ax=a^2-b^3+3*c=-110, числитель а ax.
  36. sal bx,1 ;bx=2*a^2=18
  37. sub bx,8 ;bh=2*a^2-8=10, Знаменатель в bx.
  38. cwd ;ax->(dx:ax), расширяем ax до (dx:ax)
  39. idiv bx; ax=-11
  40. mov x,ax; x=-11.
  41. ;Вычисляем y
  42. mov bx,4
  43. cwd
  44. idiv bx;ax=x/4=-2
  45. ;mov ax,x
  46. ;sar ax,2;al=x/4=-2
  47. neg ax;ax=-ax=2;
  48. add ax,cx;ax=b^3-c/4=127, числитель у
  49. ;расширяем ax до (dx:ax)
  50. cwd
  51. idiv a;ax=ax/a=-42
  52. mov y,ax;y=-42.
  53. ;ret
  54. exit
  55. end lab1
Подскажите люди добрые

Решение задачи: «Ошибка компиляции в VS 2010»

textual
Листинг программы
  1.     .model flat
  2.     .data
  3. a   db 0ffh
  4. b   db 000h
  5. x   dw ? ; число со знаком
  6.     .code
  7. public main
  8. main proc
  9.     ; короткий путь
  10.     mov ax, word ptr a
  11.     xor al, ah
  12.     mov a, al
  13.     jmp short quit
  14.  
  15.     ; длинный путь
  16.     mov ax, word ptr a
  17.     test al, al  ; проверяем a
  18.     jz chek_b
  19.     not ah
  20. chek_b:    
  21.     test ah, ah  ; проверяем b
  22.     jz false
  23.  
  24. true:
  25.     mov a, 0ffh
  26.     jmp short quit
  27. false:
  28.     mov a, 0
  29.  
  30. quit:
  31.     xor ax, ax
  32.     ret
  33. main endp
  34. end

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.357 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут