ОПРЕДЕЛЕНИЕ ДАННЫХ В ASSEMBLER - вопрос №267034

Задание :

Используя транслятор MASM разработать программу, которая выполняет
следующие действия:
1. Определяет в памяти строковую переменную под именем my_name с
начальным значением эквивалентным Вашей фамилии латиницей и выводит
значение переменной на экран.
2. Определяет однобайтовые переменные l_byte = N, h_byte = 3 N.
3. Определяет слова l_word = 10 N, h_word = 11 N + 15.
4. Определяет двойное слово v_dword = 30 N + N2.
5. Выводитзначения переменных l_byte, h_byte, l_word, h_word, v_dword
на экран.
В пунктах 2-5 значение N принять равным номеру 6.

___________________________________

.486
.model flat, stdcall; create 32 bit code
; 32 bit memory model
; case sensetive
;always first
;MASM support macros
option casemap :none

include \masm32\include\windows.inc
include \masm32\macros\macros.asm
include \masm32\include\masm32.inc
include \masm32\include\gdi32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data
my_name DB 'Hello World',0;

.code; Tell MASM where the code starts
; —-------------------------------------------------------------------24
start:; The CODE enter point to the program

print chr$(" *** Laboratory work # 3 *** ",0);

invoke StdOut, offset my_name

exit;
; —-------------------------------------------------------------------
end start; Tell MASM where the program end

 

 

программа не совсем правильно работает

07.05.12
4 ответа

Лучший ответ по мнению автора

код подправил, это редактор сайта не правильно реагирует на програмный текст, пытается умничать, но не умеет

07.05.12
Лучший ответ по мнению автора

Другие ответы

ну она и не может работать, программы нет

должно быть что то примерно такое

.486; create 32 bit code<br .model flat, stdcall; 32 bit memory model<br option casemap :none; case sensitive<br include \masm32\include\windows.inc; always first<br include \masm32\macros\macros.asm; MASM support macros<br include \masm32\include\masm32.inc<br include \masm32\include\gdi32.inc<br include \masm32\include\user32.inc<br include \masm32\include\kernel32.inc<br includelib \masm32\lib\masm32.lib<br includelib \masm32\lib\gdi32.lib<br includelib \masm32\lib\user32.lib<br includelib \masm32\lib\kernel32.lib<br .datamy_name db 'Familya', '$'N equ 123N2 equ 456l_byte db N, h_byte db 3*N.<br l_word dw 10*Nh_word dw 11*N+15.<br v_dword dd 30*N+N2..code; Tell MASM where the code starts; ---------------------------------------------------------------------start:; The CODE entry point to the programprint my_nameprint l_byteprint h_byteprint l_wordprint h_wordprint v_dwordexit; ---------------------------------------------------------------------end start; Tell MASM where the program end
07.05.12
пропущена строка, см исправление start:; The CODE entry point to the programprint my_nameprint my_nameprint l_byte
07.05.12
<strong>.<br </strong>- это обрывки html тегов, как раз тот глюк редактора сайтаесли вопросы актуальны — можем продолжать в том же режиме по одномуя поставил masm, будем проверять компиляцией и выполнением
07.05.12

Глеб Черняк

Сейчас на сайте
Читать ответы

Олег Николаевич

Читать ответы

Георгий

Читать ответы
Посмотреть всех экспертов из раздела Технологии
Решено
Ассамблер
0 ответов
13.05.12
Решено
Ассамблер
1 ответ
07.05.12
Решено
Ассамблер
1 ответ
06.05.12
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store