Created
November 18, 2018 06:49
-
-
Save maehrm/ef9b64c22b6e83f5c2cb60034a60057f to your computer and use it in GitHub Desktop.
平成22年度秋期基本情報午後問12_設問2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Q122 START | |
LAD GR1,ARY | |
LD GR2,N | |
CALL LREVRS | |
RET | |
ARY DC #B3D1,#8000,#0001 | |
N DC 3 ; ARYの3語の入れ替え | |
END | |
REVRS START | |
RPUSH | |
LD GR4,=0 ; 結果のビット列を初期化 | |
LAD GR2,15 ; ループカウンタ | |
LD GR3,0,GR1 ; GR3 ← ビット列 | |
LOOP SLL GR4,1 ; 結果のビット列を左シフト | |
SRL GR3,1 ; 元のビット列を右シフト | |
JOV ON | |
JZE FIN1 ; 残りのビット列の残りのビット列は全てゼロ | |
JUMP OFF | |
ON OR GR4,=#0001 | |
OFF SUBA GR2,=1 | |
JMI FIN2 ; 16ビット処理済み | |
JUMP LOOP | |
FIN1 SLL GR4,0,GR2 ; 結果のビット列を残りのビット数だけシフト | |
FIN2 ST GR4,0,GR1 | |
RPOP | |
RET | |
END | |
LREVRS START | |
RPUSH | |
LD GR3,GR1 | |
LD GR4,GR2 | |
SUBA GR4,=1 | |
JZE LOOP2 | |
ADDA GR4,GR1 | |
LOOP1 LD GR5,0,GR3 ; 以下4行でGR3が指す語とGR4が指す語の内容を | |
LD GR6,0,GR4 ; 入れ替える | |
ST GR5,0,GR4 | |
ST GR6,0,GR3 | |
LAD GR3,1,GR3 ; GR3を次の語に位置付ける | |
LAD GR4,-1,GR4 ; GR4を一つ前の語に位置付ける | |
CPA GR3,GR4 | |
JMI LOOP1 | |
LOOP2 CALL REVRS | |
LAD GR1,1,GR1 | |
SUBA GR2,=1 | |
JNZ LOOP2 | |
FIN3 RPOP | |
RET | |
END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment