1 練習問題

問題と解答のプログラムと実行順序、およびフローチャートを以下に示す。実 行順序は、プログラムの注釈欄の数字で示している。

1.1 加算・減算の演算

問題(1)
加算(I)

	EX1_1_1 START
	        LD     GR1,AA   ;1
	        ADDA   GR1,BB   ;2
	        ST     GR1,WA   ;3
	        RET             ;4
	AA      DC     10
	BB      DC     30
	WA      DS     1
	        END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex111.eps}
問題(2)
加算(II)

		EX1_1_2	START
		        LD     GR1,AA   ;1
		        ADDA   GR1,BB   ;2
		        ST     GR1,WA   ;3
		        RET             ;4
		AA      DC     #FF00
		BB      DC     #00AB
		WA      DS     1
		        END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex112.eps}
問題(3)
加算(III)

	EX1_1_3 START
	        LD     GR1,AA   ;1
	        ADDA   GR1,BB   ;2
	        ST     GR1,WA   ;3
	        RET             ;4
	AA      DC     -50
	BB      DC     -4351
	WA      DS     1
	        END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex113.eps}
問題(4)
減算(I)

	EX1_1_4 START
	        LD     GR1,AA   ;1
	        SUBA   GR1,BB   ;2
	        ST     GR1,SA   ;3
	        RET             ;4
	AA      DC     10
	BB      DC     30
	SA      DS     1
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex114.eps}
問題(5)
減算(II)

	EX1_1_5 START
	        LD     GR1,AA   ;1
	        SUBA   GR1,BB   ;2
	        ST     GR1,SA   ;3
	        RET             ;4
	AA      DC     -50
	BB      DC     -4351
	SA      DS     1
	        END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex115.eps}
問題(6)
減算と表示

	EX1_1_6 START
	        LD     GR1,AA   ;1
	        SUBA   GR1,BB   ;2
	        ST     GR1,SA	;3
	        JMI    SHOWM    ;4
	        OUT    PLS,PN
	        JUMP   FIN	
	SHOWM   OUT    MIS,MN   ;5
	FIN     RET             ;6
	AA      DC     -50
	BB      DC     #10FF
	SA      DS     1
	PLS     DC     'PLUS'
	PN      DC     4
	MIS     DC     'MINUS'
	MN      DC     5	
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex116.eps}

1.2 マスク

問題(1)
特定ビットの検査

		EX1_2_1 START
		        LD     GR1,DATA  ;1
		        AND    GR1,MASK  ;2
		        JNZ    SHOWM     ;3
		        OUT    PLS,PN
		        JUMP   FIN
		SHOWM   OUT    MIS,MN    ;4	
		FIN     RET              ;5
		DATA    DC     #FFAA
		MASK    DC     #8000
		PLS     DC     'PLUS'
		PN      DC     4
		MIS     DC     'MINUS'
		MN      DC     5	
		END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex121.eps}
問題(2)
複数のビットの検査

	EX1_2_2 START
	        LD     GR1,DATA  ;1
	        AND    GR1,MASK  ;2
	        JZE    SHWZE     ;3
	        OUT    ON,NO     ;4
	        JUMP   FIN       ;5
	SHWZE   OUT    ZE,NZ
	FIN     RET              ;6
	DATA    DC     #A0B9
	MASK    DC     #A000
	ZE      DC     'ZERO'
	NZ      DC     4
	ON      DC     'ONE'
	NO      DC     3
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex122.eps}
問題(3)
特定のビットの設定(I)

	EX1_2_3 START
	        LD     GR1,DATA  ;1
	        OR     GR1,MASK  ;2
	        ST     GR1,DATA  ;3
	        FIN    RET       ;4
	DATA    DC     #F0F0
	MASK    DC     #3001
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex123.eps}
問題(4)
特定のビットの設定(II)

	EX1_2_4 START
	        LD     GR1,DATA  ;1
	        AND    GR1,MASK  ;2
	        ST     GR1,DATA  ;3
	FIN     RET              ;4
	DATA    DC     #F0F0
	MASK    DC     #DFCF
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex124.eps}
問題(5)
特定ビットの取り出し

	EX1_2_5 START
	        LD     GR1,DATA  ;1
	        AND    GR1,MASK  ;2
	        ST     GR1,EVEN  ;3
	FIN     RET              ;4
	DATA    DC     #F0F0
	MASK    DC     #5555
	EVEN    DS     1
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex125.eps}

1.3 アドレス修飾

問題(1)
データの格納(I)

	EX1_3_1 START
	        LAD    GR1,1         ;1
	        LAD    GR2,0         ;2
	        ST     GR1,DATA,GR2  ;3
	        LAD    GR1,1,GR1     ;4
	        LAD    GR2,1,GR2     ;5
	        ST     GR1,DATA,GR2  ;6
	        LAD    GR1,1,GR1     ;7
	        LAD    GR2,1,GR2     ;8
	        ST     GR1,DATA,GR2  ;9
	        RET                  ;10
	DATA    DS     3
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex131.eps}
問題(2)
データの格納(II)

	EX1_3_2 START  
	        LAD    GR1,2         ;1
	        LAD    GR2,0         ;2
	        ST     GR1,DATA,GR2  ;3
	        LAD    GR1,2,GR1     ;4
	        LAD    GR2,1,GR2     ;5
	        ST     GR1,DATA,GR2  ;6
	        LAD    GR1,2,GR1     ;7
	        LAD    GR2,1,GR2     ;8
	        ST     GR1,DATA,GR2  ;9
	        RET                  ;10
	DATA    DS     3
	        END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex132.eps}
問題(3)
データの格納(III)

	EX1_3_3 START
	        LAD    GR1,2         ;1
	        LAD    GR2,0         ;2
	        ST     GR1,DATA,GR2  ;3
	LOOP    LAD    GR1,2,GR1     ;4, 9, ---
	        LAD    GR2,1,GR2     ;5, 10,---
	        ST     GR1,DATA,GR2  ;6, 11,---
	        CPA    GR2,NUM       ;7, 12,---
	        JNZ    LOOP          ;8, 13,---
	        RET                  ;saigo
	DATA    DS     100
	NUM     DC     99	
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex133.eps}

1.4 シフト演算

問題(1)
データを8倍

	EX1_4_1 START
	        LD     GR0,DATA   ;1
	        SLA    GR0,3      ;2
	        ST     GR0,KEKKA  ;3
	        RET               ;4
	DATA    DC     #00FF
	KEKKA   DS     1
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex141.eps}
問題(2)
データを1/16倍

	EX1_4_2 START
	        LD     GR0,DATA   ;1
	        SRA    GR0,4      ;2
	        ST     GR0,KEKKA  ;4
	        RET               ;5
	DATA    DC     30000
	KEKKA   DS     1
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex142.eps}
問題(3)
データを5.75倍

	EX1_4_3 START
	        LAD    GR0,0      ;1
	        LD     GR1,DATA   ;2
	        SLA    GR1,2      ;3
	        ADDA   GR0,GR1    ;4
	        LD     GR1,DATA   ;5
	        SLA    GR1,0      ;6
	        ADDA   GR0,GR1    ;7
	        LD     GR1,DATA   ;8
	        SRA    GR1,1      ;9
	        ADDA   GR0,GR1    ;10
	        LD     GR1,DATA   ;11
	        SRA    GR1,2      ;12
	        ADDA   GR0,GR1    ;13
	        ST     GR0,KEKKA  ;14
	        RET               ;15
	DATA    DC     100
	KEKKA   DS     1
	END

\includegraphics[keepaspectratio, scale=0.8]{figure/ex143.eps}

ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年8月21日


no counter