22. 根据下面定义的数据段:
DESG SEGMENT
DAT1 DB ‘1234’
DAT2 DW 5678H
ADDR EQU DAT2-DAT1
DESG ENDS
执行指令MOV AXADDR后,AX寄存器中的内容是( )
(A)5678H (B)7856H
(C)4444H (D)0004H
答案:D
分析:根据数据段的定义则存储单元的分配情况如图:
数据段定义中赋值语句EQU将表达式(DAT2-DAT1)的值赋予ADDR,表达式DAT2-DAT1的值为变量DAT2和变量DAT1相距字节数4,通过赋值语句将其赋予符号名ADDR,所以MOV AX,ADDR执行后,AX中内容为0004H。
23. 下面是80X86宏汇编语言中关于SHORT和NEAR的叙述,哪一个是正确的?
(A)它们都可以直接指示无条件转移指令目标地址的属性
(B)它们都必须借助于PTR才能指示无条件转移指令目标地址的属性
(C)SHORT必须借助于PTR才能指示无条件转移指令目标地址的属性
(D)NEAR必须借助于PTR才能指示无条件转移指令目标地址的属性
答案:D
分析:过程的距离属性有两种:NEAR和FAR。
NEAR必须借助PTR才能指示无条件转移指令目标地址的属性,SHORT可以不必借助PTR直接指示无条件转移指令目标地址属性为段内短转移。
24. 若汇编语言源程序中段的定位类型设定为PARA,则该程序目标代码在内存中的段起始地址应满足什么条件?
(A)可以从任意地址开始
(B)必须是偶地址
(C)必须能被16整除
(D)必须能被256整除
答案:C
分析:段的定位类型有四种,分别是PAGE(页起始),起始地址以00H结尾,能被256整除;PARA(节起始),起始地址以0H结尾,能被16整除;WORD(字起始)起始地址末位为0,是偶地址;BYTE(字节起始)起始地址为任意边界。