Я начал 30 часов назад на сборе сборки , и я пытаюсь выполнить операцию, я могу запустить код , но я не могу напечатать сумму двух чисел, что не так с мой код?Сборка с добавлением двух чисел
это мой выходной ток
Enter First Number:
Enter Second Number:
но некоторые обыкновение печатать
вот мой код
.MODEL small
.STACK 100h
.DATA
operation db, 13, 10, "Addition $"
message1 db 13, 10, "Enter First Number: $"
message2 db 13, 10, "Enter second Number: $"
message3 db 13, 10, "Sum: $"
newline db 13, 10, "$"
nameinput label byte
maxnamelen db 50
curnamelen db ?
namefield db 50 dup(?)
.CODE
start:
mov ax, @data
mov ds,ax
mov ah,09h
mov dx, offset operation
int 21h
mov ah, 01h
int 21h
cmp al, '1'
je Addition
Addition:
mov ah, 09h
mov dx, offset message1
int 21h
mov ah, 01h
int 21h
mov ah, 09h
mov dx, offset newline
int 21h
mov ah, 09h
mov dx, offset message2
int 21h
mov ah, 01h
int 21h
add al, bl
mov ah, 09h
mov dx, offset newline
int 21h
mov ax, 4c00h
int 21h
END
Если вам нужно взять номер из клавиатуру в виде строки, затем преобразуйте ее в числовую, внесите в нее некоторую математику, затем преобразуйте числовое значение в строку, чтобы отобразить ее, этот ответ содержит два procs: string2number и number2string = http://stackoverflow.com/questions/30243848/assembly-x86 -date-to-number-break-a-string-in-less-sections/30244131 # 30244131 –