0 / 0 / 0
Регистрация: 12.04.2013
Сообщений: 6
1

Описать процедуру, которая печатает в виде 4-значного беззнакового 16-ричного числа значение заданного слова

16.06.2013, 11:21. Показов 1524. Ответов 6
Метки нет (Все метки)

Дано описание X DD ? описать близкую процедуру OUTW16 которая печатает в виде 4-значного беззнакового 16-ричного числа значение заданного слова. Используя эту процедуру, выписать фрагмент основной программы, печатающий значение переменной Х в 16-ричном виде. Выполнить это упражнение при условии что параметр передается процедуре через регистр.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2013, 11:21
Ответы с готовыми решениями:

Напечатать в виде 4-значного беззнакового 16-ричного числа значение заданного слова
Ребят выручите пожалуйста!!! Написать эту же программу с макрокомандами!!! Эта программа работает....

Печать значения заданного слова в виде 4-значного беззнакового 16-ричного числа
Дано описание X DD ? описать близкую процедуру OUTW16 которая печатает в виде 4-значного...

Описать процедуру, которая печатает все слова, заканчивающаяся и начинающаяся на заданную букву
2. Описать процедуру, которая печатает все слова, заканчивающаяся и начинающаяся на заданную букву.

Разработать рекурсивную процедуру, которая печатает на экране двоичное представление заданного числа
Разработайте рекурсивную процедуру, которая печатает на экране двоичное представление заданного...

6
202 / 168 / 11
Регистрация: 30.05.2012
Сообщений: 703
16.06.2013, 12:23 2
Вот код для вывода:
(число в AX)
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
OutInt proc
        
 
    xor     cx, cx
    mov     bx, 10 ; основание сс. 10 для десятеричной и т.п.
oi2:
    xor     dx,dx
    div     bx
; Делим число на основание сс. В остатке получается последняя цифра.
; Сразу выводить её нельзя, поэтому сохраним её в стэке.
    push    dx
    inc     cx
; А с частным повторяем то же самое, отделяя от него очередную
; цифру справа, пока не останется ноль, что значит, что дальше
; слева только нули.
    test    ax, ax
    jnz     oi2
; Теперь приступим к выводу.
    mov     ah, 02h
oi3:
    pop     dx
; Извлекаем очередную цифру, переводим её в символ и выводим.
;; раскоментировать если основание сс > 10, т.е. для вывода требуются буквы
;   cmp     dl,9
;   jbe     oi4
;   add     dl,7
;oi4:
    add     dl, '0'
    int     21h
; Повторим ровно столько раз, сколько цифр насчитали.
    loop    oi3
    
    ret
 
OutInt endp
2
0 / 0 / 0
Регистрация: 13.12.2013
Сообщений: 6
01.06.2014, 13:48 3
Не работает(
0
Клюг
7671 / 3186 / 382
Регистрация: 03.05.2011
Сообщений: 8,381
01.06.2014, 15:16 4
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
;.386 
;   .model tiny
;   .code
    org 100h
start:  
    mov di, buf ;offset buf
    mov cx, 4
        mov     dx, [y]
        mov bx, tab
next:   shld    ax, dx, 4
    shl dx,4
        and ax, 0fh
        xlatb
        stosb
        loop    next
    mov     ah, 9
    mov     dx, buf ;offset buf
    int     21h
    int 20h
;
y   dw  1234h
tab     db  '01234567890ABCDEF'
buf     db  4 dup(0),'$'
;   end     start
0
Ушел с форума
Автор FAQ
15029 / 7224 / 898
Регистрация: 11.11.2010
Сообщений: 12,972
02.06.2014, 06:22 5
Цитата Сообщение от Thanat Посмотреть сообщение
Не работает(
Thanat,
это очень емкое определение неисправности
Charles Kludge,
а где сказано, что текст для FASM?
0
0 / 0 / 0
Регистрация: 13.12.2013
Сообщений: 6
03.06.2014, 19:32 6
Выдает 1 ошибку,не знаю что делать.Желательно исправить на TASM
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
    include io.asm
s   segment stack
    X dd ? 
s   ends
d   segment
 
d   ends
c   segment
    assume  CS:c, DS:d, SS:s
    
OutInt proc NEAR
 
    xor cx,cx   ;cx=0
    mov bx,10
 
l1: xor dx,dx
    div bx
    push dx
    inc cx
    test ax,ax
    jnz l1
    mov ah,02h
    
l2: pop dx
    cmp dl,9
    jbe l3
    add dl,7
    
l3: add dl,'0'
    int 21h
    loop l2
    ret         
 
    finish
c   ends
    OutInt endp
0
Ушел с форума
Автор FAQ
15029 / 7224 / 898
Регистрация: 11.11.2010
Сообщений: 12,972
04.06.2014, 02:27 7
Цитата Сообщение от Thanat Посмотреть сообщение
Выдает 1 ошибку,не знаю что делать
А где текст ошибки? Скопируй текст ошибки в гугл-переводчик, переведи, и будет понятно ЧТО делать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2014, 02:27

Описать процедуру, которая печатает фамилию и инициалы вместо имя и отчества
Заданы фамилия, имя, отчество учащегося, разделенного пробелами. Описать процедуру, которая...

Описать процедуру, которая печатает буквы, встречающиеся и в той и в другой строках
3.Даны 2 строки. Описать процедуру, которая печатает буквы, встречающиеся и в той и в другой...

Описать процедуру, которая возвращает среднее арифметическое значение нечетных цифр, входящих в запись числа
1. Описать процедуру, которая возвращает среднее арифметическое значение нечетных цифр, входящих в...

Описать процедуру, которая печатает все буквы, входящие в строку менее К раз
Описать процедуру, которая печатает все буквы, входящие в строку менее К раз, с указанием...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru