汇编试题和答案
MOV AX,ES:[1000H]物理地址31000H (AX)=9ABCH。
MOV AX,[BX]物理地址21000H (AX)=1234H。
MOV AX,[BP+DI]物理地址21002H (AX)=5678H。
MOV AX,[BX][SI]物理地址21001h(AX)= 7812h。
6.将正确答案填入下列节目片段的括号内。
数据段
BUF DB 12H,56H
数据结束
7.指出下列指令错误的原因,并填入括号内。
A.MOV AX,BL;源操作数和目标操作数的长度不同。
B.MOV CS,AX;CS寄存器不能用作目标操作数。
C.GAMA[BX];必须显示指示目标操作数的长度(使用修饰符,如BYTE PTR和WORD PTR)。
D.MOV ES,5600H当段寄存器用作MOV指令的目标操作数时,源操作数不能是立即数。
E.子AX,DS;段寄存器不能用作操作指令的源操作数。
8.下列语句在内存中给变量分配了多少字节?请填写括号。
VR1 DW?;2字节
VR2 DW 4 DUP(?),2;10字节
CONT EQU 10;这是一个伪指令,CONT在汇编阶段只是作为一个代表值10的标签,并不是一个变量,所以实际上并没有分配内存。
9.设BX=1200H,SI=0002H,DS=3000H,(31200H)=50H,(31201H)=02H,(31202h)。
A.DEC字节指针〔1200H〕Q: (31200)=4FH,CF = CF的初始值(DEC指令不影响CF标志)。
B.SAR字节PTR [SI+1200H],1;问:(31202H)=FBH,ZF=0。
C.MOV AX,字PTR〔BX+SI〕;Q: AX=90F7H,SF = SF的原始值(MOV指令不影响标志位)。
2.为每组写一个程序说明,这样:(6分)
A.bx寄存器的低四位是1或BX,000FH或BL,0FH。
B. AX寄存器的低四位清0和AX,0FFF0H或AL,0F0H。
c .使用测试指令测试DL寄存器的第3位和第6位是否同时为0。测试D1,01001000b(如果结果ZF=0意味着两者都是0)。
3.在一个子程序开始时保护AX、BX、CX和DX的信息,在子程序结束时恢复这四个寄存器信息。比如:(4分)
;保护现场
推斧
推BX
推CX
推送DX
;还原现场
┇
┇
┇
还原场景时尽量写指令序列。
流行DX
波普·CX
波普·BX
爆破筒
1.对于下面的数据定义,每条MOV指令单独执行后,寄存器的内容是什么?(5分)
FLDB DB?
TAB1 DW 20 DUP(?)
TAB2 DB 'ABCD '
(一)MOV AX,FLDB AX=1型
(B) MOV AX,型号TAB1 AX=2
(C) MOV CX,长度TAB1 CX=20
(D) MOV DX,尺寸TAB1 DX=40
(E) MOV CX,长度TAB2 CX=1
执行以下程序段后,AL的内容是什么?(5分)
MOV艾尔,10
加铝,铝
SHL AL,1
MOV·布莱
SHL AL,1
添加AL,BL
结果AL=0C0H
下列程序段的作用是什么?(5分)
SAL AX,1
RCL DX,1
5.已知节目片段:
字符串数据库' ABCDEFGHIJ '
┇
MOV啊,01;从键盘输入字符1~9。
INT 21H
还有AL,0FH
十二月
异或啊,啊
MOV BX,偏移字符串
加上BX,斧头
MOV·DL,[BX]
MOV啊,02H显示输出
INT 21H
┇:如果有什么不明白的,可以百度一下:编程回忆录。他们现在在录制这方面的教程,都是从零开始,由浅入深。