Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include "stdafx.h"
- #include <stdio.h>
- #include <cstring>
- #include <string>
- #include <iostream>
- #include <fstream>
- #include <conio.h>
- #include <Windows.h>
- using std::cin;
- using std::cout;
- using std::endl;
- using std::ofstream;
- using std::string;
- void init() {
- cout << "Лабораторная работа №4." << endl;
- cout << "Тема: Изучение программирования обработки символьной информации с использованием команд пересылки строк" << endl;
- cout << "Выполнила студент группы 8304 Николаева М. А." << endl;
- cout << "Вид преобразования: Преобразование введенных во входной строке шестнадцатиричных цифр в двоичную СС" << endl << endl;
- }
- void transformation(const char* input, char* result) {
- _asm
- {
- CLD
- push esi
- push edi
- sub ax, ax
- push ax, ax
- MOV ESI, input; загружаем адреса строк
- MOV EDI, result
- BEGINCYCLE :
- LODSB
- CMP AL, 0
- JE ENDPROG
- CMP AL, 46h; если другой символ, то добавляем в строку без изменений
- JA SYMBOL
- CMP AL, 41h;
- JB NUMBER
- sub al, 31h
- JMP TRANSFORMATION
- NUMBER :
- CMP AL, 30h; проверяем символ на число
- JB SYMBOL
- CMP AL, 39h
- JA SYMBOL
- SUB AL, 48
- TRANSFORMATION:
- SUB CX, CX
- CYCLE:
- mov bx , 1
- AND Bl, AL
- PUSH BL
- INC CX
- SHR Ax, 1
- CMP al, 0
- JNE CYCLE
- SETBIT:
- DEC CX
- POP al
- STOSB
- CMP CX, 0
- JNE SETBIT
- jmp BEGINCYCLE
- SYMBOL:
- STOSB
- JNE BEGINCYCLE
- ENDPROG:
- mov AL, 0
- stosb
- pop ax
- pop edi
- pop esi
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement