民國103年 第1梯次 數位電子甲級 學科
第33題
已知單晶片M C S - 51 之指令m o v 與d j n z 各占2 個b y t e s 記憶體,而指令r e t 與n o p 只占1 個b y t…
題目
已知單晶片M C S - 51 之指令m o v 與d j n z 各占2 個b y t e s 記憶體,而指令r e t 與n o p 只占1 個b y t e 記憶體,計算下列延遲副程式D e l a y 占多少記憶體容量
- (1) 12 b y t e s
- (2) 10 b y t e s
- (3) 14 b y t e s
- (4) 16 b y t e s
官方答案
(2) 10 b y t e s
解析
依題意,延遲副程式由 mov、djnz、nop、ret 組成:Delay: MOV R0,#data 占2 bytes;L1: MOV R1,#data 占2 bytes;L2: NOP 占1 byte;DJNZ R1,L2 占2 bytes;DJNZ R0,L1 占2 bytes;RET 占1 byte。合計 2+2+1+2+2+1=10 bytes。內層迴圈由R1計數、外層由R0計數,DJNZ兼具遞減與條件跳躍功能,延遲時間約與 R0×R1 的乘積成正比,故選10 bytes。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。