Технологии
Решено
ОПРЕДЕЛЕНИЕ ДАННЫХ В 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. Выводит
на экран.
В пунктах 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
программа не совсем правильно работает
май 6, 2012 г.
-
Всего ответов: 4
-
ну она и не может работать, программы нет
должно быть что то примерно такое
.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 />.data
my_name db 'Familya', '$'
N equ 123
N2 equ 456
l_byte db N,
h_byte db 3*N.<br />l_word dw 10*N
h_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_name
print l_byte
print h_byte
print l_word
print h_word
print v_dword
exit
; ---------------------------------------------------------------------
end start ; Tell MASM where the program end
-
код подправил, это редактор сайта не правильно реагирует на програмный текст, пытается умничать, но не умеет
Лучший ответ по мнению автора -
пропущена строка, см исправление
start: ; The CODE entry point to the programprint my_name
print my_name
print l_byte
-
<strong>.<br </strong>- это обрывки html тегов, как раз тот глюк редактора сайта
если вопросы актуальны - можем продолжать в том же режиме по одному
я поставил masm, будем проверять компиляцией и выполнением
Похожие вопросы