[MIPS] MIPS 입력 및 연산 명령어 (정수, 문자열 입출력)
·
공부/컴퓨터 구조론
저번 포스팅에서는 정수와 문자열을 출력하는 방법에 대해서 공부하였다. 이번에는 두 수를 입력받아서 값을 더하는 어셈블리 코드를 만들어보려고 한다. 정수 출력 system call code는 1, 문자열 출력 system call code는 4이다. 그리고 정수 입력 system call code는 5, 문자 입력 system call code는 8이다. 두 정수를 입력받아서 합을 출력해보려 한다. 코드를 만들기에 앞서 system call code와 산술 연산 명령어를 정리하자면 다음과 같다. system call code 의미 1 정수 출력 4 문자 출력 5 정수 입력 8 문자 입력 산술 연산 명령어 명령어 피연산자 1 피연산자 2 피연산자 3 의미 add $t0 $t0 $t1 $t0 = $t0 + $..
[MIPS] spim simulator 설치 및 MIPS 출력 명령어
·
공부/컴퓨터 구조론
.data a : .word 4 str : .asciiz "Hello world!" .text main: lw $t0, a la $t1, str move $a0, $t0 li $v0, 1 syscall move $a0, $t1 li $v0, 4 syscall MIPS 명령어 실습을 위해 spim simulator를 아래 링크에서 설치한다. spim mips simulator - Browse Files at SourceForge.net spim mips simulator - Browse Files at SourceForge.net This directory contains compiled, installable copies of Spim for various operating systems: QtSpim:..
[Android/Kotlin] Recycler view 사용법
·
공부/Android Studio
애플리케이션에서 동일한 형식을 가진 여러 개의 데이터를 출력해야 할 때가 있다. 예를 들어 특정 사이트의 회원 정보를 출력하여 관리할 때 회원 하나하나마다 레이아웃을 구성하는 것은 비효율적이다. 이럴 때 안드로이드 스튜디오의 Recycler view를 사용하면 하나의 레이아웃만 만들어둔다면 자동으로 이 레이아웃에 맞게끔 여러 정보를 출력할 수 있다. 간단하게 회원의 이름, 나이, 주소 정보들의 배열을 출력해보겠다. 이번 포스팅 역시 view binding을 사용할 예정이다. https://growth-coder.tistory.com/30 [Android/Kotlin] activity와 fragment에서 view binding 사용법 view binding을 사용하면 view에 존재하는 값들에 접근할 수..
[Kotlin] 클래스 사용법
·
컴퓨터 언어/Kotlin
코틀린도 다른 객체 지향 언어와 마찬가지로 클래스를 사용할 수 있다. class Student(name:String, age:Int){ val sName:String = name val sAge:Int = age fun printName():String{ return sName } fun printAge():Int{ return sAge } } 클래스의 멤버 변수를 프로퍼티(property)라고 하고 멤버 함수를 메소드(method)라고 한다. 클래스를 정의할 때 생성자의 경우 주 생성자와 부 생성자로 나뉜다. 위의 Student 클래스는 주 생성자이고 부 생성자는 클래스 내부에서 constructor를 사용하여 만들 수 있다. 코틀린 클래스에는 몇 가지 규칙이 존재한다. 프로퍼티는 반드시 초기화를 해야..
[Kotlin] try-catch문을 활용한 예외 처리 (finally)
·
컴퓨터 언어/Kotlin
코틀린에서도 다른 언어와 비슷하게 try-catch문을 사용하여 예외를 처리할 수 있다. 예를 들어 문자열을 입력받아서 이를 정수로 반환하는 함수가 있다고 해보자. fun toInt(str:String):Int{ return str.toInt() } 파라미터로 "123"이 전달된다면 문제가 없지만 "abc"가 된다면 toInt() 메소드에서 에러가 발생한다. 만약 숫자가 아닌 문자가 들어왔다면 -1을 반환하도록 처리해주기 위해서는 다음과 같이 try-catch문을 사용하면 된다. fun toInt(str:String):Int{ try{ return str.toInt() }catch(e:NumberFormatException){ return -1 } } try 구문에서는 실질적인 코드를 작성하면 되고 여기..
[Kotlin] 내포된 반복문과 레이블
·
컴퓨터 언어/Kotlin
반복문을 끝낼때는 break, 다음 단계 반복으로 넘어갈 때는 continue를 사용한다. 이는 자신이 포함되어 있는 반복문에서만 적용이 가능하다. 그런데 이중 반복문에서 break와 continue를 바깥쪽 반복문에 적용시키고 싶을 수도 있다. 이럴 때 사용하는 것이 레이블이다. 쉽게 말해서 반복문에 이름을 지정하고 break와 continue를 그 이름에 해당하는 반복문에 적용시키는 것이다. val arr = intArrayOf(0,2,3,4,5) val arr1 = intArrayOf(1,2,3,4,5) out@ for(i in arr.indices){ for(j in arr1.indices){ if(arr1[j]==4) continue@out print(arr[i]) println(arr1[j])..