Я сейчас изучаю язык ассемблера. Это непросто, и я все еще учусь, но я хотел создать простой дополнительный расчет, получая значение от пользователя, но я даже не мог заставить компилятор запускать мой код, он продолжает говорить illegal command:
введите описание изображения здесь Имя файла: USERSUM.ASM
Я использую DOSbox , чтобы написать свой ассемблерный код, используя файл TASM
title Calculate 2 Sum
; This program is to calculate the sum input from the user
.model small
.stack 100h
.data
input1 db 0ah, odh, "Input 1st Number: ", "$"
input2 db 0ah, odh, "Input 2nd Number: ", "$"
output db 0ah, odh, "The sum is: ", "$"
number 1 dw ?
number 2 dw ?
result dw ?
.code
main proc
MOV ax, @data
MOV ds,ax
;Print 1st Message Input
MOV ah, 9
MOV dx,offset input1
int 21h
MOV ah, 1
int 21h
MOV bl, al
;Print 2nd Message Input
MOV ah, 9
MOV dx,offset input2
int 21h
MOV ah, 1
int 21h
MOV bh, al
;addition
SUB number1,'0'
SUB number2,'0'
MOV ax, number1
add ax, number2
MOV result, ax
add result,'0'
;Print Output
MOV ah, 9
MOV dx,offset output
int 21h
MOV ah, 2
MOV dl, bh
int 21h
MOV ax, 4C00h
int 21h
main endp
end main
Я хочу, чтобы результат был таким: -
Input 1st Number: 2
Input 2nd Number: 4
The sum is: 6
Я не могу понять проблему. Я что-то упустил в коде или забыл добавить что-то важное? Кто-нибудь может сказать мне, что я сделал не так?