gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
version 0.81
[asm2wsl.git] / samples / gcd-input.asm
diff --git a/samples/gcd-input.asm b/samples/gcd-input.asm
new file mode 100644 (file)
index 0000000..1cfb44b
--- /dev/null
@@ -0,0 +1,48 @@
+.model      small\r
+;greatest common divisor, with input from terminal\r
+data segment\r
+  tempStr db "        "\r
+  prompt  db "num?$"\r
+  promptr db "RES $"\r
+  m     dw  0\r
+  n     dw  0\r
+\r
+data ends\r
+;#macros-removed-from-listing
+\r
+.code      \r
+\r
+start:           \r
+    mov ax,@data\r
+    mov ds,ax\r
+    print_str prompt\r
+    read_num m      \r
+    print_new_line\r
+    print_str prompt\r
+    read_num n\r
+    print_new_line\r
+\r
+            mov   ax,n\r
+            mov   bx,m\r
+\r
+compare:    \r
+            cmp   ax,bx\r
+            je    exit ;exit since they're equal\r
+            ja    greater\r
+            sub   bx,ax\r
+            jmp   compare\r
+\r
+greater:\r
+            sub   ax,bx\r
+            jmp   compare\r
+\r
+exit:\r
+;exit out of the program\r
+    mov n,ax\r
+    print_str promptr\r
+       print_num n\r
+; print out a result\r
+            end_execution\r
+\r
+.stack\r
+end start\r
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner