C
gerne :))
.model small
include macros.mac
.stack 100h
.data ;anfang des datensegments
;Einleitung db "Bitte geben Sie zwei positive Zahlen ein", 10,13, "$"
text1 db "Geben Sie die erste Zahl ein: ", 10,13, "$"
text2 db "Geben Sie die zweite Zahl ein: ", 10,13, "$"
text3 db "Das Ergebnis lautet: ",10,13, "$"
.code ;anfang des codesegments
start:
mov ax,@data ;daten aus dem datensegment in ax laden
mov ds,ax ;datensegment laden
mov dx, OFFSET text1 ;ausgeben des textes
mov ah,09h
int 21h
readZ dx
push dx
mov dx, OFFSET text2 ;ausgeben des zweiten textes
mov ah,09h
int 21h
readZ bx ;einlesen von bx
pop dx
xor ax,ax ;loesche ax register
mov cx,0
schl2:
shr bx, 1 ;bx nach rechts schieben
jnc ohnebit ;wenn carry 0 springe zuruck zu ohnebit
shl dx, cl ;dx nach links schieben
add ax, dx
shr dx, cl
add cx, 1
cmp cx, 16
jne schl2
ohnebit:
add cx, 1
cmp cx, 16
jl schl2
writeZ ax
mov ax,4c00h
int 21h
end start