'어셈블리' 카테고리의 다른 글

call,ret  (0) 2014.08.08
어셈블리 stst  (0) 2014.08.07
루프  (0) 2014.07.31
20140728 어셈블리 ++연산 --연산  (0) 2014.07.28
20140725 어셈블리  (0) 2014.07.25
by 날라차숑 2014. 8. 1. 17:34

1.Jump 명령어(Page 162)

1-1) Example 1

 1번 cmp 명령어에 따라 total -100 으로 total 과 100을 비교

 2번 jge : 크거나 같으면 jump ... 조건 성립 할 경우 addValue라벨로

 jump 한 경우 : addValue를 실행

 jump 안 한 경우 : cmp 명령어에 따라 cx-10 으로 cx와 10을 비교

 3번 jne : 같지않다면 Jump ... cx와 10이 같지 않으면

 endAddCheck 라벨로 Jump

 jump를 안 한 경우에는 addValue라벨을 실행

 cmp를 묶어서 C언어로 설명을 하면

 if( 100 <= total | 10 = cx ) 의 조건식으로 해석

1-2) Example 2

 

 1번 cmp 명령어에 따라 cx - 0 이므로 cx 와 0을 비교

 2번 jng : 크지 않을 경우 Jump ... 조건이 성립 할 경우 endCheckch

 Jump를 안 할 경우 계속 진행

 3번 cmp 명령어로 비교

 al값과 backspace의 아스키 코드값을 비교

 4번 jne : 같지 않다면 Jump  이것 또한 위에꺼와 같이

 조건이 성립 되지 않은 경우 종료 시키지 않고 밑의

  dec count 를 수행

 cmp명령어를 C언어로 바꿔 말하면

 if( 0 < cx & al = backspace ) 의 조건식으로 해석

1-3) Example 3

 1번 처음 수를 입력 하고 여러번 비교 할 수 있게 변수에 값을 저장

 그리고 입력한 값을 숨기기 위해 화면을 clear

 몇번만에 맞추는지를 세는 count를  0으로 초기화

 2번 count 수를 늘리면서 입력한 아스키 코드값을 정수로 변환

 2번 밑의 cmp 명령어로 서로의 비교를 하면서

 target(처음 입력한 수) 와 두번 ,세번 입력한 수 와 비교를 하여

 처음 입력한 수를 맞추는 프로그램

 서로 비교하였을때 같지 않다면 ifLess 라벨로 Jump ( jne )

 여기서 값이 만약 target보다 수가 크다면 jnl(적지않다면)

 5번으로 Jump ...

 6번을 실행하면서 수를 비교하여 untilmatch 라벨로 이동하여

 Match 될 때까지 무한 루프

 만약 Match가 되면 N Or n 을 눌리지 않는 이상 다시 시작

 N Or n 을 눌리면 종료!!

 

 2. Implementing Loop Structures (Page 172)

2-1)Example

 

  number에 들어 있는 수와 eax(1)수를 비교한다.

 jnle ( 적지 않거다 같으면 ) 조건이 성립이 되면 endWhileLE 라벨로

 그렇지 않다면 body 에서 eax의 값을 늘리면서 number와 비교

 cx를 +1 해주면서 몇번만에 나오는지 횟수를 알 수 있음

 

2-2).Example

 

  값을 입력 받아 tally의 변수에 값을 대입

 edx = sum 의미하고 ,bx = count 로 지정 . 각각 초기화를 시킴

 tally 와 bx를 비교한 뒤 숫자를 입력하여 합을 edx에 저장

 그러면서 bx에 +1을 함

 tally의 수만큼 수를 입력하고 그 수들의 합을 구하는 프로그램

 

3.For Loops in Assembly Language (Page 186)

'어셈블리' 카테고리의 다른 글

어셈블리 stst  (0) 2014.08.07
어셈블리 push&pop  (0) 2014.08.01
20140728 어셈블리 ++연산 --연산  (0) 2014.07.28
20140725 어셈블리  (0) 2014.07.25
어셈블리  (0) 2014.07.23
by 날라차숑 2014. 7. 31. 12:43




비주얼 베이직에서 컴파일 해보면 ++연산자와 --연산자를 add,와 sub를 사용하였다.




'어셈블리' 카테고리의 다른 글

어셈블리 stst  (0) 2014.08.07
어셈블리 push&pop  (0) 2014.08.01
루프  (0) 2014.07.31
20140725 어셈블리  (0) 2014.07.25
어셈블리  (0) 2014.07.23
by 날라차숑 2014. 7. 28. 11:02