汇编语言判断题 常熟理工题库 答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
标题
在“IN AL,端口地址”指令中,端口地址指定了某个外部设备接口的I/O地址,它实际上是10010110与01011011异或的结果为11001101。
当运算结果的低8位中有偶数个1 时, 奇偶标志位PF被置为1。
CS,DS,ES和SS段都可以存放数据。
ASCII DW 'ABCD'
MOV DS,2000H
MOV SI,[SI]
PUSH AL
ADD [SI],[BX]
SHR AX,CX
立即数寻址方式不能用于目的操作数字段。
8086/8088标志寄存器共有16位,每一位都有含义。
在汇编语言源程序中,伪指令语句必须放在数据段中。
MOV指令不影响标志位。
指令SHR AX,4可以将AX的内容逻辑右移4位。
MOV AX,[BP]的源操作数的物理地址为16*(DS)+(BP)。
CF位可以用来表示无符号数的溢出。
逻辑右移1位和算术右移1位的效果是一样的。
指令MOV AL,255是合法的数据传送指令。
指令TEST AL,0执行后AL的内容一定是全零。
汇编语言源程序不一定包含数据段、堆栈段,但必须包含代码段。
不能给段寄存器进行立即数方式赋值。
指令IN AL,DX是合法的指令。
指令XCHG BX,ES可以将寄存器BX和ES的内容互换。
PUSH、POP指令的操作数必须是字操作数。
内存中字单元的地址必须是偶数地址。
汇编程序和汇编语言源程序是不同的概念。
条件转移指令与无条件转移指令的转移范围是一样的。
符号定义语句不占内存单元,变量定义语句占内存单元。
伪指令语句与指令语句只是不同的语句种类,没有什么本质区别。
在变量定义时,可以通过使用ORG伪指令指定变量在段中存储时的偏移量。
CMP AX,BX执行的操作是(AX)-(BX),但结果不保存,只改变标志寄存器中标志位的值。
只能使用PUSH、POP类的指令对堆栈段内的内容进行操作。
假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,0FEH,则存放字数据0FE52H的字地址是7465H。
汇编程序就是用汇编语言编写的汇编语言源程序。
指令中目的操作数一般是不能为立即数的。
可以将一个存储器操作数与另一个存储器操作数相加。
BX是累加器、DX是计数器。
BP是堆栈栈顶指针寄存器。
存储器的有效地址不是唯一的。
因为有段寄存器,所以存储器要分段。
IP是指令指针寄存器,可以作为操作数参加运算。
相对于某起始地址的偏移量称为偏移地址。
在指令中一个地址代表一个字节单元。
4300:3865H对应的物理地址是7B65H。
SP=1190H,执行了PUSH 指令后,SP=1192H。
常量定义不分配存储空间。
CBW可以将BL的数据扩展为BX。
AND与TEST、SUB与CMP的功能相同。
采用LOOP循环时,必须用CX计数。
无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。
串操作指令一般用CX存放长度。
CALL AX
CALL NEAR PTR [SI]
宏的处理是在程序执行过程中处理的。
已知AL=0FFH,执行IMUL AL后,AX=00FFH。
已知AH=01H,AL=0FFH,执行MUL AH后,AX=0FFFFH。
已知AX=0200H,BL=0FFH,能正确执行IDIV BL指令。
IN AL, [DX]
IN BL, DX
OUT DX, AX
用CALL指令调用子程序时,从子程序返回主程序,可以用JMP指令。
RET <n>指令,用于保持堆栈的平衡,防止内存泄露。
主程序只能通过堆栈向子程序传递参数。
子程序保护现场,指的是保护主程序的用到的寄存器值。
具有FAR属性的子程序,既可以被段内调用,也可被段间调用。
子程序中可以有多条RET指令,但最后一条指令必须是RET。
CALL指令可以实现程序的转移,但与JMP指令不同。
子程序中保护的现场,可以在主程序中恢复。
循环程序中,只能用CX作为循环控制条件。
重复前缀指令,用在LODS指令前是没有意义的。
当源块与目的块有交叉时,内存块搬移操作无法实现。
方向标志DF,指示CPU既可以向前执行指令,也可向后执行指令。
CMP指令和CMPS指令,都是实现目的操作数-源操作数。
LOOP指令,可以在64K范围内构成循环。
SI、DI分别称为“源变址寄存器”和“目的变址寄存器”,名称源自串操作。
既然有JCXZ指令,就应该有JCXNZ指令。
循环控制指令和串操作重复前缀,都是先实现CX减1,再判断CX是否为0。
要实现可零循环,可以将循环计数器CX置0。
由于都是用CX作为循环计数器,所以可以实现循环的交叉嵌套。
完全可以使用循环控制指令来实现串操作的重复。
可以使用任何改变标志位的指令来实现条件跳转,不一定非要用CMP指令或TEST指令。可以通过使用MOV指令修改IP,实现程序流向的改变。
可以用“SAL AL, 1”指令实现AL中有符号数的乘2操作。
在操作系统中,加载执行用户程序,属于段间转移。
一个正数和一个负数相加,永不可能发生溢出。
地址总线和数据总线都是双向总线。
无论是什么型号的CPU,汇编语言都是相同的。
当IF=1时,CPU处于关中断状态;IF=0时,处于开中断状态。
当IF=0时,CPU仍能响应NMI中断。
所有内部中断优先级都高于外部中断优先级。
中断向量表中,连续2个字单元存放中断服务程序的段地址和偏移量,段地址放在低字单