Last active
December 2, 2018 02:52
-
-
Save maehrm/2612ebdef9c785aa95c4dfa6737c3c3b to your computer and use it in GitHub Desktop.
平成21年度春期基本情報午後問12_設問1
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
Q121 START | |
LAD GR1,X | |
LD GR2,=2 ; 乗数(2倍を計算) | |
LAD GR3,ANS | |
CALL MULS | |
RET | |
X DC #1234 ; 被乗数(上位語) | |
DC #5678 ; 被乗数(下位語) | |
ANS DS 2 | |
END | |
MULS START ; 32ビットx16ビット→32ビット | |
RPUSH | |
LAD GR6,0 ; 積 上位語の初期化 | |
LAD GR7,0 ; 積 下位語の初期化 | |
LD GR4,0,GR1 ; 被乗数 上位語の取り出し | |
LD GR5,1,GR1 ; 被乗数 下位語の取り出し | |
LP SRL GR2,1 ; 乗数を1ビット右にシフト | |
JOV ADD32 ; 設問1(a) | |
JZE FIN | |
JUMP NEXT ; 加算処理をスキップ | |
ADD32 ADDL GR6,GR4 ; 32ビット+32ビット→32ビット | |
ADDL GR7,GR5 | |
JOV ADJ1 ; 設問1(b) | |
JUMP NEXT | |
ADJ1 ADDL GR6,=1 ; けた上げ処理 | |
NEXT SLL GR4,1 ; 被乗数(32ビット)を1ビット左にシフト | |
SLL GR5,1 ; 設問1(c) | |
JOV ADJ2 | |
JUMP LP | |
ADJ2 OR GR4,=1 | |
JUMP LP | |
FIN ST GR6,0,GR3 ; 乗算結果の格納 | |
ST GR7,1,GR3 | |
RPOP | |
RET | |
END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment