当前位置:首页 > 位微机原理汇编语言及接口技术教程课后习题答案
百度文库 - 让每个人平等地提升自我
1MB最多能分成1MB÷16B=220÷24=216个逻辑段,因为每隔16个字节单元就可以开始一个逻辑段
⑴ FFFFH:0=FFFF0H ⑵ 40H:17H=00417H ⑶ 2000H:4500H=24500H ⑷ B821H:4567H=BC777H 〔习题〕
已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12H、34H、56H、78H,[21200H]~[21203H]依次存放2AH、4CH、B7H、65H,说明下列每条指令执行完后AX寄存器的内容,以及源操作数的寻址方式?
⑴ mov ax,1200h ⑵ mov ax,bx
⑶ mov ax,[1200h] ⑷ mov ax,[bx]
⑸ mov ax,[bx+1100h] ⑹ mov ax,[bx+si]
⑺ mov ax,[bx][si+1100h] 〔解答〕
⑴ mov ax,1200h ;AX=1200H,立即数寻址 ⑵ mov ax,bx ;AX=0100H,寄存器寻址 ⑶ mov ax,[1200h] ;AX=4C2AH,直接寻址
⑷ mov ax,[bx] ;AX=3412H,寄存器间接寻址
⑸ mov ax,[bx+1100h] ;AX=4C2AH,寄存器相对寻址 ⑹ mov ax,[bx+si] ;AX=7856H,基址变址寻址
⑺ mov ax,[bx][si+1100h] ;AX=65B7H,相对基址变址寻址 〔习题〕
说明下面各条指令的具体错误原因 ⑴ mov cx,dl ⑵ mov ip,ax ⑶ mov es,1234h ⑷ mov es,ds ⑸ mov al,300 ⑹ mov [sp],ax ⑺ mov ax,bx+di ⑻ mov 20h,ah 〔解答〕
(1)cx为字寄存器,dl为字节寄存器,类型不匹配。
(2)mov指令的目的操作数只能是寄存器或者主存单元,ip是指针。 (3)不允许立即数到段寄存器的传送。 (4)不允许段寄存器之间的直接传送。 55
百度文库 - 让每个人平等地提升自我
(5)数据溢出。
(6)sp不能用于寄存器间接寻址。 (7)格式不对。应为:mov ax,[bx+di] (8)mov指令的操作数不能是立即数。 〔习题〕
已知数字0~9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。
lea bx,table mov al,8 xlat 〔解答〕
lea bx,table mov al,8 xlat
;获取table的首地址,BX=200H ;传送欲转换的数字,AL=8 ;转换为格雷码,AL=12H
〔习题〕
给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态:
mov al,89h add al,al add al,9dh cmp al,0bch sub al,al dec al inc al
〔解答〕
mov al,89h add al,al add al,9dh cmp al,0bch sub al,al dec al inc al
;AL=89H ;AL=0AFH ;AL=0AFH ;AL=0FFH ;AL=00H
CF ZF SF OF PF
0 0 0 1 0 1
0 1 1 0 1 0
1 0 0 0 0 0
1 1 1 1 1 1
0 1 0 0
;AL=12H 1
;AL=00H 0
〔习题〕
请分别用一条汇编语言指令完成如下功能:
66
百度文库 - 让每个人平等地提升自我
⑴ 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。
⑵ 用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。
⑶ 用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。
⑷ 用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。
⑸ 把数0A0H与AL寄存器的内容相加,并把结果送回AL中 〔解答〕
⑴ add dx,bx ⑵ add al,[bx+si] ⑶ add [bx+0b2h],cx
⑷ add word ptr [0520h],3412h ⑸ add al,0a0h 〔习题〕
设有4个16位带符号数,分别装在X、Y、Z、V存储单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处。
mov ax,X imul Y mov cx,ax mox bx,dx mov ax,Z cwd
add cx,ax adc bx,dx sub cx,540 sbb bx,0 mov ax,V cwd
sub ax,cx sbb dx,bx idiv X 〔解答〕
(V-(X*Y+Z-540)/X 〔习题〕
给出下列各条指令执行后的结果,以及状态标志CF、OF、SF、ZF、PF的状态。 77
百度文库 - 让每个人平等地提升自我
mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax
test ax,0f0f0h
〔解答〕
mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax
test ax,0f0f0h
;AX=1470H ;AX=1470H ;AX=1470H ;AX=0000H ;AX=FFFFH ;AX=FFFFH
CF ZF SF OF PF 0 0 0 0 0
0 0 1 1 0
0 0 0 0 1
0 0 0 0 0
0 0 1 1 1
〔习题〕
控制转移类指令中有哪三种寻址方式? 〔解答〕
相对寻址、直接寻址、间接寻址(还可以分成寄存器间接、存储器间接) 〔习题〕
假设DS=2000H、BX=1256H、TABLE的偏移地址是20A1H,物理地址232F7H处存放3280H,试问执行下列段内间接寻址的转移指令后,转移的有效地址是什么?
⑴ JMP BX
⑵ JMP TABLE[BX] 〔解答〕
(1)1256H (2)3280H 〔习题〕
判断下列程序段跳转的条件 ⑴ xor ax,1e1eh je equal ⑵ test al,b jnz there ⑶ cmp cx,64h jb there
88
共分享92篇相关文档