본문 바로가기

Programming Language/Assembly

[Assembly] 어셈블리 문제8 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 문제8 : n을 입력받아 1부터 n까지의 합과 짝수의 합 홀수의 합 평균을 출력하시오. exam8.asmsection .data su db 'sum =' lsu equ $-su ev db 'even =' lev equ $-ev od db 'odd =' lod equ $-od av db 'avr =' lav equ $-av star db '*' ent db 0x0A section .bss nu r.. 더보기
[Assembly] 어셈블리 문제7 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 문제7 : goto문과 같은 태크를 사용해서 구구단을 출력하시오.(push,pop을 사용해도됨) exam7.asmsection .data x db 'x' e db '=' ent db 0x0A space db ' ' section .bss n1 resb 1 n2 resb 1 reresb 2 buf resb 1 buf2 resb 1 section .text global _start %macro wr.. 더보기
[Assembly] 어셈블리 문제6 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 문제6 : loop를 활용하여 문자 0~9 대문자 A~Z 소문자 a~z를 출력하시오 exam6.asm section .data n db '0' b db 'A' s db 'a' space db ' ' ent db 0x0A section .bss section .text global _start %macro write 2 mov eax,4 mov ebx,1 mov ecx,%1 mov edx,%2 i.. 더보기
[Assembly] 어셈블리 문제5 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 문제5 : 4개의 값을 입력받고 최대값 최소값을 test파일을 생성한뒤 저장하고 화면에 읽어 출력하시오. exam5.asmsection .data ma db 'max : ' lma equ $ -ma mi db 'min : ' lmi equ $ -mi fname db 'test',0 lf equ $ -fname space db ' ' ent db 0x0A section .bss n1 resb 1 .. 더보기
[Assembly] 어셈블리 문제4 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 4. 구구단을 만들어라1*1=1 2*1=2 3*1=3 4*1=4 5*1=51*2=2 2*2=4 3*2=6 4*2=8 5*2=101*3=3 2*3=5 3*3=9 4*3=12 5*3=15//등등6*1=6 7*1=7 8*1=8 9*1=9 6*2=12 7*2=14 8*2=16 9*2=18 6*3=18 7*3=21 8*3=24 9*3=27 exam4.asmsection .data x db 'x' e db.. 더보기
[Assembly] 어셈블리 문제3 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 3. 정삼각형을 만들어라 * *** ************ exam3.asmsection .data star db '*' ent db 0x0A space db ' ' section .bss section .text global _start %macro write 2 mov eax,4 mov ebx,1 mov ecx,%1 mov edx,%2 int 0x80 %endmacro %macro read .. 더보기
[Assembly] 어셈블리 문제2 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 2.역삼각형을 만들어라*************** exam2.asmsection .data star db '*' ent db 0x0A section .bss section .text global _start %macro write 2 mov eax,4 mov ebx,1 mov ecx,%1 mov edx,%2 int 0x80 %endmacro %macro read 2 mov eax,3 mov eb.. 더보기
[Assembly] 어셈블리 문제1 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 1. 삼각형을 만들어라*************** exam1.asmsection .data star db '*' ent db 0x0A section .bss section .text global _start %macro write 2 mov eax,4 mov ebx,1 mov ecx,%1 mov edx,%2 int 0x80 %endmacro %macro read 2 mov eax,3 mov eb.. 더보기
[Assembly] 어셈블리 Test21 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 문제 : 5개의 정수를 입력한 후 이들 중 최대값과 최소값, 합과 평균을 출력 test21.asmsection .data inp db '정수 입력 : ' li equ $ -inp ma db '최대 = ' lma equ $ -ma mi db '최소 = ' lmi equ $ -mi s db '합계 = ' ls equ $ -s a db '평균 = ' la equ $ -a ent db 0x0A sect.. 더보기
[Assembly] 어셈블리 Test20 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 문제 : n을 입력 받아 1부터 n까지의 합 test20.asmsection .data inp db '정수 입력 : ' li equ $ -inp s db '합계 = ' ls equ $ -s ent db 0x0A section .bss num resb 1 sum resb 2 t resb 1 section .text global _start %macro write 2 mov eax,4 mov ebx.. 더보기