Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- .globl _start
- _start:
- # используем printf и используем соглашение о вызове
- mov $msg1, %rdi
- call printf
- mov $clrf, %rdi
- call printf
- mov $msg2, %rdi
- call printf
- mov $clrf, %rdi
- call printf
- mov $str1, %rdi
- call printf
- #
- mov $lstr1, %rcx
- mov $str1, %rsi
- mov $str2, %rdi
- 3:
- # movsb
- # lodsb - загружает в al, stosb загружает его в нужное место
- lodsb
- cmp $0x41, %al
- jb 1f
- cmp $0x5a, %al
- ja 1f
- add $0x20, %al
- jmp 2f
- 1:
- cmp $0x61, %al
- jb 2f
- cmp $0x7a, %al
- ja 2f
- sub $0x20, %al
- 2:
- stosb
- loop 3b
- #
- mov $str2, %rdi
- call printf
- pop %rbp
- mov $60, %rax
- syscall
- .data
- clrf:
- .byte 0xa, 0
- str1: .asciz "This Is A String!\n"
- lstr1 = . - str1
- str2: .fill 150, 1, 0
- msg1:
- .asciz "1234"
- msg2:
- .quad 0x31323334
- .byte 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement