Проверить, какое получилось число

Рейтинг: 1Ответов: 1Опубликовано: 14.12.2014

Здравствуйте. Начал изучения ассемблера, но столкнулся с проблемой вывода числа на экран:

assume cs: code, ds: data
data segment
    a dw 10
    b dw 20
    c dw 5
    x dw ?
data ends

code segment

start: mov ax, data
    mov dx, ax
    mov ax, a
    sal ax, 1
    add ax, a
    mov bx, b
    add bx, 5
    sar bx, 1
    add ax, bx
    sub ax, c
    dec ax
    mov x, ax
    mov ah,9
    mov dx, x
    int 21h
    mov ax, 4c00h
    int 21h
code ends
end start

Здесь происходят разные вычислительные операции, и итог записывается в переменную x. Почитав, я понял, для того чтобы вывести строку на экран, нужно поместить строку в регистр dx, вызвать функцию вывода mov ah,9 и потом прерывание int 21h. Но это про строки, а с числами это не выходит. И как я почитал, чтобы перевести число в строку, придётся постараться и там уже использовать стек, я до стеков ещё не дошёл. Можно ли как-то посмотреть память или что-то вроде того?

Ответы

▲ 1

@iproger, чтобы просто просмотреть, можно использовать Turbo Debugger.

По поводу вывода. Если изучаете ассемблер для себя, советую изучать сразу под Windows (или Linux, смотря какая у вас основная система). Тогда можно будет пользоваться теми функциями, которые предоставляет операционная система. И лучше не TASM, а MASM32 или FASM.