Add all the assignment code.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
This commit is contained in:
parent
58c6b1f81c
commit
cfe502c598
1277 changed files with 48709 additions and 1 deletions
20
hw6/llprograms/puts.ll
Normal file
20
hw6/llprograms/puts.ll
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
define i64 @main(i64 %argc, i8** %argv) {
|
||||
%p1 = getelementptr i8*, i8** %argv, i32 1
|
||||
%a1 = load i8*, i8** %p1
|
||||
%p2 = getelementptr i8*, i8** %argv, i32 2
|
||||
%a2 = load i8*, i8** %p2
|
||||
%r = call i8* @strcat(i8* %a1, i8* %a2)
|
||||
ret i64 0
|
||||
}
|
||||
|
||||
define i8* @strcat(i8* %s1, i8* %s2) {
|
||||
%l1 = call i64 @ll_strlen(i8* %s1)
|
||||
%l2 = call i64 @ll_strlen(i8* %s2)
|
||||
%l3 = add i64 %l1, %l2
|
||||
%p = call i8* @ll_malloc(i64 %l3)
|
||||
%r1 = call i8* @ll_strncpy(i8* %p, i8* %s1, i64 0)
|
||||
%r2 = call i8* @ll_strncpy(i8* %p, i8* %s2, i64 %l1)
|
||||
call void @ll_puts(i8* %p)
|
||||
ret i8* %p
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue