С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AtrumNikita
0 / 0 / 0
Регистрация: 24.05.2013
Сообщений: 4
#1

Пожалуйста переделайте код с ассемблера на с++ - C++

29.05.2013, 16:48. Просмотров 290. Ответов 0
Метки нет (Все метки)

Переделайте пожалуйста на с++.
Желательно на Visual studio c++.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
.MODEL small   ;отводим под стек и под данные по 64Кб
 .STACK 100h    ;отмечаем начало сегмента стека
 
 .DATA     ;отмечаем начало сегмента данных
 NL  db  0Ah, 0Dh, '$'
        Buf  DB  255, 0, 256 DUP (0)  ;
 hFile db 300         dup(?)
 Filename db  'file.txt',0
 .CODE    ;отмечаем начало сегмента кодов
 main PROC
  mov  ax,@data  ;копируем адрес
  mov  ds,ax  ;сегмента данных  
    
    MOV AH, 02h
    mov dl, 76h
    INT 21h
    mov dl, 76h
    INT 21h
    mov dl, 65h
    INT 21h
    mov dl, 64h
    INT 21h 
    mov dl, 69h
    INT 21h
    mov dl, 74h
    INT 21h
    mov dl, 65h
    INT 21h
    mov dl, 20h
    INT 21h
    mov dl, 73h
    INT 21h
    mov dl, 74h
    INT 21h
    mov dl, 72h
    INT 21h
    mov dl, 6Fh
    INT 21h
    mov dl, 6Bh
    INT 21h
    mov dl, 79h
    INT 21h
    mov dl, 3Ah
    INT 21h
 
 
  mov dx, offset Buf
  mov ah, 0Ah
  int 21h   ;запрашиваем строку     
  
 
  mov dx, offset NL
  mov ah, 9h
  int 21h   ;переводим строку на экране, выводя CRLF
 
  xor cx, cx 
  mov cl, [Buf+1]
  test cl, cl
  jz Exit   ;проверяем длину строки - если пустая, то выходим
 
  add bx, offset Buf+1
  add bl, cl
  mov si, bx
last:
  mov  dl,[si]
  cmp  dl,' '
  jne  tmp
  dec  si
  dec  cx
  jmp  last
  
  
tmp: mov si, offset Buf+2
 
first: mov  dl,[si]
  cmp  dl,' '
  jne  Cycle
  inc  si
  dec  cx
  jmp  first
 
  
Cycle:  lea di, hFile
  mov bx,0
 
Cycle1:  mov dl, [si]  ;берём очередной байт
 
  
Print:
  mov [di], dl
  inc di
  mov     ah,02h  ;выбор функции 2
  int     21h   ;вызов DOS
  inc  bx
    
NextChar:
  mov  dh,dl  ;сохранить текущий символ для теста на следующем витке
         inc  si   ;перейти к следующему символу
  
  loop Cycle1 
   
  push  bx
 
  mov ah, 3Ch  ;если же добрались до конца - будем сохранять.
  mov dx, offset Filename
  xor cx, cx
  int 21h    ;создаём файл
 
  pop si  
 
  push offset hFile
  call vivod
 
  mov ah, 3eh
  int 21h    ;закрываем файл
 
Exit:
  mov ax, 4c00h
  int 21h    ;выходим из программы
 
    main    ENDP
 
    vivod proc
    mov bx, ax
    mov ah, 40h
    mov cx, si
    mov bp, sp
    add bp, 2
    mov dx, [bp]
    int 21h
    ret
    vivod endp
    END main
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 16:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пожалуйста переделайте код с ассемблера на с++ (C++):

Переделайте, пожалуйста, с использованием процедур. Код С++ - C++
#include <iostream> #include <time.h> #define SIZE_X 10 #define SIZE_Y 12 #define MAX_NUM 256 int main() ...

Переделайте код под Visual - C++
Переделайте под Microsoft Visual Studio пожалуйста, буду очень благодарен. #include <iostream> #include <stdio.h> #include <string.h>...

Двумерный массив (Вычислить вектор D, компоненты которого равны сумме элементов строк матрицы). Пожалуйста переделайте готовую программу - C++
Здравствуйте!) помогите пожалуйста с такой проблемой. Лабораторную послезавтра сдавать, а я тему пропустил, очень надо((( Задание следующее...

Синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции" - C++
visual studio 2013 выдал такую ошибку error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции";...

Написать код для игры НИМ. проверьте пожалуйста тот ли это код - C++
#include <string> using namespace std; int compChoose(int markers); int userChoose(int markers); int...

Error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "SHL" - C++
visual studio выдал такую ошибку error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 16:48
Привет! Вот еще темы с ответами:

Поправьте пожалуйста код ... - C++
Вычислите длину самого короткого слова в предложении из трёх слов, разделённых пробелами. #include <iostream.h> #include...

Прокоментируйте код, пожалуйста - C++
В интернете нашел пример реализации алгоритма Лемпеля-Зива. помогите , пожалуйста , разобраться с кодом. #include <vector> #include...

Объясните пожалуйста код - C++
#include <iostream> template <typename T> struct NameOf {}; #define DEF_TYPENAME(type) template <> \ struct NameOf<type> {\ ...

объясните, пожалуйста, код - C++
есть программа, но не до конца понятно, что она делает... #include <iostream> #include <vector> #include <string> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.