so muss ich einen grundlegenden Rechner machen (ich habe morgen eine Prüfung), aber ich stecke fest. Ich bekomme zuerst num zu Array, Aktion (+ OR -) und dann die zweite Nummer, die auch zu Array geht (Nummer muss 1-4 Ziffern sein). Wie nehme ich jede Zahl aus dem Array und wandle sie in eine ganze Zahl um (binär), mache die mathematische Aktion und wandle die Antwort in ein Hex und drucke sie? Es muss mit getrennten Funktionen geschehen, und nur wenn der Benutzer 0 eingibt, wenn die Nachricht erscheint, die erste Nummer einzugeben, wird das Programm beendet. Das ist mein Code, ich hoffe, Sie verstehen meine Frage und meinen Code (ich konnte nichts finden, was ich im Internet suche). Dank :)Assembly-Rechner (Sub & Addition) mit Funktionen und Arrays
data segment
entr_first db 'Please enter first num 1-4 digits:',0ah,0dh,'$'
select_op db 'Please enter operation type + or -:',0ah,0dh,'$'
entr_sec db 'Please enter second num 1-4 digits:',0ah,0dh,'$'
ans db 'Your answer is: $'
num1 db 7 dup('5')
num2 db 7 dup('5')
answer db 8 dup('6')
opr db 1 dup('0')
data ends
sseg segment stack
sseg ends
code segment
assume cs:code,ds:data,ss:sseg
main: mov ax,data
mov ds,ax
call kelet1
call revah
call keletOpr
call revah
call kelet2
call dollar
int 21h
mov ax,4c00h
int 21h
dollar:
mov cx,0
mov si,0
mov cl,num1[si+1]
add si,cx
add si,2
mov num1[si],'$'
mov cx,0
mov si,0
mov cl,num1[si+1]
add si,cx
add si,2
mov num2[si],'$'
ret
revah: mov ah,2
mov dl,13
int 21h
mov dl,10
int 21h
ret
kelet1: mov dx,offset entr_first
mov ah,9
int 21h
mov dx,offset num1
mov ah,10
int 21h
ret
keletOpr:mov dx,offset select_op
mov ah,9
int 21h
mov ah,1
int 21h
mov opr[0],al
ret
kelet2: mov dx,offset entr_sec
mov ah,9
int 21h
mov dx,offset num2
mov ah,10
int 21h
ret
code ends
end main
Auch SO ist voller Beispiele für die Umwandlung von String in Zahl ... Auch genauer gesagt, was verursacht Sie Problem, benötigen Sie einen Algorithmus oder stecken Sie fest, es zu implementieren? Wenn ja, wo genau? PS: Kommentiere deinen Code, besonders wenn du willst, dass andere dir helfen. Wenn dies eine Schulaufgabe ist, besuche dein Lernmaterial und konsultiere deinen Lehrer. – Jester