Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
кщтеук34
1 / 1 / 0
Регистрация: 27.02.2013
Сообщений: 70
1

Исправит ошибку в сдвигах

14.03.2014, 15:45. Просмотров 256. Ответов 0
Метки нет (Все метки)

Помогите правильно сделать сдвиги, задача программы упаковать в 16разрядное из нескольких. Должно получится B1B0C5C4C3A3A2B5B4B3B2A1A0C2C1C0
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
masm
model small
.stack 100h
 
; data segment - contains program data
.data
; description of the data
var_a   db  90
var_b   db  80
var_c   db      70
cur     dw      60
 
; code segment - contains program code
.code
start:
    mov ax,@data    ; standard start rows 
    mov ds,ax       ; 
        
;   ...
;   user command code
    mov AX,0
    mov cur,0       ;0000000000000000
    mov AL,var_c
    shl AL,3
    shr AL,6
    or cur,AX       ;0000000000000C2C1C0
    
    mov AL,var_a
    shl AL,3
    shr AL,7
    shl cur,2
    or cur,AX   ;00000000000A1A0C2C1C0
    
    mov AL,var_b
    shl AL,6
    shr AL,3
    shl cur,4
    or cur,AX   ;0000000B5B4B3B2A1A0C2C1C0
    
    mov AL,var_a
    shl AL,2
    shr AL,5
    shl cur,3
    or cur,AX   ;00000A3A2B5B4B3B2A1A0C2C1C0
    
    mov AL,var_c
    shl AL,4
    shr AL,3
    shl cur,3
    or cur,AX   ;00C5C4C3A3A2B5B4B3B2A1A0C2C1C0
    
    mov AL,var_b
    shl AL,2
    shr Al,7
    shl cur,3
    or cur,AX       ;B1B0C5C4C3A3A2B5B4B3B2A1A0C2C1C0 
        
;   ...
 
    mov ax,4c00h    ; standard finish rows
    int 21h     ; 
end start
буду очень благодарен вам
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2014, 15:45
Ответы с готовыми решениями:

Найти и исправит ошибку
С клавиатуры вводятся числа, до тех пор, пока не будет введено первое отрицательное число....

Исправит ошибку, оператор new
Исправит ошибку, программа считает сумму 2 матриц/ Надо сделать через оператор new #include...

Нужно исправит ошибку с массивом!
Почти решил задачу но вот эту ошибку никак не могу исправиьcannot convert from 'void' to 'double' ...

Помогите исправит ошибку SQL
Добрый вечер У меня такая проблема после перекомпилирование апач и php, 4 сайта (скрипт веб...

Оператор case - исправит ошибку в коде
#include <stdio.h> #include <conio.h> #include <string.h> char a,d; main () { printf...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2014, 15:45

Как разобраться в сдвигах
Добрый день internal bool Method6(uint num1, uint num3, uint num2) { uint...

При нескольких битовых сдвигах не "обрезается" лишнее
Всем привет, сейчас столкнулся с непонятной ситуацией. Пишу под STM32F0, у меня есть функция,...

Изменение данных при последовательных обратных друг другу сдвигах
сдвигаю файл по байту сохраняю , затем заново беру файл сдвигаю обратно , но файл не получается в...


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

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

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