Guest User

Untitled

a guest
Mar 1st, 2021
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 1.14 KB | None | 0 0
  1. use  std::io::{stdin, stdout, Write};
  2. std::asm //importing inline assembly
  3.  
  4. fn main(){
  5.     println('Welcome to my '); //print function title
  6.     println(' String concatenation');
  7.     println!(' Program!');
  8.  
  9. let input_1 = String::new(); //inputs
  10. let input_2 = String::new();
  11. let stringcat = String::new();
  12. let finish = "done";
  13. let x: u32;
  14.     asm_func { //assembly function to call before string concatenation requests input variables
  15.     asm!("entry _start")
  16.    
  17.          "_start:"
  18.          "mov eax, 0x4" //syswrite
  19.          "mov ebx, 0x1" //write to stdout
  20.          "mov ecx, msg" //storing msg in ecx
  21.          "mov edx, len"
  22.          "int 0x80"
  23.          " "
  24.          "xor ebx, ebx"
  25.          "mov eax, ebx"
  26.          "inc eax"
  27.          "int 0x80"
  28.          " "
  29.          "msg db 'Hello Professor!', 0x0A"
  30.          "len = $ - msg"
  31. }
  32. println!("Enter a sentence.: ");
  33.     read(& input_1);
  34.  
  35. println!("Enter second sentence.");
  36.     read(& input_2);
  37.  
  38. println!("Which operator would you like? (+): ")
  39.     read(& stringcat);
  40.  
  41. let sum = input_1 + input_2;
  42.  
  43. let print_sum = format!("{}{}", sum, finish);
  44.  
  45. asm!()
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment