Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.12.2014
Сообщений: 32
1

Ввести с клавиатуры в hex- виде коды, вывести на экран сумму в 10-ой системе счисления

16.05.2016, 23:21. Показов 1212. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Выдает не то что нужно,а задание гласит так:
Ввести с клавиатуры в hex- виде коды для занесения в регистры ВХ и СХ. Вывести на экран сумму содержимого этих регистров в десятичном виде


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
.386
dseg segment use16
txt1  db  13,10,'Type HEX: $'
txt2  db  13,10,'Result..: $'
dseg ends
 
cseg segment use16
assume cs:cseg,ds:dseg
m1:
    mov cx,dseg
    mov ds,cx
        ;////ввод с клавы в bx
xor bx,bx              
m3:
mov ah,1               
int 21h
cmp al,13              
je short stop          
sub al,30h             
cmp al,9               
jbe short m5           
sub al,11h             
cmp al,5               
jbe short m4           
sub al,20h             
m4:
add al,10              
m5:
shl bx,4             
or bl,al              
jmp short m3          
stop:                
        ;////ввод с клавы в cx
xor cx,cx             
m6:
mov ah,1              
int 21h
cmp al,13             
je short stop1         
sub al,30h             
cmp al,9              
jbe short m8           
sub al,11h             
cmp al,5               
jbe short m7          
sub al,20h             
m7:
add al,10              
m8:
shl cx,4               
or cl,al              
jmp short m6           
stop1: ;////сложение и результат в ax
ret
 
;pop bx cx
add bx,cx
mov ax,bx
        ;////вывод в котором происходит непонятное
pusha               
mov bx,10           
xor cx,cx          
isDiv:                 
xor dx,dx       
movsx edx, dx         
div bx              
push  dx             
inc   cx             
or ax,ax           
jnz short  isDiv           
isOut:                   
pop   ax              
add   al,30h          
int   29h             
loop  isOut           
popa
ret
 
exit:
xor ax,ax
int   16h
int   20h
 
cseg ends
end m1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2016, 23:21
Ответы с готовыми решениями:

Ввести два одноразрядных положительных целых числа. Вывести на экран сумму ведённых чисел в двоичной системе счисления
Ввести с клавиатуры два одноразрядных положительных целых числа. Вывести на экран сумму ведённых...

Ввести число в 10-чной системе счисления, вывести его на экран в 16-чной системе счисления
Вывести на экран число представляющие в 16-чной системе счисления. Число вводится в 10-чной с/с....

Вывести на экран запись числа, меньшего, чем 8^10, в виде 10 знаков в восьмеричной системе счисления
Напишите процедуру, которая выводит на экран запись числа, меньшего, чем 8^10, в виде 10 знаков в...

Ввести с клавиатуры число и вывести его на экран в символьном виде
Очень прошу решите задачу, после завтра экзамен! :help Нужно ввести с клавиатуры любое...

1
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
17.05.2016, 14:32 2
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
model   small
.data
dbInp   db  10,13,'Enter HEX-code:$'
dbOut   db  10,13,'Decimal result:$'
dbErr   db  10,13,'Error overflow!$'
.stack  100h
.code
start:  mov ax,@data
    mov ds,ax
    call    inpNum
    mov bx,di
    call    inpNum
    mov cx,di
    add bx,cx
    mov ax,bx
    call    outNum
    mov ax,4C00h
    int 21h
;
inpNum: mov ah,9
    lea dx,dbInp
    int 21h
    xor di,di
    mov si,16
@@01:   xor ax,ax
    int 16h
    mov ah,al
    cmp al,13
    jz  @@03
    cmp al,'0'
    jb  @@01
    cmp al,'9'
    jbe @@02
    and al,223
    mov ah,al
    cmp al,'A'
    jb  @@01
    cmp al,'F'
    ja  @@01
    sub ah,7
@@02:   sub ah,'0'
    push    ax
    int 29h
    pop ax
    mov al,ah
    and ax,0fh
    xchg    di,ax
    xor dx,dx
    mul si
    add di,ax
    or  dx,dx
    jz  @@01
    mov ah,9
    lea dx,dbErr
    int 21h
    jmp inpNum
@@03:   ret
;
outNum: push    ax
    mov ah,9
    lea dx,dbOut
    int 21h
    pop ax
    xor cx,cx
    mov si,10
@@04:   xor dx,dx
    div si
    push    dx
    inc cx
    or  ax,ax
    jnz @@04
@@05:   pop ax
    or  al,'0'
    int 29h
    loop    @@05
    ret
    end start
Как-то так.
0
17.05.2016, 14:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2016, 14:32
Помогаю со студенческими работами здесь

Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы
Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы 3 * 3 (двохмирний...

Ввести с клавиатуры 5 чисел и вывести на экран их сумму
Ввести с клавиатуры 5 чисел и вывести на экран их сумму. Помогите пожалуйста решить. Очень срочно!

Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы 3х3
ввести с клавиатуры масив целых чисел и вывести его на экран в виде матрицы 3х3.(Двухмерный масив)

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

Ввести с клавиатуры два целых числа и вывести на экран их сумму.
Задача. Ввести с клавиатуры два целых числа и вывести на экран их сумму.

Ввести с клавиатуры массив из 10 целых чисел, посчитать сумму и вывести на экран
Ввести с клавиатуры массив из 10 целых чисел, посчитать сумму и вывести на экран


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru