전체
-
IF-THEN,IF-THEN-ELSE,CASE 구현Programming 2009. 4. 9. 21:43
IF-THEN IF-THEN 구조는 다음과 같은 의사 코드로 표현할 수 있을 것이다. IF 조건이 참이이면 THEN 참의 문장을 실행 END_IF AX에 들어 있는 값을 절대 값으로 치환 IF AX < 0 THEN AX를 -AX로 바꾼다 END_IF 이를 어셈 코드로.... ;IF AX < 0 CMP AX,0 ;AX가0보다 작은가? JNL END_IF ;거짓이면 빠져나가고 ;THEN NEG AX ;참이면 부호를 바꾼다. END_IF IF-THEN-ELSE IF 조건이 참이면 THEN 참의 문장을 실행하고 ELSE 거짓의 문장을 실행한다 END_IF AL과 BL이 확장 ASCII 문자를 가지고 있다고 하자. 문자 순서에서 앞에오는 문자를 화면에 출력 IF AL
-
FLAGS 레지스터Programming 2009. 4. 9. 21:14
Intel x86 FLAGS Register Bit # Abbreviation Description Category* FLAGS 0 CF Carry flag S 1 1 Reserved 2 PF Parity flag S 3 0 Reserved 4 AF Adjust flag S 5 0 Reserved 6 ZF Zero flag S 7 SF Sign flag S 8 TP Trap flag (single step) X 9 IF Interrupt enable flag X 10 DF Direction flag C 11 OF Overflow flag S 12, 13 IOPL I/O privilege level (286+ only) X 14 NT Nested task flag (286+ only) X 15 0 Rese..
-
연습문제 12Programming 2009. 3. 29. 02:10
다음 프로그램을 작성하라. (a) '?'를 표시하고 (b) 세 개의 시작문자를 읽어서 (c) 그것을 11x11의 *상자으이 가운데에 표시하고 (d) 컴퓨터의 벨소리가 나게 한다. .MODEL SAMLL .STACK 100H .DATA msg db 'in put initials : $' BOX0 DB 0DH,0AH,'**********',0DH,0AH BOX1 DB '* *',0DH,0AH BOX2 DB '* *',0DH,0AH BOX3 DB '* *',0DH,0AH BOX4 DB '* ' char1 db ? char2 db ? char3 db ? boxc db ' *',0DH,0AH BOX5 DB '* *',0DH,0AH BOX6 DB '* *',0DH,0AH BOX7 DB '* *',0DH,0AH BO..
-
연습문제 11Programming 2009. 3. 29. 01:53
10X10으로 된 *표 상자를 출력하는 프로그램을 작성하라. [힌트] 상자를 지정하는 문자열을 데이터 세그먼트에 선언하고 그것을 INT 21H 기능 9를 이용하여 표시한다. .MODEL SAMLL .STACK 100H .DATA BOX0 DB '**********',0DH,0AH BOX1 DB '* *',0DH,0AH BOX2 DB '* *',0DH,0AH BOX3 DB '* *',0DH,0AH BOX4 DB '* *',0DH,0AH BOX5 DB '* *',0DH,0AH BOX6 DB '* *',0DH,0AH BOX7 DB '* *',0DH,0AH BOX8 DB '* *',0DH,0AH BOX9 DB '**********$' .CODE MAIN PROC MOV AX,@DATA MOV DS,AX LEA ..
-
연습문제 8Programming 2009. 3. 29. 01:36
다음 프로그램을 작성하라 (a)"?"를 표시하고 (b) 합이 10이 넘지 않는 두개의 10진수를 읽어 (c) 두수와 그 합을 다음 줄에 적절한 메세지와 함께 출력한다. 실행 예) ?27 THE SUM OF 2 AND 7 IS 9 title pgm4_8: 합계출력 .model small .stack 100h .data msg2 db 0dh,0ah,'The sum of: ' msg3 db ?,' and ' msg4 db ?,' is ' sum db ?,'$' .code main proc mov ax,@data mov ds,ax mov ah,2 mov dl,'?' int 21h mov ah,1 int 21h mov msg3,al mov ah,1 int 21h mov msg4,al mov sum,al mov a..
-
연습문제 9번Programming 2009. 3. 29. 01:23
음 프로그램을 작성하라 (a) 사용자에게 어떤 프롬프트를 보내고 (b) 어떤 사람의 이름 중에서 첫번째, 중간, 그리고 마지막 시작 문자를 읽어, (c) 그것들을 한줄에 한자씩 출력한다. 실행 예) ENTER THREE INITIALS : JFK J F K title pgm4_3: 3개이 이니셜을 받고 출력. .model small .stack 100h .data msg1 db 'ENTER THREE INITIALS: $' msg2 db 0dh,0ah msg3 db ?,0dh,0ah msg4 db ?,0dh,0ah msg5 db ?,0dh,0ah sum db ?,'$' .code main proc mov ax,@data mov ds,ax lea dx,msg1 mov ah,9 int 21h mov ah,1..
-
연습문제 10번Programming 2009. 3. 29. 01:19
A 부터 F 사이의 16진수 중의 하나를 읽어 다음 줄에 10진수로 표시하는 프로그램을 작성하라. 실행 예) ENTER A HEX DIGIT : C IN DECIMAL IT IS 12 .model small .stack 100h .data msg db 'Enter a hex digit : $' msg2 db 0dh,0ah,'in decimal it is : 1' num db ?,'$' .code main proc ;데이터 세그먼트 초기화 mov ax,@data mov ds,ax ;메세지 출력 lea dx,msg mov ah,09h int 21h ;a~f까지중 하나를 입력 받느다.(사용자가 a~f사이의 문자를 입력한다는 조건아래) mov ah,01h int 21h mov num,al ; 입멱받은 문자에서 ..
-
어셈블리 책Programming 2009. 3. 28. 23:28
이번 2학년 1학기 어셈블리 프로그래밍 수업시간에 사용하는 교제 이미지 출처 [교보문고] 출판사가 명진이 아니라 "진영"이다. 이 책의 프로그래밍 예제들을 실제로 실행하기위해서는 아래와 같은 사항을 갖추어야 한다. 1. ibm pc 또는 호환기종 2. ms-dos 또는 pc-dos 운영체제 3. 마이크로소프트사의 masm 과 link 또는 볼랜드사의 tasm 과 tlink와 같은 어셈블러와 링커 소프트웨어 4. 편집기(editor) 또는 워드 프로세서(wordprocessor)