본문 바로가기

Programming Language

[C언어] 비트연산 문제다음 int a = 0xA5의 값이 있다.int *p를 이용하여 a의 내용들을 변경하고 출력하세요(비트는 우측에서 0부터 시작한다.)1. 6번 비트가 0인지 1이면 true 0이면 false를 출력2. 3번 비트와 1번비트를 1로 set하고 출력3. 1번 비트와 2번 비트를 0으로 clear하고 출력4. 5,6,7,번 비트를 추출하여 값을 출력하세요 #include #define PR(a) printf("%x\n" , a) int main(void){int a = 0xA5; //1.if(a&(1 더보기
[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.. 더보기