马上要考试了,用微机原理考试讲过的知识完成下面题目

第一次作业一、单选题 第1题(1分) A. 1/2 题目答案:C 题目分析: 一位十六进制数可以用四位二进制来表示,所以采 用十六进制书写二进制数,位数可以减少到原来的1/4。 第2题(1分) 为【2】 。 A. -119 题目答案:A 题目分析: [X]反=,则[X]原=,所以其真值 为-119。 第3题(1分) 你的得分:1 关于 ASCII 码字符集中的字符,下面叙述中正确的是【3】 。 A. ASCII 码字符集共有128个不同的字符 B. 每个字符都是可打印(或显示)的 C. 每个字符在 PC 机键盘上都有一个键与之对应 D. ASCII 码字符集中大小写英文字母的编码相同 题目答案:A 你的答案:A 题目分析: 目前计算机中使用得最为广泛的西文字符集及其编码就是 ASCII 码,它一共有128个字符,其中包括10个数字、26个小写字 母、26个大写字母、算术运算符、标点符号、商业符号等,大小 写字母的编码是不相同的,由此排除 D。其中只有94个字符可以 打印(或显示),这些字符有确定的结构形状,在计算机上有相应 的键对应,可以在显示器和打印机等输出设备上输出。还有32个 字符是控制字符,它们在传输、打印或显示时起控制作用,是不 能直接打印(或显示)出来的,因此 B 和 C 也是错误的。所以应当 选择选项 A。 第4题(1分) A. FFFOH 题目答案:D 你的答案:D 题目分析: [-2]原=H,[-2]反 =1101B=FFFDH,[-2]补 =1110B=FFFEH。 第5题(1分) A. 补码 D. 原码和反码 1 你的得分:1 B. 原码 C. 补码和反码 在机器数【5】中,零的表示形式是唯一的。 你的得分:1 B. FFF1H C. FFFFH D. FFFEH -2的16位补码形式为【4】 。 B. 120 C. -120 D. 119 你的得分:1 若把8位二进制编码看成纯整数的反码,则其真值 你的得分:1 B. 1/3 C. 1/4 D. 1/5 采用十六进制书写二进制数,位数可以减少到原来的【1】 。题目答案:A 你的答案:A 第6题(1分) A.
题目答案:B 你的答案:B 第7题(1分) 你的得分:1 B. 负数 D. [+0]反 下面【7】命题是正确的。 A. 负数的反码与其真值数相同 的补码与其真值数相同 C. 正数的原码、反码、补码与其真值数相同 =B 题目答案:C 你的答案:C 第8题(1分) A.
题目答案:A 你的答案:D 第9题(2分) 你的得分:2 你的得分:0 B.
与十进制数254等值的数是【8】 。 你的得分:1 B.
将93H 看成一个组合 BCD 码,其结果是【6】 。在微型计算机中的机器数为91H,若其代表的真值为【9】 ; 则它是采用【10】表示的。 【9】 A. 91 三者都可能 【10】 A. 原码 BCD 码 题目答案:AD 你的答案:AD 题目分析: 若[X]原=91H,则 X=-17。若[X]反=91H,则[X]原 =B,即 X=-110。若[X]补=91H,则[X]原=B,即 X=-111。 若[X]BCD=91H,则 X=91。 第10题(1分) A. B DAH 题目答案:D 你的答案:D 题目分析: A. 1 219D=219 第11题(1分) A. B D. 101 题目答案:C 你的答案:C 题目分析: 92H=150 A. 1 D. 101 B. ()BCD=95 C. D. DAH=218 你的得分:1 B. ()BCD C. 92H B. 334Q=220 C. 你的得分:1 B. 334Q C. 219D D. 下列不同数制表示的数中,数值最小的是【11】 。 B. 反码 C. 补码 D. B. 129 C. -127 D.下列数中最大的数是【12】 。 第12题(1分) A. 原码你的得分:0 B. 反码 C. 补码 D. ASCII 码题目分析:计算机存储信息的最小单位是字节。 第3题(1分) 小的真值。 题目答案:T 题目分析: 二进制补码10100和 对应相同大小的真值,因为一个用16位二进制表示,一 个用8位二进制表示。均为-75的补码。 D. 第4题(1分) 你的得分:0 【4】用字长16位的寄存器存放带符号数的补码,则机器数 的最大值和最小值分别为7FFFH 和8000H。 题目答案:T 第5题(1分) 你的得分:0 C. 96.5 D. 【5】BCD 码表示的数是二进制数。 题目答案:F 你的答案:T 四、填空题 第1题(2分) 你的得分:2 下列各数均为二进制补码:A=B,B=B, C=B,D=B。试写出下列运算的十进制数真值: A+B=【1】 ,D-C-A=【2】 。 题目答案: 【1】124【2】-97 你的答案: 【1】124【2】-97 题目分析: 下列各数均为二进制补码:A=B,B=B, D. A7H C. 37D=37 C=B,D=B。试写出下列运算的十进制数真值: A+B=【4】 ,D-C-A=【5】 。 B. 75=75 A+B [A]补=B +[B]补=B ---------------C. 37D C. 80H 你的得分:0计算机内机器数通常采用【13】形式来表示。 题目答案:C 你的答案:D 题目分析:计算机内机器数通常采用补码形式来表示;而字符则 采用 ASCII 码表示。 第13题(1分) A. FH 题目答案:D 你的答案:D 第14题(1分) A. 96.8 160.5 题目答案:B 你的答案:B 第15题(1分) 者的补码为【16】 。 A.
题目答案:B 你的答案:B 第16题(1分) A. 1001001B 题目答案:C 你的答案:C 题目分析: A.
D. A7H=167 二、多选题 第1题(1分) A.
题目答案:AC 你的答案:AD 题目分析:B 与 D 选项的高4位出现大于9的代码,因此不是 BCD 码 三、是非题 第1题(1分) 你的得分:1 【1】计算机内的“溢出”是指运算结果为无穷大。 题目答案:F 你的答案:F 题目分析:计算机内的“溢出”是指运算结果超出所能表示的范 围。 第2题(1分) 你的得分:1 【2】计算机存储信息的最小单位是字节。 题目答案:T 你的答案:T 2 你的得分:0 B.
指出下列【1】是合法的组合式(压缩型)BCD 码。 你的得分:1 B. 75 下面几个不同进制的数中,最小的数是【17】 。 B.
你的得分:1 10位二进制补码表示的十进制整数范围为:-512~511,前 你的得分:1 B. 150.5 二进制数 B 的十进制数值可表示为【15】 。 你的得分:1 B. 127H 下面的数值表示中,和127相等的是【14】 。 【3】二进制补码100对应相同大B [D]补=B +[-C]补=B ----------------B +[-A]补=B -----------------=124B =-97 第2题(2分) 你的得分:2 5BH =【3】B = 【4】D 题目答案: 【3】】91 你的答案: 【3】】91 第3题(3分) 你的得分:0 已知[X]原码=[Y]反码=[Z]补码=90H,试用十进制数分别写 出 X=【5】 ;Y=【6】 ;Z=【7】 。 题目答案: 【5】-16【6】-111【7】-112 你的答案: 【5】 【6】 【7】 题目分析: 若[X]原码=90H,即[X]原=,则 X=-16。 若[X]反码=90H,即[X]反=,则[X]原=, 那么 X=-111。 若[X]补码=90H,即[X]补=,则[X]反=, [X]原=,那么 X=-112。 第4题(1分) 题目答案: 【8】-1 你的答案: 【8】-1 题目分析: [X]原=, 由于采用原码表示, 说明该数是带符号数, 所以其十进制真值为-1。 第5题(4分) [x-y] 补=【10】B。 题目答案: 【9】】 你的答案: 【9】】 题目分析: [-1]补=B +[124]补=B ------------------1 B X-Y [-1]补=B +[-124]补=B ------------------1 B 第6(1分) 你的得分:0 已知[-X]补=7001H,则[X]补=【11】H。 题目答案: 【11】8FFF 你的答案: 【11】8FFE 题目分析: 00 H 11 1111 8FFFH 第7题(3分) 你的得分:2 把十进制数-127转换成一个字节的二进制原码为【12】B,二 进制反码为【13】B,二进制补码为【14】B。 题目答案: 【12】】】你的 答案: 【12】】】1000001 第 8 题(2 分) 你的得分:2 X =+82,[X]补 = 【15】B 题目答案: 【15】 你的答案: 【15】 第9题(1分) 你的得分:1 3 你的得分:2 你的得分:1 若[X]原=,则其十进制真值为【8】 。“回车”这个字符表示成相应的 ASCII 码是【16】H? 题目答案: 【16】0D 你的答案: 【16】0D 第10题(2分) 你的得分:0 压缩型 BCD 码一个字节能表示【17】位十进制数,非压缩型 BCD 码一个字节能表示【18】位十进制数。 题目答案: 【17】2【18】1你的答案: 【17】1【18】2 第11题(2分) 补码为【20】H。 题目答案: 【19】115【20】0073 你的答案: 【19】115【20】0073 题目分析: 由于 X=73H 为正数, 所以 X=115, 其16位补码为0073H。 第 12 题(4 分) 你的得分:0 数制转换:247.86=【21】H =【22】BCD。 题目答案: 【21】F7.DC【22】. 你的答案: 【21】F7.56【22】 你的得分:2 已知十进制数 X 的8位补码为73H,求 X=【19】D 和它的16位设字长为八位,有 x= -1,y=124,则有:[x+y]补=【9】B, 一、单选题 第1题(1分) 你的得分:1第二次作业下面关于寄存器不正确的表述是【1】 。 A. AX 寄存器是算术运算的主要寄存器,又称为累加器 B. BP、SP 通常作为地址指针寄存器 C. IP 指令指针寄存器可以通过 MOV 命令改变其值 D. 标志位寄存器中的状态标志位会随算术单元的运算结果 而改变 题目答案:C 第2题(1分) A. IP 题目答案:C 第3题(1分) 你的得分:1 在8086CPU 中,如果某一内存单元的物理地址是7E7F6H,那 么它的逻辑地址是【3】 :DDF6H。 A. 70COH 题目答案:C 第4题(1分) 别选取【4】 。 A. 3B4FH 和104EH C. 2A00H 和 114FEH 题目答案:B 题目分析: A 选项的物理地址为3C53EH;C 选项中偏移地址为5 位十六进制是错误的;D 选项中段地址为5位十六进制是错误的; B 选项3B400H+00FEH=3B4FEH,正确。 第5题(1分) 你的得分:1 8086存储器分段,每个段不超过【5】 。 B. 3B40H 和 00FEH D. 3B4FEH 和 0 你的得分:1 某存储单元的物理地址为3B4FEH,其段地址和偏移地址可分 B. 70BOH C. 70A0H D. 7E7FH 你的得分:1 B. BX C. BP D. SI 隐含到 SS 段取数据的间接寻址寄存器是【2】 。 A. 16KB 题目答案:C 第6题(1分)B. 32KB 你的得分:1C. 64KBD. 1MB题目分析: 由于 BX、SI 寄存器间接寻址,操作数在 DS 段中, 所以不需要用段前缀来指明,同理 BP、SP 间接寻址,操作数在 SS 段中,所以也不需要用段前缀来指明。因此,应选择 B 选项。 第12题(1分) A. 寄存器寻址 C. 变址寻址 题目答案:B 第13题(1分) 【13】 。 你的得分:1 8086CPU 在基址加变址的寻址方式中,变址寄存器可以为 A. BX 或 CX SI 或 DI 题目答案:D 第14题(1分) 你的得分:1 B. 寄存器寻址 D. 相对的基址加变址寻址 MOV SI,ES:[DI+BX]指令,源操作数的寻址方式是【14】 。 A. 寄存器相对寻址 C. 基址加变址寻址 题目答案:C B. CX 或 SI C. DX 或 SI D. 你的得分:1 B. 相对基址变址寻址 D. 基址变址寻址 寻址指令 MOV CX,[BX+DI+20]使用的是【12】寻址方式。设22000H、22001H 单元分别存放的数据为12H、34H,若要读 取22000H 字单元中的数据,此时读出的数据是【6】 。 A. 12H 题目答案:C 第7题(1分) 你的得分:1 假设存储器中从7462H 单元开始的四个相邻字节单元中的内 容依次是32H、46H、52H、0FEH,则存放字数据0FE52H 的字单元 地址是【7】 。 A. H 题目答案:C 题目分析: 地址 内容 63H 46H 65H FEH 第8题(1分) 你的得分:0 一个有128个字的数据区,它的起始地址为12ABH:00ABH,请 给出这个数据区最末一个字单元的物理地址是【8】 。 A. 12C5BH 题目答案:C 题目分析: 末字与首字相隔(128-1=)127个字,且每个字占 用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+ (128-1)×2; 即 12ABH×10H+00ABH +(128-1)×2=12C59H。 第9题(1分) 你的得分:1 B. 基址变址相对寻址 D. 变址寻址 你的得分:0 指令 MOV AX,0283H[BX][SI]中源操作数的寻址方式为【9】 。 A. 寄存器间接寻址 C. 基址寻址 题目答案:B 第10题(1分) 移四位加上【10】 。 A. 变址寄存器的内容 B. 变址寄存器的内容再加给定的偏移量 C. 变址寄存器的内容再加基址寄存器内容 D. 基址寄存器的内容再加给定的偏移量 题目答案:A 第11题(1分) A. DS:[BP] D. ES:[SI] 题目答案:B 4 你的得分:1 B. SS:[BP] C. ES:[BX] 下列存储器操作数的跨段前缀可省略的是【11】 。 在8086变址寻址方式中,操作数的物理地址等于段寄存器左 B. 12B6BH C. 12C59H D. 12BFEH B. 7463H C. 7464H D. B. 34H C. 3412H D. 1234H第15题(2分)你的得分:0 B. 段内间接转移寻址 D. 段间间接转移寻址指令 JMP DWORD PTR [BX][SI]的寻址方式是【15】 。 A. 段内直接转移寻址 C. 段间直接转移寻址 题目答案:D 第16题(1分) A. 累加器中 的内存单元中 C. 指令操作码前的内存单元中 指定的内存单元中 题目答案:B 第17题(1分) 式是【17】 。 A. CS*16+IP D. ES*16+SI 题目答案:A 题目分析: 二、多选题 第1题(1分) A. IP 题目答案:BCD 第2题(1分) 你的得分:0 以下存储器寻址方式中, 【2】可以由 BX 寄存器提供偏移量 你的得分:1 B. AH C. AL D. BH 下列寄存器为8位的寄存器有【1】 。 程序由 CS 和 IP 确定下一条指令的物理地址。 B. DS*16+DI C. SS*16+SP 你的得分:0 在程序运行过程中,确定下一条指令的物理地址的计算表达 D. 由该立即数所 你的得分:0 B. 指令操作码后 含有立即数的指令中,该立即数被存放在【16】 。 或基址分量。 A. 立即数寻址 C. 基址变址寻址 题目答案:BC 三、是非题 第1题(1分) 题目答案:T 第2题(1分) 你的得分:1 【2】 现行数据段位于存储器的0B0000H 到0BFFFFH 存储单元, 则 DS 段寄存器的内容是0B000H。 题目答案:T 第3题(1分) 你的得分:0 【3】1M 字节存储器的每一个单元有一个20位物理地址,它 由16位段地址和16位偏移地址组成。 题目答案:T 第4题(1分) 题目答案:T 第5题(1分) 题目答案:F 题目分析:指令 JMP WORD PRT [1000H]指令是段内间接转移,指 令必须到[1000H]单元取目的地址。 第6题(1分) 题目答案:T 第7题(1分) 只能是64K 个字节。 题目答案:T 四、填空题 第1题(2分) 你的得分:2 在基址变址寻址方式中, 可用于基址的寄存器是 【1 】 和 【2 】 : 后者默认相对于 SS 段寻址的。 题目答案: 【1】BX【2】BP 第2题(4分) 你的得分:4 你的得分:1 【7】对于8086来说,各种寻址方式寻址操作数的范围最多 你的得分:1 【6】MOV BX,[DX]是错误指令。 你的得分:1 【5】指令 JMP WORD PRT [1000H]指令是段内直接转移。 你的得分:0 【4】JMP DWORD PRT [4000H]是段间间接转移指令。 你的得分:1 B. 基址寻址 D. 寄存器寻址02H 0ABH 3003H 0CDH 3004H 20H 第3题(2分) 你的得分:2 ;3002H 单元中的字节数据是0ABH,字是0CDABH【1】一个存储单元的物理地址是唯一的。在基址变址寻址方式中,可用于基址的寄存器是【7】 , 【 8】 ; 后者默认是相对于 SS 段寻址的。 题目答案: 【7】BX【8】BP 第4题(4分) 你的得分:3 已知两数补码分别为:[X1]补=B, [X2]补 =B, 计算[X1]补+[X2]补后, ZF=【9】 、SF=【10】 、OF= 【11】 ;结果为【12】D。 题目答案: 【9】0【10】1【11】0【12】-69 第5题(2分) 你的得分:2 判断无符号数运算是否溢出应根据【13】标志位;而判断有 符号数运算是否溢出应根据【14】标志位。 题目答案: 【13】CF【14】OF 第6题(2分) 你的得分:2 1KB 等于【15】B,1GB 等于【16】KB。 题目答案: 【15】48576 第7题(4分) 你的得分:4 设 CS=2500H、DS=2400H、SS=2430H、ES=2520H、BP=0200H、 SI=0010H、DI=0206H,则指令“MOV AX,[BP+SI+4]”源操作数的 有效地址为 【17】 H, 物理地址为 【18】 H; 指令“MOV AX,[DI+100H]” 源操作数的有效地址为【19】H,物理地址为【20】H。 题目答案: 【17】514【19】306 你的答案: 【17】514【19】306 题目分析: [BP+SI+4]==0214; 2H=24514H [DI+100H]=6;2H=24306H 第8题(3分) 你的得分:3 已知 DS=1000H, SS=2000H, BX=1000H, SI=2000H, DI=3000H, BP=4000H,则地址表达式[BX+100H]所指的物理地址=【21】 H;[DI][BP]所指的物理地址=【22】H;2000H[SI]所指的物理地址 =【23】H. 题目答案: 【21】1000【23】14000第三次作业一、单选题 第1题(1分) 你的得分:1 下列关于堆栈的说法错误的是【1】 。 A. 以“先入后出”为原则 B. 栈区最高地址单元的前一个单元为栈底 C. 运行中 SP 寄存器动态跟踪栈顶位置 D. 压栈和弹出都是以字节为单位 题目答案:D 5一数据区从地址3000H 开始的存储单元中存放的内容依次 是;34,13,AB,CD,20,D2,40,?h,试问: 1)3000H 单元中的字数据是【3】H,双字是【4】H。 2)3002H 单元中的字节数据是【5】H,字是【6】H。 题目答案: 【3】1334【4】CDAB1334【5】AB【6】CDAB 题目分析: CDAB1334H ;3000H 单元中的字数据是1334H;双字是 第2题(1分) A. 数据段 码段 题目答案:B 第3题(1分)你的得分:1 B. 附加段 C. 堆栈段 D. 代38102H 题目答案:B 题目分析 执行指令 PUSH AX 应先使 SP-2→SP,然后把 AX 的内容 存放入(SP)及(SP+1)单元。 SP'→ 00FEH 5BH指令“MOV AX,ES:[BP]”中的源操作数在当前【2】中。你的得分:000FFH 90H SP → 0100H 所以,存放90H 的单元物理地址为38000H+00FFH=380FFH。 C. 38101H D. 第8题(1分) 你的得分:1 已知 AL 中存放着一个压缩 BCD 码,为实现 AL 减1操作,应 选用【8】指令序列。 A. DEC AL D. SUB AL,1 AAS DAS 题目答案:D 第9题(1分) 你的得分:1 B. RCR AX,1 RCR DX,A D. RCR DX,1 SHR AX,1 将 DX:AX 组成的双字右移一位,可以下面【9】指令。 A. SHR DX,1 SHR AX,1 C. SHR DX,1 RCR AX,1 题目答案:C 题目分析: A. 错误, DX 的最低位不能被移入 AX 中。 B. 错误, AX、DX 在移位时会互相移入。D. 错误,DX 循环移位,而 AX 不 能把 DX 移出的位移入 AX。 第10题(1分) 你的得分:1 B. 置一个数中的某些位 D. 置一个数中的某些位 AND 指令用于【10】 。 A. 取一个数中的某一位 为1 C. 将一个数置为0 为0 题目答案:D 第11题(1分) B. MOV [SI],BUF D. LEA SI,BUF A. 0FFH 题目答案:A 题目分析:设 CL=8,AL=80H,执行 SAR AL,CL 后,AL 中的数据 是: 右移1位后: 右移1位后: 右移1位后: 右移1位后: 右移1位后: 右移1位后: C. 38101H D. 6 右移1位后: 你的得分:0 B. 80H C. 00H D. 0FEH 设 CL=8, AL=80H, 执行 SAR AL,CL 后, AL 中的数据是 【11】 。 C. ES D. SS DAS AAS B. SBB AL,0 C. SUB AL,1若 SS=3800H,SP=0100H,AX=905BH,执行指令 PUSH AX 后存 放数据5BH 的物理地址是【3】 。 A. 380FEH 38102H 题目答案:A 题目分析: 执行指令 PUSH AX 应先使 SP-2→SP,然后把 AX 的内容存放 入(SP)及(SP+1)单元。 SP'→ 00FEH 5BH 00FFH 90H SP → 0100H 所以,存放5BH 的单元物理地址为38000H+00FEH=380FEH。 第4题(1分) A. CS 题目答案:B 题目分析: 指令 LODSB 操作数的段地址规定在 DS 寄存器中。 第5题(1分) 分别在【5】 。 A. DS 和 BX 中 和 BX 中 题目答案:A 题目分析:PUSH [BX]指令的源操作数的寻址方式是基址寻址, 由于使用 BX 寄存器,所以其操作数的段地址和偏移地址分别在 DS 和 BX 中;而目的操作数为 SS:SP 所指的内存单元。 第6题(1分) A. MOV SI,BUF C. MOV OFFSET BUF,SI 题目答案:A 题目分析: B. 错误,该指令把存储单元的内容送到存储单元。 C. 错误,目的操作数为立即数。 D. 错误,该指令取 BUF 的偏 移地址到 SI 寄存器中,而不是取其内容到 SI 寄存器中。 第7题(1分) 你的得分:0 你的得分:0 将字变量 BUF 的内容送入 SI 寄存器的正确指令是【6】 。 B. 无段地址和偏移地址 C. SS D. SS 和 BP 中 你的得分:0 在执行 PUSH [BX]指令寻找源操作数时,段地址和偏移地址 你的得分:0 B. DS 指令 LODSB 操作数的段地址一定在【4】寄存器中。 B. 380FFH若 SS=3800H,SP=0100H,AX=905BH,执行指令 PUSH AX 后存 放数据90H 的物理地址是【7】 。 A. 380FEH B. 380FFH 右移1位后: 注意 SAR AL,CL 指令为算术右移指令,其符号位在移动过程 中保持不变且进行右移。 第12题(1分) 你的得分:1 B. 置一个数中的某些位 D. 取一个数中的某些位 OR 指令用于【12】 。 A. 取一个数中的某一位 为1 C. 将一个数置为0 题目答案:B 第13题(1分) A. AND AL,0FH D. XOR AL,0F0H 题目答案:B 题目分析:AND 指令用于屏蔽不需要的位,XOR 指令用于对某些 位求反。所以应该选用指令 AND AL,0F0H 来完成将 AL 寄存器的 低4位屏蔽掉。 第14题(2分) 指令。 MOV BX,AX MOV CL,3 SAL AX,CL SUB AX,BX A. ROR AX,1 DIV AX,2 题目答案:C 题目分析:MOV BX,AX;保护 AX 的内容 MOV CL,3; 给 CL 赋3 SAL AX,CL; 将 AX 左移3位 SUB AX,BX;将已经左移了3位的 AX 减去原来的 AX, 因为7=2^3-1, AX 左移三位相当于乘了2^3,再减去原来的 AX,就相当于完成了 原 AX 乘以7的操作,因此下面一步就应当完成除以2的功能。在 二进制的计算机数运算中,除以2的操作可以通过将操作数右移 一位完成,算术移位操作的指令 SAR 即是,因此选项 C 正确。 第15题(1分) 你的得分:1 无论 BX 中原有的数是奇数或偶数,若要使 BX 中的数一定为 奇数,应执行的指令是【15】 。 A. ADD BX,1 D. TEST BX,1 题目答案:B 题目分析:A. ADD BX,1 为偶数 B. OR BX,1 后必定是奇数 C. XOR BX,1 ;错误,若 BX 原来就是奇数与1后异或后变为偶 7 ;正确,无论 BX 原来是奇数或是偶数,与1相或 ;错误,若 BX 原来就是奇数加1后变 B. OR BX,1 C. XOR BX,1 B. SAL AX,1 C. SAR AX,1 D. 你的得分:2 若要完成(AX)×7/2运算,则在下列四条指令之后添加【14】 你的得分:1 B. AND AL,0F0H C. XOR AL,0FH 将寄存器 AL 的低4位屏蔽,应当用的指令是【13】 。数 D. TEST BX,1 第16题(1分) 【16】 。 A. TEST DL,OAAH C. NEG DL 题目答案:D 第17题(1分) A. NEG AX C. AND AX,7FFFH 题目答案:A 第18题(2分) 【18】 。 A. SHR AX,1 SHR AX,1 C. SAL AX,1 SAL AX,1 题目答案:D 题目分析:A. SHR AX,1 AX,1 ;AX 循环移位1位 SHR AX,1 ;AX/2 环移位1位 C. SAL AX,1 适用于带符号数 SAL AX,1 ;AX*2 第19题(1分) A. SHR AX,CL D. SAR AX,CL 题目答案:B 第20题(1分) 你的得分:1 执行【20】指令后,就能用条件转移指令判断 AL 和 BL 寄存 器中的最高位是否相同。 A. TEST AL,BL C. AND 题目答案:D 题目分析:判断最高位是否相同可以使用 XOR 指令(相同时 XOR 运算后最高位为0;否则为1) ,该指令执行后再用检测符号位的 条件转移指令实现判断最高位是否相同。 第21题(2分) 你的得分:0 AL,BL B. CMP AL,BL D. XOR AL,BL 你的得分:1 B. ROR AX,CL C. RCR AX,CL SAR AX,1 ;AX/2 ;AX*2 D. SAR AX,1 ;AX/2 ROL AX,1 ;AX 循 ;AX/2适用于无符号数 B. ROL B. ROL AX,1 ROL AX,1 D. SAR AX,1 SAR AX,1 你的得分:2 对寄存器 AX 的内容(带符号数)除以4的正确指令序列是 你的得分:1 B. OR AX,8000H D. XOR AX,8000H 若 AX=-15要得到 AX=15应执行的指令是【17】 。 B. OR DL,OAAH D. XOR DL,OFFH ;错误,该指令不影响 BX 的内容 你的得分:0设 DL=55H,执行指令后能使 DL 中的数据为 OAAH 的指令是设 AX=3A6FH,CL=4。若要 AX=0F3A6H,应执行指令【19】 。下列三条指令执行后,BX 的内容是【21】 。 MOV BX,0FFFEH NEG BX NOT BX A. -1 题目答案:C 题目分析:MOV BX,0FFFEH NEG BX NOT BX 二、多选题 第1题(1分) 你的得分:1 B. MOV DS,AX C. MOV DI,1000H 下列指令中,错误的指令有【1】 。 A. MOV DS,1000H D. MOV [BX],[SI] 题目答案:AD 题目分析: A. 错误,不能直接给段寄存器赋值。 存储单元不能直接给存储单元赋值。 第2题(1分) 你的得分:1 D. 错误, ;BX=-2=11 1110 ;BX=2 =00 0010 ;BX=-3=11 1101 B. -2 C. -3 D. -4第4题(1分) A. SUB 题目答案:CD 第5题(1分) A. SUB 题目答案:AB 三、是非题 第1题(1分) 题目答案:T 第2题(1分) 题目答案:F 第3题(1分) 题目答案:T 第4题(1分) 题目答案:F你的得分:1 B. POP 你的得分:1 B. DEC C. ADD D. INC C. ADD D. INC下列指令中,属于加法指令的是【4】 。下列指令中,属于减法指令的是【5】 。你的得分:1【1】指令“OUT 4FH,AX”是合法的。 你的得分:1【2】POP BX 指令执行后 SP 值将减少2。 你的得分:1【3】OUT 4FH,AX 是合法的指令。 你的得分:1若当前 DS=0600H,BX=0064H,内存字单元(06064H)=0018H, (06066H)=0700H,(06018H)=0026H,(0601AH)=0800H,并且有如 下程序片段: LEA SI,[BX] MOV BX,[BX] LDS BX,[BX] 执行该程序片段后,对于执行结果,下列描述正确的有【2】 。 A. SI=0018H D. BX=0018H 题目答案:BC 第3题(2分) 【3】 。 A. MOV DS,0 MOV BX,200H MOV [BX],AX C. MOV BX,0H MOV DS,BX MOV BX,200H MOV [BX],AX 题目答案:CD 题目分析:A. 错误;MOV DS,0指令错 B. 错误;AX 将送至02000H 单元 C. 正确;DS=20H,BX=0,物理地址=200H+0H=00200H。 D. 正确;DS=20H,BX=0,物理地址=200H+0H=00200H。 B. MOV BX,200H MOV DS,BX XOR BX,BX MOV [BX],AX D. MOV BX,20H MOV DS,BX MOV BX,0 MOV [BX],AX 你的得分:0 能够将 AX 中的内容送到内存H 处的指令序列是 B. BX=0026H C. SI=0064H【4】指令“POP BX”执行后 SP 值将减少2。 题目分析: 指令“POP BX”执行后 SP 值将增加2。 第5题(1分) 题目答案:T 第6题(1分) 你的得分:1 【6】已知内存(30050)=11H,(30051H)=22H,(70050)=33H, (70051H)=44H, 且 AX=3A4BH,DS=3000H, SS=7000H, BP=0030H, 则指令“LEA BX,[BP+20H]”执行后 BX=4433H。 题目答案:F 你的答案:F 第7题(1分) 你的得分:1 【7】 已知内存(30050H)=11H, (30051H)=22H, (70050)=33H, (70051H)=44H,且 AX=3A4BH,S=3000H,SS=7000H,BP=0030H, 则指令“LEA BX,[BP+20H]”执行后 BX=0033H。 题目答案:F 你的答案:F 题目分析: BX=BP+20H=H=0050H。 第8题(1分) AX=0572H。 题目答案:T 你的答案:F 第9题(2分) 你的得分:0 【9】 如果 AX=0534H, 则执行 ADD AL,38H 后再执行 DAA 指令, 8 你的得分:0 【8】如果 AX=0534H, 则连续执行 ADD AL,38H 和 DAA 指令后 你的得分:1 【5】指令“OUT 4FH,AX”是合法的指令。 则 AX=0572H。 题目答案:T 你的答案:F 四、填空题 第1题(3分) MOV AX,1200H MOV BX,3400H MOV CX,5600H PUSH PUSH PUSH POP POP POP CX AX BX CX AX BX 你的得分:3 执行下列指令后,AX=【1】H,BX=【2】H,CX=【3】H。B +B ----------B CF=1,OF=1异或1=0,PF=0 第5题(4分) 请完善程序。 【12】 【13】 ;设置地址指针 ;使高4位变为“0”而低4位不变 MOV AL,[SI] ;取 ABC 单元中的数据到 AL MOV [SI],AL ;存结果 题目答案: 【12】LEA SI,ABC【13】AND AL,0FH 你的答案: 【12】MOV SI,ABC【13】AND AL,OFH 第6题(3分) 你的得分:1 假定 DX=B,CL=3,CF=1,试确定下列各条指令单独 执行后,DX 中的值。 (1) SHR DX,1 (2) RCR DL,1 (3) RCL DX,CL ;DX=【14】H ;DX=【15】H ;DX=【16】H 你的得分:0 下列程序段使 ABC 单元的内容高4位都为“0”,低4位不变,题目答案: 【1】00【3】3400 你的答案: 【1】00【3】3400 第2题(2分) 令。 题目答案: 【4】PUSHF 你的答案: 【4】PUSHF SP 第3题(4分) MOV AX,5679H MOV BX,4157H ADD AL,BL DAA MOV DL,AL MOV AL,AH ADC AL,BH DAA 题目答案: 【5】36【6】98 你的答案: 【5】2F【6】97 题目分析: 该程序完成两个 BCD 码的相加,即36。 第4题(5分) 你的得分:1 执行上列程序片段后,AL=【7】H,BL=【8】H,CF=【9】 , OF=【10】 ,PF=【11】 。 MOV AL,4CH MOV BL,0B5H ADD AL,BL 题目答案: 【7】1【8】0B5【9】1【10】0【11】0 你的答案: 【7】4C【8】0F11【9】1【10】1【11】1 题目分析: 9 你的得分:0 下列程序执行之后,DL=【5】H、AL=【6】H。 你的得分:0将标志寄存器的内容压入堆栈,请按要求写出一条【4】指题目答案: 【14】5C【15】0DC【16】5CC 你的答案: 【14】5C【15】81【16】E4 题目分析: (1)指令:SHR DX,1 使 DX 的内容向右移动了一位,因此 DX 的内容变为01 1100B,即005CH。 (2)指令:RCR DL,1 使 DL 的内容向右循环带进位移动了一 位,DH 的内容不变,因此 DX 的内容变为01 1100B, 即00DCH。 (3)指令:RCL DX,CL 使 DX 的内容向左循环带进位移动了3 位,因此 DX 的内容变为00 1100B,即05CCH。 第7题(6分) 你的得分:4 填入适当指令,使下面程序实现用移位、传送、加法指令完 成 AX 与10相乘运算,结果存放在 DX 中: SHL 【17】 MOV DX,AX MOV CL,【18】 SHL AX,CL ADD 【19】 题目答案: 【17】AX,1【18】2【19】DX,AX 你的答案: 【17】AX,1【18】2【19】ADD DX,AX 第8题(4分) MOV AX,10 SHL AX,1 SHL AX,1 MOV BX,AX MOV CL,2 你的得分:0 程序段执行后 AX=【20】D;BX=【21】D。 SHL AX,CL ADD AX,BX 题目答案: 【20】200【21】40 你的答案: 【20】40【21】120 题目分析: MOV AX,10 SHL AX,1 SHL AX,1 MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX 第9题(4分) MOV AL,BL NOT AL XOR AL,BL OR BL,AL 题目答案: 【22】0FF【23】0FF 你的答案: 【22】FF【23】FF 第10题(5分) MOV AX,80C9H MOV BX,5312H MOV SP,1070H PUSH BX PUSH AX NOT AX POP BX AX=【24】H、BX=【25】H、SP=【26】H、SS:[106EH]=【27】H、 SS:[106FH]=【28】H。 题目答案: 【24】7F36【25】80C9【26】106E【27】12【28】53 你的答案: 【24】7F36【25】80C9【26】【28】80 题目分析: MOV AX,80C9H MOV BX,5312H MOV SP,1070H PUSH BX PUSH AX NOT AX POP BX 第四次作业 一、单选题 第1题(1分) A. 代码段中 你的得分:0 B. 堆栈段中 C. 数据段中 10 指令 MOV AX,1000H,源操作数存放在【1】 。 ;AX=809CH ;BX=5312H ;SP=1070H ;SP=106EH ;SP=106CH ;AX=7F36H ;BX=80C9H SP=106EH [106EH]=12H [106CH]=C9H [106FH]=53H [106DH]=80H 你的得分:3 分析下列程序,分别填写每段程序执行后的结果。 ;AX=160 ;AX=200 你的得分:4 ;AX=10 ;AX=20 ;AX=40 ;BX=40D. 附加段中 题目答案:A 你的答案:C 题目分析: 指令 MOV AX,1000H 为立即寻址方式,源操作数存放在代码 段中。 第2题(1分) 你的得分:1寻址方式指出了操作数的位置,一般来说, 【2】 。 A. 立即寻址给出了操作数地址 B. 寄存器寻址的操作数在寄存器内,而指令给出了寄存器 C. 直接寻址直接给出了操作数本身 D. 间接寻址给出了内存数本身 题目答案:B 你的答案:B 第3题(1分) A. CS 题目答案:C 你的答案:C 第4题(1分) A. 寄存器寻址 C. 变址寻址 题目答案:B 你的答案:B 第5题(1分) 你的得分:1 B. 影响 DF 方向标志 D. 影响 CF 进位标志 你的得分:1 B. 相对基址加变址寻址 D. 基址加变址寻址 你的得分:1 B. DS C. SS D. ES程序段执行后,AL=【22】H,BL=【23】H。指令 MOV AX,[BP+SI]中源操作数的段地址是【3】 。指令 MOV DX,[BX+SI+20]使用的是【4】寻址方式。系统执行传送指令 MOV 时【5】 。 A. 不影响标志位 C. 影响 SF 符号标志 题目答案:A 你的答案:A 第6题(1分) 你的得分:0 B. 把地址2000H 字单元的内LDS SI,ES:[2000H]指令的全部功能是【6】 。 A. 把地址2000H 送 SI 容送 SI C. 把地址2000H 字单元内容送 SI,把2002H 字单元内容送 DS D. 把地址2000H 字单元内容送 DS,把2002H 字单元内容送 SI 寻址 题目答案:C 你的答案:D 题目分析: A. 把地址2000H 送 SI SI,2000H 或 LEA SI,[2000H] B. 把地址2000H 字单元的内容送 SI SI,[2000H];实现的指令:MOV 第11题(1分) ;实现的指令:MOV A. 1 题目答案:D 你的答案:D 第12题(1分) 你的得分:1 B. 0 你的得分:1 C. 2 D. 和执行 INC AL 指令之 如果 AL=B,执行 INC AL 指令后,CF=【11】 。 前的取值保持一致C. 把地址2000H 字单元内容送 SI,把2002H 字单元内容送 DS 址 ;实现的指令:LDS SI,[2000H] ;实现的指令: MOV SI,[2000H]、 MOV DS,SI、 MOV SI,[2002H] 你的得分:1 D. 把地址2000H 字单元内容送 DS,把2002H 字单元内容送 SI 寻第7题(1分) MOV AL,100 MOV BL,-2已知 AX、BX 中均为有符号数据,当进行字除法时,应采用 【12】指令序列。 A. XOR DX,DX CWD B. AL=64H;BL=0FEH D. AL=100H;BL=0FEH DIV BX IDIV BX 题目答案:D 你的答案:D 题目分析: 由于除数为字,所以被除数应该扩展成32位,则应选择 D 选 项。 IDIV BX B. CBW C. IDIV BX D.执行下列指令后,正确的结果是【7】 。A. AL=100H;BL=02H C. AL=64H;BL=82H 题目答案:B 你的答案:B 题目分析:立即数操作数在指令中被转换为补码形式。 第8题(1分) 你的得分:1下面各传送指令中,正确的是【8】 。 A. MOV [DI],[SI] C. MOV AL,BX 题目答案:D 你的答案:D 第9题(1分) A. 8 题目答案:C 你的答案:C 题目分析: 堆栈指令只能以16位二进制数为单位进行操作。 第10题(1分) 你的得分:1 你的得分:1 B. 8或16 C. 16 D. 32 B. MOV [DX+DI],AL D. MOV WORD PTR [BX],100H第13题(1分) 断。 A. CF 和 OF D. ZF 和 OF 题目答案:C 你的答案:C 题目分析:你的得分:18086CPU 在进行无符号数比较时,应根据【13】标志位来判 B. CF 和 PF C. CF 和 ZF CPU 中,堆栈操作指令是【9】位数据传送指令。无符号数用 CF 来判断两数的大小,CF=1则前数小于后数, 若 CF=0则前数大于等于后数,若 ZF=1则两数相等。 第14题(1分) 你的得分:1指令 ADD [BX],2的错误原因为【14】 。 A. 源操作数和目的操作数不能同时为存贮器操作数 B. 两个操作数类型模糊 C. 源操作数不能为立即方式 D. BX 不能用于寄存器间接方式 题目答案:B 你的答案:B 第15题(2分) MOV AX,1234H MOV CL,4 ROL AX,CL 11 你的得分:2关于 SUB 指令对 OF 标志的影响,正确的描述为【10】 。 A. 当程序员把 SUB 指令的操作数看作无符号数时, SUB 指令 不影响 OF 标志 B. 当程序员把 SUB 指令的操作数看作无符号数时, SUB 指令 要影响 OF 标志,但是程序员认为它此时没有意义 C. SUB 指令有时会影响 OF 标志,但有时不会 D. 程序员使用 SUB 指令时总是认为它所影响的 OF 标志是有 意义的 题目答案:B 你的答案:B执行下列指令后: DEC AX MOV CX,4 MUL CX HLT AX=【15】 。 A. 8D00H 0123H 题目答案:A 你的答案:A 题目分析: MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX 两位 第16题(1分) 你的得分:1 ;AX=1234H ;CL=4 ;AX=2341H ;AX=2340H ;CX=4 AX=00 0000 ; AX=00 0000 *4 等于左移 B. 9260H C. 8CAOH D.ZF=1时继续搜索 C. 当 CX≠0或者 ZF=0时继续搜索 ZF=1时继续搜索 题目答案:A 你的答案:A 第20题(1分) 你的得分:1 B. 当 CX≠0而且 D. 当 CX≠0或者 D. 当 CX≠0或者指令 REPNE SCASB 测试的条件是【20】 。 A. 当 CX≠0而且 ZF=0时继续搜索 ZF=1时继续搜索 C. 当 CX≠0或者 ZF=0时继续搜索 ZF=1时继续搜索 题目答案:A 你的答案:A 第21题(1分) 【21】指令。 A. REP CMPSW D. REP MOVSW 题目答案:B 你的答案:B 第22题(1分) 有下列程序段: MOV AX,3456H CMP AX,7890H JA TTT 你的得分:1 B. SI 加1,DI 加1,CX 减1 D. SI 加1,DI 加1,CX 加 则程序中的数据是【22】 。 A. 有符号数 数 C. 原码、反码、补码表示的带符号数 题目答案:B 你的答案:B 第23题(1分) 你的得分:1 D. BCD 码 B. 无符号 你的得分:1 B. REPNE SCASW C. REPZ SCASB 你的得分:1在100个字数据的缓冲区中,查找与 AX 相匹配的数据,使用对指令 ROL CX,CL,正确的解释是【16】 。 A. 该指令执行的结果无法预料,可能导致无休止执行 B. 该指令是错误的,不能执行 C. 该指令只有在 CL=10时才可执行 D. 该指令是正确的,指令一次性从 CL 获得移位次数后,CL 的使命即完成,不会再对指令产生后续的影响 题目答案:D 你的答案:D 第17题(1分)DF=1,执行 MOVSB 指令后【17】 。 A. SI 减1,DI 减1 C. SI 减1,DI 减1,CX 减1 1 题目答案:A 你的答案:A 第18题(1分) A. DS:SI SS:SP 题目答案:A 你的答案:A 第19题(1分) 你的得分:1 B. 当 CX≠0而且 12 你的得分:1 B. CS:IP C. ES:SI D.NEAR 型子程序中的指令“RET 8”执行前 SP=1000H,则该指 令执行后 SP 的值为【23】 。 A. 0FF6H 1008H 题目答案:C 你的答案:C 第24题(1分) A. JAE/JNB 你的得分:1 B. JE/JZ C. JB/JNAE D. B. 0FFEH C. 100AH D.串指令的源地址由【18】提供。指令 REPNZ SCASB 测试的条件是【19】 。 A. 当 CX≠0而且 ZF=0时继续搜索高于/不低于等于则转移的指令是【24】 。 JA/JNBE 题目答案:D 你的答案:D 第25题(1分) 你的得分:0题目分析: 循环程序需要执行100次, 而 BX 初值为1, 在每次循环中加1, 所以循环结束后 BX 的内容为101。 第29题(8分) MOV SP,2000H MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT SP=【29】 A. 2000H D. 1FFEH DH 内容所在存储器的偏移地址为【30】 A. 1FFFH B. 1FFEH C. 1FFDH 你的得分:1 B. SI 所指向的内存字单元之内容 D. IP+[SI] D. 1FFDH AX=【32】 A. 0H D. 56H DI=【33】 A. 1234H B. 5678H B. 0ACF0H B. 1 B. 1 C. 2000H C. 2B3CH C. 不定 C. 不定 你的得分:0 B. SP+BX 之和 D. BX 指出的内存单元之内容 D. 00F0H DX=【34】 A. 5678H D. 0ABF0H CF=【35】 A. 0 ZF=【36】 A. 0 题目答案:DABCABAA 你的答案:DABCABAA 你的得分:1 题目分析: MOV SP,2000H MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1
B. 100 C. 101 D. 102 TEST AX,DX PUSH DX ;AX=00F0H, CF=0, ZF=0 ;DL→(1FFEH),DH→(1FFFH), SP=1FFEH ;SP=2000H ;AX=00F0H ;SI=1234H ;DX=5678H ;SP=1FFEH ;DI=1234H ;DX=0ACF0=11
0110 B. 78H C. 0F0H D. 1FFCH DL 内容所在存储器的偏移地址为【31】 A. 1FFFH B. 1FFEH C. 2000H B. 1FFFH C. 2001H 你的得分:8假设 PR1是一个 FAR 类型的子程序名称,那么 CALL PR1指令 执行的正确步骤为【25】 。 A. 先将 CS、IP 的内容压栈,再按照 PR1对应的逻辑地址修 改 CS、IP,使程序流程转移至 PR1子程序入口 B. 先按照 PR1对应的逻辑地址修改 CS、IP 的内容,使程序 流程转移至 PR1子程序入口,然后将 CS、IP 的内容压栈,保存返 回点 C. 先将 IP 的内容压栈,再按照 PR1对应的段内偏移量修改 IP,使程序流程转移至 PR1子程序入口 D. 先将 CS、IP、FR 的内容压栈,再按照 PR1对应的逻辑地 址修改 CS、IP,使程序流程转至 PR1子程序入口 题目答案:A 你的答案:C 第26题(1分) A. SI 的内容 C. IP+SI 的内容 题目答案:A 你的答案:A 第27题(1分) A. BX 的内容 C. IP+[BX]之和 题目答案:D 你的答案:A 第28题(1分) MOV AX,0 MOV BX,1 MOV CX,100 L1: ADD AX,BX INC BX LOOP L1 HLT A. 99 题目答案:C 你的答案:C 13执行下列程序,选择正确的结果:JMP SI 的目标地址偏移量是【26】 。指令 JMP WORD PTR [BX]转移的目标地址是【27】 。当下列程序段执行后,BX 的内容为【28】 。 第30题(1分)你的得分:1题目答案:AB 你的答案:AB 第4题(1分) A. JMP LOOPNZ JC LAB1 题目答案:BCD 你的答案:BCD 第5题(1分) 你的得分:0 你的得分:1 B. LOOP C. LOOPZ D.如果 AL 中存放的数据的第5位为1, 则转到标号 LABl 去执行。 不能实现上述转移的程序段是【37】 。 A. TEST AL,20H D. MOV CL,3 JNZ LAB1 SHL AL,CL JC LAB1 题目答案:C 你的答案:C 第31题(1分) 你的得分:1 B. JMP SHORT DONI D. MUL CL JNZ LAB1 SHR AL,CL B. AND AL,20H C. MOV CL,3以循环次数作为循环条件的指令有【4】 。假定 SUBR 是某子程序的名,下述程序段【5】能实现调用此 子程序。 A. CALL SUBR C. LEA SI,SUBR CALL [SI] 题目答案:ABD 你的答案:AB 二、多选题 第1题(1分) 你的得分:1 第6题(1分) 你的得分:1 下列关于数据传送指令的说法,正确的有【1】 。 A. 立即数只能作为源操作数 B. 不能给段寄存器直接赋立即数 C. MOV 指令执行时会影响标志位状态 D. XCHG 指令可以用段寄存器作为操作数 题目答案:AB 你的答案:AB 第2题(1分) 有【2】 。 A. DEC AX D. OR AX,l 题目答案:ABC 你的答案:AB 题目分析: AX=0001H:当执行 A 选项的 DEC AX 指令后,AX=0,则 ZF=1。 当执行 B 选项的 XOR AX,1指令后,AX=0,则 ZF=1。当执行 C 选 项的 CMP AX,1指令后,ZF=1。当执行 D 选项的 OR AX,1指令后, AX=1,则 ZF=0。 第3题(1分) 你的得分:1 第2题(1分) 题目答案:F 你的答案:F 题目分析: 源操作数寻址错误 D. JNL L 14 执行“CMP AX,8010H”指令后,当 AX 中的无符号数高于 8010H 时,下列指令中有效的转移指令有【3】 。 A. JNBE L B. JA L C. JG L 你的得分:1 【2】MOV MYDATA[BX][SI],ES:AX B. XOR AX,1 C. CMP AX,l 你的得分:0 使用 D. 对于 SAR 指令,如果移位次数大于1,那么移位次数只能 用 CL 来存放 题目答案:ABCD 你的答案:ABCD 三、是非题 第1题(1分) 题目答案:T 你的答案:T 题目分析: 由于目的地址为双字,所以是段间间接转移。 你的得分:1 【1】指令“JMP DWORD PRT [4000H]”指令是段间间接转移。 设 AX=0001H,下列指令执行后,可以使标志位 ZF=1的指令 对于各个寄存器的特殊用途,下列描述正确的为【6】 。 A. 执行 DAA 指令时,被调整的加法结果只能存放在 AL 中 B. LOOP 指令隐含使用 CX 作为计数器 C. 串操作指令中的目的变址寄存器只能与 ES 段寄存器搭配 B. MOV AX,OFFSET SUBR CALL AX D. LEA SI,SUBR CALL SI 在下列指令的表示中,不正确的是【38】 。 A. MOV AL,[BX+SI] C. DEC 100 题目答案:C 你的答案:C 第3题(1分) 【3】POP 1234H 题目答案:F 你的答案:F 题目分析:你的得分:1 RCR AL,1 第4题(3分);AL=B,CF=0 ;AL=B 你的得分:2设寄存器 AX , BX , CX 中的内容都是 1234H ,变量 value 中的内容为 0F0FH ,执行下列指令序列: OR AX,value AND BX,value XOR CX,value 则 AX=【5】H, BX=【6】H,CX=【7】H。 题目答案: 【5】1F3F【6】D3B 你的答案: 【5】1`F3F【6】D3B 题目分析: 1234H ∨0F0FH -------1F3FH 你的得分:2 第5题(6分) 你的得分:6 欲将数据段中首址为 BUF 共50个字节单元的存储区初始化为 0,请完善下列程序段使其实现上述功能。 LEA DI,BUF MOV CX,【8】 CLD MOV AL,【9】 REP 【10】 题目答案: 【8】50【9】0【10】STOSB 你的答案: 【8】50【9】00H【10】STOSB 第6题(4分) 你的得分:4 1234H ∧0F0FH ------- 00B = 11B =0F0FH ---------------------11 1011B =1D3BH出栈的目的操作数不能为立即数。 第4题(1分) 你的得分:1【4】带有重复前缀的串操作指令“REP MOVSB”,每执行一 次 CX 值自动减1, 且自动按增址方式修改源串与目标串偏移地址。 题目答案:F 你的答案:F 题目分析: 错误,其还必须根据 DF 方向标志的设置情况决定地址是执 行加一还是减一的操作。 四、填空题 第1题(2分) 写出【1】指令,将 AL 寄存器内容传送到数据段由 DI 寄存 器指定的存储单元中。 题目答案: 【1】MOV [DI],AL 你的答案: 【1】MOV [DI],AL 第2题(2分) 你的得分:1设 BX=0FFFFH,DI=20H,DS=2000H,CL=8,(20020H)=4567H ,下 列各条指令分别执行后 BX 中的内容各为多少? ROL BX,CL MOV BX,[DI] ; BX=【2】H ; BX=【3】H题目答案: 【2】0FFFF【3】4567 你的答案: 【2】FF00【3】4567 第3题(2分) MOV AL,0ECH AND AL,86H ADD AL,0FH RCR AL,1 题目答案: 【4】49 你的答案: 【4】49 题目分析: MOV AL,0ECH AND AL,86H ;AL=B ∧B -----------AL=B ADD AL,0FH +B ----------15 你的得分:2 用串指令把 SRC 单元开始的100个字节传送到 DEST 单元开始 的内存中,请完善程序。 MOV AX,SEG SRC MOV DS,AX 【11】 MOV AX,SEG DEST MOV ES,AX 【12】 MOV CX,100 【13】 【14】 题目答案: 【11】LEA SI,SRC【12】LEA DI,DEST【13】CLD【14】 REP MOVSB 你的答案: 【11】LEA SI,SRC【12】LEA DI,DEST【13】CLD【14】 REP MOVSB ;设置目的操作数地址 ;设置源操作数地址 执行下列程序段后,AL=【4】H。 第7题(2分) AND AL,AL JZ BRCH1 JS BRCH2 JMP BRCH3你的得分:2;+11 0111 ;-------------------01 1111 JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP L5 第11题(4分) H,DX=【22】H。 MOV AX,1 MOV BX,2 MOV CX,4 MOV DX,3 L1:INC AX ADD BX,AX SHR DX,1 LOOPNE L1 HLT ;停机 题目答案: 【19】3【20】7【21】2【22】0 你的得分:1 OF=1、CF=0已知 AL=C7H,执行下列指令序列后程序转向【15】 。题目答案: 【15】BRCH2 你的答案: 【15】BRCH2 题目分析: 由于 AL=C7H,即为负数,所以执行 AND AL,AL 指令后,标志 位 SF=1,所以程序转移至 BRCH2处执行。 第8题(2分) 请完善程序。 CMP AX,BX 【16】 NEXT 题目答案: 【16】JA 你的答案: 【16】JA 题目分析: JNC 指令包含等于的条件在里面(等于时也是没有借位), 即高于等于转移。 第9题(2分) 【17】指令。 题目答案: 【17】JNC L1 你的答案: 【17】JNC L1 第10题(3分) ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP L5 如果 AX 和 BX 的内容分别为6568H 和54B7H,该程序执行后,程序 转向到【18】 。 题目答案: 【18】L2 你的答案: 【18】L1 题目分析: 如果 AX 和 BX 的内容分别为6568H 和54B7H, ADD AX,BX ;H ;10 1000 16 你的得分:0 你的得分:2 你的得分:2当执行完下列程序段后,AX=【19】H,BX=【20】H,CX=【21】 已知 AX 和 BX 中均为无符号数且需 AX&BX 时转 NEXT 处执行,你的答案: 【19】5【20】16【21】0【22】0 题目分析: MOV AX,1 MOV BX,2 MOV CX,4 MOV DX,3 L1:INC AX ADD BX,AX SHR DX,1 LOOPNE L1 ;AX=1 ;BX=2 ;CX=4 ;DX=3 ;AX=2 ;BX=4 ;DX=1 3 7 0若标志寄存器的 CF 为0则转移至 L1地址, 请按要求写出一条分析以下程序段:;CX=3且 ZF=0 CX=2且 ZF=1LOOPNE 先将 CX-1→CX, 若 CX≠0且 ZF=0则循环。 因为 SHR DX, 1指令执行两次后,ZF=1,所以程序只循环两次就退出了。 第12题(4分) (标号)地址执行。 MOV AL,0B7H AND AL,0DDH XOR AL,81H OR AL,33H JP LAB1 JMP LAB2 题目答案: 【23】37【24】LAB2 你的得分:4程序如下,试问:执行程序后 AL=【23】H;程序将转到【24】 你的答案: 【23】37【24】LAB2 题目分析: MOV AL,0B7H AND AL,0DDH ;AL= XOR AL,81H ;AL= OR AL,33H ;AL= JP LAB1 JMP LAB2 第13题(4分) 你的得分:0 ;AL=0B7H= B ∧B ------------B B -----------B +B ------------B=37H PF=0OR BX,0 ADC BX,[BX] 第16题(4分);bx=24h, cf=0 ;24H+AH,CF=0 你的得分:4假定有下面的程序段,用来清除数据段中从偏移地址 1000H~0000H 字存储单元中的内容,试将下列语句填写完整。 MOV SI,1002H NEXT: 【32】 M0V WORD PTR [SI],0 CMP SI,【33】 JNE NEXT 题目答案: 【32】SUB SI,2【33】0 你的答案: 【32】SUB SI,2【33】0000H 题目分析: MOV SI,1002H 入零, NEXT: 【1】 M0V WORD PTR [SI],0 CMP SI,【2】 JNE NEXT ;比较是否达到尾部即0000H 单元 ;下一条指令完成上述动作,则需 把地址调整为1000H 开始,即填入 SUB SI,2 ;由于要从1000H 开始的字单元写AX 中有一个负数,欲求其绝对值。若该数为补码,则用指令 【25】完成;若该数为原码,则用指令【26】完成。 题目答案: 【25】NEG AX【26】AND AX,7FFFH 你的答案: 【25】NEG【26】AX 第14题(3分) MOV AL,60H MOV BL,20H ADC AL,BL 题目答案: 【27】81【28】20【29】0 题目分析: 1
+ ---------- 第15题(4分) ;相加后 CF=0 你的得分:2 ;STC 使 CF=1 你的得分:3第五次作业一、单选题 第1题(1分) 你的得分:1 B. 定义10个值为10 D. 定义10个值不确 语句“DB 10 dup(0)”的功能是【1】 。 A. 定义一个值为10的存储单元 的存储单元 C. 定义10个值为时0的存储单元 定的存储单元 题目答案:C 第2题(1分) 器中的内容是【2】 。 DSEG DAT1 DAT2 ADDR DSEG A. H 题目答案:D 你的答案:A 第3题(1分) A. 段地址 D. 当前地址 17 你的得分:1 B. 偏移地址 C. 物理地址 SEGMENT DB DW ENDS B. 7856H C. 4444H D. '78H 你的得分:0 根据下面定义的数据段,执行指令 MOV AX,ADDR 后,AX 寄存执行下列指令后,AL=【27】H,BL=【28】H,CF=【29】 。阅读如下程序片段, 假设 DS=0100H, 字节单元[01024H]=56H, 字节单元[01025H]=28H。 MOV BX,24H LEA BX,[BX] OR BX,0 ADC BX,[BX] 执行上述程序片段后,BX=【30】H,CF=【31】 。 题目答案: 【30】287A【31】0 题目分析: MOV BX,0024H LEA BX,[BX] ;bx = 24bx = 24hEQU DAT2-DAT1OFFSET 操作符用于回送变量或标号的【3】 。 题目答案:B 你的答案:B 第4题(1分) DSEG DAT CNT DSEG SEGMENT DW 1,2,3,4,5,6,7,8,9,10 EQU ($-DAT)/2 ENDS 执行指令 MOV CX,CNT 后,寄存器 CX 的内容是【4】 。 A. 10 题目答案:A 你的答案:B 题目分析: DAT 是字类型的数组,每个元素占2个字节,所以($-DAT)/2 是数组元素个数10。 第5题(1分) DESG SEGMENT DAT1 DB '1234H’ DAT2 DW 5678H ADDR EQU DAT2-DAT1 DESG ENDS 执行指令 MOV AX,ADDR 后,AX 寄存器中的内容是【5】 。 A. H 题目答案:D 你的答案:A 第6题(1分) A. 19BH+25D 101B*0ABH 题目答案:B 你的答案:B 第7题(1分) A. X EQU 100 D. X=100 X EQU X+X X=X+X 题目答案:D 你的答案:D X=X+X X EQU X+X 你的得分:1 B. X EQU 100 C. X=100 你的得分:1 B. 7856H C. 1234H D. 你的得分:0 B. 5 C. 9 D. 4 你的得分:0第8题(2分) ORG 0074H你的得分:2设有伪指令定义如下: BUF DW 1, 2, $+4, 3, 4, $+4 则两个$对应值为【8】 。 A. 24H 24H 题目答案:D 你的答案:D 题目分析: H 77H 78H($) 79H 7AH 7BH 7CH 7DH 7EH($) 7FH 01 00 第9题(1分) A. 87H 题目答案:B 你的答案:B 题目分析: DAT DD H,即从 DAT 单元开始依次存放21H、43H、 65H、87H,所以 DAT+2单元中的数据为65H。 第10题(1分) A. H 题目答案:A 你的答案:A 你的得分:1 B. 4100H C. 0061H D. 你的得分:1 B. 65H C. 43H D. 21H 00 02 00 7CH 00 03 00 04 00 82H B. H C. 3 6 D. EH假设数据段定义如下:若定义 DAT DD H,则 DAT+2字节单元的数据是【9】 。 根据下面定义的数据段:如定义 xyz dw 'A', 则 xyz 字存储单元中存放的数据是 【10】 。确定下列【6】数据在汇编语言中是非法的。 B. 25+AL C. 108-102Q D.第11题(1分)你的得分:1若定义 DAT DW ‘AB’,则 DAT 和 DAT+1两个相邻的内存单 元中存放的数据是【11】 。 A. 42H 41H 62H 题目答案:A 你的答案:A 第12题(1分) A. DB 1234H D. DB '12AB' 题目答案:A 你的答案:A 你的得分:1 B. DW 1234H C. DD '12','AB' B. 41H 42H C. 62H 61H D. 61H下面各组语句在语法上正确的是【7】 。 下列有语法错误的语句是【12】 。18 第13题(2分)你的得分:2 第15题(2分) MOV AL,X SHL AL,1 DEC AL MOV Y,AL A. Y=2X+1 Y=2X-1 题目答案:D 你的答案:D 题目分析: 该段程序的第一条指令的功能是将 X 传送到 AL 中;第二条 指令将 AL 的内容左移一位,即将 AL 的内容扩大2倍;第三条指 B. SHR BL,CL OR BL,AL C. SHL AL,CL OR AL,BL 第16题(1分) 你的得分:1 对于下列程序段: AGAIN:CMP AL,ES:[DI] JNZ L1 ;AL=3H ;BL=6H L1: ;AL=30H ;AL=36H INC DI LOOP AGAIN ? A. REP MOVSB D. REPE SCASB 题目答案:D 你的答案:D 题目分析: AGAIN:CMP AL,ES:[DI] JNZ L1 INC DI LOOP AGAIN L1: ? 程序的功能是在内存中查找是否有与 AL 中内容相同的数据, 因此应该选用 REPE SCASB。 REP MOVSB 是数据块传送指令 B. 57 C. 16 D. REP STOBS 是存数据指令 第17题(2分) REP LODSB 是取数据指令 REPE SCASB 是扫描指令 ; 比较 AL 与 ES:[DI] ; 不相等转移至 L1 ; 相等继续 ; 比较下一数据 B. REP LODSB C. REP STOSB 可用【16】指令完成相同的功能。 D. 令将 AL 的内容减一;第四条指令将 AL 的内容传送到 Y 中。所以 该指令序列完成 Y=2X-1 B. X=2Y+1 C. X=2Y-1 D. ;转换后的结果为36H 你的得分:2 下面指令序列执行后完成的运算表达式是【15】 。将两个字节的非压缩型 BCD 码(高位在前、低位在后)转换为 一个字节的压缩型 BCD 码。 DATA BCD1 BCD2 DATA SEGMENT DB 03H,06H DB ? ENDS ? MOV AL, BCD1 MOV BL, BCD1+1 MOV CX, 4 【13】 MOV BCD2,AL HLT 【13】 SHL BL,CL OR AL,BL OR BL,AL 题目答案:C 你的答案:C 题目分析: MOV AL, BCD MOV BL, BCD1+1 MOV CX, 4 SHL AL,CL OR AL,BL MOV BCD2,AL A. 错误;高位字节的 BCD 码被丢失了,即结果为0。 B. 错误;低位字节的 BCD 码被丢失了,即结果为0。 D. 错误;运算后的结果在 BL 寄存器中,而存入 BCD2单元的指令 要求结果在 AL 寄存器中。 第14题(1分) 你的得分:1 A. SHR AL,CL执行下面的程序段后,AL 中的内容是【14】H。 BUF DW H,H MOV BX,OFFSET BUF MOV AL,3 XLAT A. 46 34 题目答案:D 你的答案:D 题目分析: 从 BUF 开始的内存中依次存放:52H、21H、16H、34H、31H、 57H、84H、46H。XLAT 指令的操作是[BX+AL]→AL;[BUF+3]=34H, 所以 AL=34H。 19你的得分:0下面程序段完成测试 DA_BYTE 字节单元中数是否为负数,若 是则将全 l 送 DH 中,否则全0送 DH 中,那么程序段中方框里应 填的语句是【17】 。 MOV CH,0 TEST DA_BYTE,80H 【17】 MOV CH,0FFH ZERO: MOV DH,CH A. JNZ ZERO D. JC ZERO 题目答案:C 你的答案:B 第18题(2分) 寄存器中。 MOV AL,X CMP AL,Y JNE NEXT1 MOV AH,Z JMP DONE NEXT1: CMP AL,Z JNE NEXT2 MOV AH,Y JMP DONE NEXT2: MOV AH,X DONE: HLT A. 最大数 相同的数 题目答案:C 你的答案:C 题目分析: 下列指令序列完成从 X、Y、Z 中找出【1】,并将其送入 AH 寄存 器中。 MOV AL,X CMP AL,Y JNE NEXT1 MOV AH,Z JMP DONE NEXT1: CMP AL,Z JNE NEXT2 MOV AH,Y JMP DONE NEXT2: MOV AH,X DONE: HLT 第19题(2分) 你的得分:2 ;AH 中为不相等的数 ;若 X≠Y 转 NEXT1 ;若 X=Y,则 AL←Z ;转 DONE 之前 AL=Z 且 X=Y,所以程序结束 ;此时 X≠Y ;X≠Z 转 NEXT2 ;X=Z,Y 与它们不相等 B. 最小数 C. 不同的数 D. L1: 你的得分:2 B. JS ZERO C. JZ ZERO INC BXMOV AL,0FFH SUB DI,BX INC DI MOV CX,DI 【19】 NEXT: INC BX CMP BYTE PTR [BX],0 LOOPE NEXT 【20】 D. JNZ L1 MOV AL,BYTE PTR [BX] HLT 题目答案:CC 你的答案:CC 题目分析: MOV AL,0FFH SUB DI,BX INC DI MOV CX,DI 【1】 INC BX NEXT:INC BX 选 C) CMP BYTE PTR [BX],0 ;地址指针所指的存储单元内容比较 是否为0 LOOPE NEXT 【2】 JNZ L1 MOV AL,BYTE PTR [BX] ;找到非零数据存让在 AL 中(由此 可知【2】应该选 C) L1: HLT 第20题(2分) 你的得分:2 A. JC L1 ;为0且 CX≠0则循环 B. JNC L1 C. JZ L1 D. ;地址指针加1(由此可知【1】应该 ;没找到,AL=-1 ;计算数据的个数 ;并存放在 DI 寄存器中 ;数据个数作为循环次数 A. MOV SI,CX B. SUB BX,BX C. DEC BX D. A. JC L1 B. JNC L1 C. JZ L1 A. MOV SI,CX B. SUB BX,BX C. DEC BX D.下列指令序列完成从 X、Y、Z 中找出【18】,并将其送入 AH时 AL 中为与 X、Y 不同的数检查 BUF 的内容是否为正偶数,如是正偶数,则令 AL=0。下 面程序段正确的是【21】 。 A. MOV AL,BUF JS K1 SHR AL,1 JNC K1 XOR AL,AL K1: ? C. MOV AL,BUF TEST AL,81H JNZ K3 XOR AL,AL 20 D. MOV AL,BUF JNP K4 TEST AL,80H JNZ K4 B. MOV AL,BUF AND AL,1 JNZ K2 XOR AL,AL K2: ?假定一组相邻字节的首地址在 BX 中,末地址在 DI 中,下面 的程序段用来查找出其中第一个非零字节,并把它存放在 AL 中; 若没找到 AL=0FFH。请填写空缺的指令。 K3: ? 题目答案:C 你的答案:C 题目分析:XOR AL,AL K4: ?MOV AX,[BX+8] C. MOV BX,2 MOV SI,3 MOV AX,ARRAY [BX][SI] ARRAY [BX][SI] INC [AX] 题目答案:BCD 你的答案:BCD 题目分析: A. 正确 B. 数据类型不匹配错 C. 前两条指令正确,第三条数据类型不匹配 D. 前两条正确,后两条不正确,在汇编过程中,OFFSET 操作将 D. MOV BX,2*2 MOV SI,3 MOV AX,OFFSETA 选项错误,JS K1指令之前没有执行影响标志位的指令,因 此不能实现正确的转移。 B 选项错误,AND AL,1指令执行后,把符号位(清零)破坏 掉了,因此不能实现正确的转移。 D 选项错误,JNP K4指令之前没有执行影响标志位的指令, 因此不能实现正确的转移。 二、多选题 第1题(1分) A. ABC DB 76 MOV AH,ABC C. ABC DB 45H JMP FAR PTR ABC 题目答案:BCD 你的答案:BCD 第2题(1分) A. LEA C. MOV 你的得分:1 B. MOV D. MOV BX,ARRAY BX,SEG ARRAY 你的得分:1 B. ABC DW 1ABH ADD ABC,CL D. ABC DB 6 ADD AX,ABC 第5题(1分) 你的得分:0 下列的指令序列不正确的是【1】 。得到变量的偏移值,但对相对基址变址寻址方式形成的值在汇编 指令时还是未知的,所以第三条指令不正确。第四条指令中,AX 不能作为基址寄存器用。已知 SI 中存放着一个16位的数据,欲将其高8位送入奇存器 AL 中,能实现此功能的程序段是【5】 。 A. MOV AX,SI MOV CL,8 ROL AX,CL C. MOV AX,SI XCHG AH,AL 题目答案:ABC 你的答案:BCD 题目分析: HIGH 只能对立即操作数或地址操作数提取高位字节。 B. MOV AX,SI MOV CL,8 ROR AX,CL D. MOV AL,HIGH SI将字变量 ARRAY 的偏移地址送寄存器 BX 的正确结果是【2】 。 BX,ARRAY BX,OFFSET ARRAY题目答案:AC 你的答案:AC 第3题(1分) 你的得分:1为了使 MOV AX,VAR 指令执行后,AX 寄存器中的内容为 4142H,下面【3】数据定义可以产生正确的结果。 A. VAR DW 4142H C. VAR DB 42H,41H 题目答案:ABCD 你的答案:ABCD 题目分析: A、B、D 在内存中数据的存放依次是:42H,41H 第4题(1分) ARRAY DB 'YES IS' DB 20 DB 'DO NOT' 请指出下列【4】指令是不正确的。 A. MOV BX,OFFSET ARRAY B. MOV AX,ARRAY 21 你的得分:1 B. VAR DW 16706 D. VAR DW ‘AB’三、是非题 第1题(1分) 你的得分:1 【1】作为存储器操作数的标号和变量都有三种属性:段值、 段内地址偏移量、类型。 题目答案:T 你的答案:T 四、填空题 第1题(3分) 你的得分:2 根据下面的程序回答问题: DATA SEGMENT ORG 12H DB1 DB 10H,23H ORG $+30H VAR1 DB $+8 DATA ENDS程序在数据段中定义的数组如下: 上述语句中变量 DB1的偏移量=【1】H,变量 VAR1的偏移量=【2】 H。汇编后,变量 VAR1字节单元中的内容=【3】H。 题目答案: 【1】44【3】4C 你的答案: 【1】12【2】44【3】52 第2题(4分) DATA SEGMENT X Y Z DB 23,2 DUP(36,14,2 DUP (7),6,22) DW 12 DUP (?) EQU $-X 你的得分:2试问:KA1的偏移地址分别为【9】H,KA2的偏移地址分别为【10】 H,KA3的偏移地址分别为【11】H,KA4的偏移地址为【12】H。 MOV AL,TYPE KA1指令执行后,AL=【13】H。 题目答案: 【9】【11】54【12】5C【13】2 你的答案: 【9】0041【11】0053【13】 41 第5题(10分) 你的得分:6某数据段定义如下: 以下是一段计算(V-(X*Y+Z-540))/Z 程序,其中,X、Y、Z、 V 均为16位带符号数,并要求上式计算结果的商存入 AX,余数存 入 DX。请认真阅读程序后将程序补充完整。 MOV AX,X IMUL Y MOV CX,AX MOV BX,DX 【14】 CWD ADD CX,AX 第3题(6分) 有下列数据定义 VA DB 0FFH VB DB 1,2 VC DW 3456H 执行下列指令序列: MOV AX,WORD PTR VB+1 MOV BL,BYTE PTR VC+1 MOV CL,VB-1 则 AX=【6】H,BL=【7】H,CL=【8】H。 题目答案: 【6】【8】0FF 你的答案: 【6】【8】FF 题目分析: 数据定义如下: VA FF VB 01 VB+1 02 VC 56 VC+1 34 ;AX=5602H ;BL=34H ;CL=FFH 你的得分:0 第6题(10分) 你的得分:6 请在空白处填写适当指令,使程序完成功能。 程序功能:在内存 HEX 单元中存放一个无符号字节数据,将其拆 成两个字节数据,分别存放在 DATA 和 DATB 单元的低4位中,相 应的高四位置0。 (DATA 存放低位,DATB 存放高位) DSEG HEX 第4题(10分) DATA SEGMENT KA1 DW 20 DUP (41H,42H) KA2 DD 1256H KA3 DB 'ABCDEFGH' KA4 DB 10H DUP (0) DATA ENDS 22 DATA DATB DSEG CODE 已知数据段 DATA 从存储器02000H 单元开始,请回答问题。 SEGMENT DB 0A6H DB 0 DB 0 ENDS SEGMENT ASSUME CS:CODE, DS:DSEG START: 【19】 MOV DS,AX 【20】 你的得分:6 【15】 SUB CX,540 【16】 MOV AX,V 【17】 SBU AX,CX SBB DX,BX 【18】 题目答案: 【14】MOV AX,Z【15】ADC BX,0【16】SBB BX,0【17】 CWD【18】IDIV Z 你的答案: 【14】MOV AX,Z【15】ADC BX,0【16】SBB BX,0【17】 MOV DX,[Y+2]【18】DATA ENDS 问:Z 的值是【4】 ,DATA 段前7个字节单元的内容分别是【5】 。 注意:上述填空请填入十进制的值,多个十进制数之间用逗号把 它们隔开。 题目答案: 【4】37【5】23,36,14,7,7,6,22 你的答案: 【4】23【5】23,36,14,7,7,6,22MOV AX,WORD PTR VB+1 MOV BL,BYTE PTR VC+1 MOV CL,VB-1 MOV AH,AL 【21】 MOV DATA,AL MOV CL,4 【22】 【23】 MOV AH,4CH INT 21H CODE ENDS END START 题目答案: 【19】MOV AX,DSEG【20】MOV AL,HEX【21】AND AL,0FH 【22】SHR AH,CL【23】MOV DATB,AH 你的答案: 【19】MOV AX,DSEG【20】MOV AX,HEX【21】SUB AL,AOH 【22】SHR AH,CL【23】MOV DATB,AH 第7题(10分) X DW 15 Y DW 13 S DW ? ? MOV CL,【24】 MOV AX,Y SHL AX,【25】 MOV BX,AX SHL AX,1 【26】 ADD 【27】 MOV BX,X 【28】 MOV S,BX 题目答案: 【24】4【25】CL【26】SHL AX,1【27】AX,BX【28】 ADD BX,AX 你的答案: 【24】4【25】CL【26】SHL AX,1【27】AX,BX【28】 ADD BX,AX 题目分析: 80=16+64 第8题(4分) 你的得分:2 你的得分:10TEST AL,20H JZ L1 【30】 JZ L1 JMP L3 题目答案: 【29】JP L2【30】TEST AL,8 你的答案: 【29】JP L2【30】TEST AL,OAH 第9题(4分) 你的得分:4下面程序段是判 AL 和 BL 中的数据是否同号,若是,则把 AL 中的数据变负后送到 AH 中,否则 AH 清零。请在横线处填一条指 令以完善程序段。 【31】 JNS GO MOV AH,0 JMP EXIT GO: 【32】 MOV AH,AL EXIT: HLT 题目答案: 【31】XOR BL,AL【32】NEG AL 你的答案: 【31】XOR BL,AL【32】NEG AL 题目分析: 解答本题的关键:判断两数是否同号应该用异或运算。注意 异或运算后目标寄存器应该选用 BL,以保证 AL 的内容不变。 第10题(6分) X Y DW H DW H ? MOV DX,X+2 MOV AX,X ADD AX,AX ADC DX,DX CMP DX,Y+2 JL L2 JG L1 CMP AX,Y JBE L2 L1: MOV AX,1 JMP L3 L2: MOV AX,2 L3: HLT 题目答案: 【33】2【34】ACF0 你的答案: 【33】0001【34】ACFO 题目分析: 23 你的得分:0下列程序计算 S=80×Y+X。当程序执行完后,AX=【33】H,DX=【34】H。以下程序段测试 AL 的位1、3和5,若有一位是1,程序转 L1 执行;若有两位是1,则转 L2执行;若3位都是1,则转 L3执行; 若三位全0则转 L4执行,请在横线处填一条指令以完善程序段。 ? AND AL,2AH JZ L4 【29】 MOV DX,X+2 MOV AX,X ADD AX,AX ADC DX,DX CMP DX,Y+2 JL L2 JG L1 CMP AX,Y JBE L2 L1: MOV AX,1 JMP L3 L2: MOV AX,2 L3: HLT;DX=5678H ;AX=1234H ;AX=2468H ;DX=ACF0H ;ACF0H&4321H? ;YES之后 题目答案:D 你的答案:D 第3题(6分) 你的得分:4下面的程序是将10个8位的带符号数按递增次序排序。请选 择正确的答案将程序填充完整。 DATA ARRAY DATA CODE SEGMENT DB 05H,78H,0FFH,7BH,00H,8CH,20H,0A0H,0F0H,60H ENDS SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX AB1: 【3】 MOV BL ,0 SI,ARRAY MOV CX,10 DEC CX AGAIN: MOV AL,[SI] INC SI CMP AL,[SI] 【4】 CD1 C. REP STOSB D. JGE MOV AH,[SI] MOV [SI],AL MOV [SI-1],AH MOV BL,1 ; 比较 AL 与 ES:[DI] ; 不相等转移至 L1 ; 相等继续 ; 比较下一数据 D. JP MOV AH,4CH INT 21H CODE REP LODSB 是取数据指令 REPE SCASB 是扫描指令 ENDS END START 题目答案:ACC 你的答案:ACB CD1: LOOP AGAIN DEC BL 【5】 AB1 A. JC B. JNE C. JZ A. JC B. JB C. JL B. REP LODSB A. MOV SI,OFFSET ARRAY C. LDS SI,ARRAY B. LES D. MOV SI,ARRAY;AX=2,DX=ACF0H第六次作业一、单选题 第1题(1分) 你的得分:1 对于下列程序段: AGAIN:CMP AL,ES:[DI] JNZ L1 INC DI LOOP AGAIN L1: ? A. REP MOVSB D. REPE SCASB 题目答案:D 你的答案:D 题目分析: AGAIN:CMP AL,ES:[DI] JNZ L1 INC DI LOOP AGAIN L1: ? 程序的功能是在内存中查找是否有与 AL 中内容相同的数据, 因此应该选用 REPE SCASB。 REP MOVSB 是数据块传送指令 REP STOBS 是存数据指令 第2题(1分) 你的得分:1 可用【1】指令完成相同的功能。下列描述正确的是【2】 。 A. 在多重循环程序中,内层循环只能有一个 B. 在汇编语言程序设计中,二重循环之间的关系可以交错 C. 在汇编语言程序设计中,循环返回时应回到初始化部分 之前 D. 在汇编语言程序设计中,循环返回时应回到初始化部分 24第4题(6分)你的得分:6以下程序的功能为:统计 BUF 中所含字符‘A’的个数→BL, 请在程序空白处填入合适的指令。 ┇ BUF DB ‘ABC 589TREAUBAATT’ C EQU $-BUF ┇ LEA SI,BUF 【6】 M0V BL,0 P: 【7】 ; ; [SI],'A' JNE LOP 【8】 LOP: INC SI LOOP P 题目答案:BDA 你的答案:BDA 题目分析: ┇ BUF DB ‘ABC 589TREAUBAATT’ C EQU $-BUF ┇ LEA SI,BUF 【1】;A. LEA CX,C 取符号 C 的值到 CX ;C. MOV CX,BUF 取变量 BUF 的内容到 CX D. MOV CX,OFFSET C M0V BL,0 P: 【2】;A. MOV AX,[SI] 取数据到 AX ;C. CMP [SI],'A' 指令有二义性 [SI],'A' 完成内存的内容与'A'的比较 JNE LOP 【3】;A. INC BL 计数器加1 ;C. DEC BL 计数器减1 LOP: INC SI LOOP P 第5题(3分) 你的得分:3 B. INC BX D. DEC BX B. MOV AL,[SI] 取 D. CMP BYTE PTR 数据到 AL 指令错误 指令错误 B. MOV CX,C ; ; A. INC BL C. DEC BL B. INC BX D. DEC BX A. MOV AX,[SI] C. CMP [SI],'A' B. MOV AL,[SI] D. CMP BYTE PTR ; ; A. LEA CX,C C. MOV CX,BUF B. MOV CX,C D. MOV CX,OFFSET C你的答案:C 题目分析: MOV CX,2 LOP:SHL DX,1 RCL BX,1 移到 BX 的最低位 LOOP LOP 第6题(3分) DATA DA1 DA2 DATA SEGMENT DW 121 DB ? ENDS ?? MOV AX,DA1 MOV CX,0 MOV BX,1 AR1: SUB AX,BX JB AR2 INC CL ADD BX,2 JMP AR1 AR2: MOV DA2,CL HLT 请问:(1)程序完成的功能是什么;(2)程序执行以后(DA2)为多 少。 A. (1)实现开平方运算 (2)(DA2)=11 运算 (2)(DA2)=12 C. (1)实现开平方运算 (2)(DA2)=11H 运算 (2)(DA2)=12H 题目答案:A 你的答案:A 题目分析: 一个数的开平方的近似算法: N-(1+3+5+7+?+I)&I M 个奇数;M 既为近似值。 注意:M 为11(0BH)而不是11H。 第7题(7分) 你的得分:7 D. (1)实现平方 B. (1)实现平方 你的得分:3 ;对低16位左移1位,其最高位移到 CF 中, ;对高16为带进位循环左移,把 CF 中的内容执行下列程序后,回答指定问题【10】 。寄存器 BX 和 DX 中存放有32位二进制数,其中 BX 中放高16 位,下列程序段完成对这32位数扩大4倍的功能,请填写完整程 序段。 MOV CX,2 LOP:SHL DX,1 【9】 ; D. RCR BX,1 LOOP LOP 题目答案:C 25 A. ROL BX,1 B. ROR BX,1 C. RCL BX,1下面是多字节加法程序,FIRST 存放第一个数与和,SECOND 存放第二个数;第一个数是8A0BH,第二个数是 D705H。请选择正 确的答案填入空格中。 DATA SEGMENT FIRST DB 【11】,【12】,0H SECOND DB 【13】,【14】 DATA CODEENDS SEGMENT ASSUME CS:CODE,DS:DATALOOP NEXT MOV AL,0 ADC AL,【7】 相加,故选 C MOV FIRST[SI],AL MOV AH,4CH INT 21H CODE ENDS END START 第8题(1分) MOV CX,5 MOV SI,4 Al: INC SI INC SI LOOP A1 A. 4 题目答案:C B. 0BH B. 0BH B. 0BH B. 0BH B. 2 B. CLD B. -1 C. D7H C. D7H C. D7H C. D7H C. 1 C. STC C. 0 D. 05H D. 05H D. 05H D. 05H D. 4 D. CLI D. 0FFH 第9题(2分) 你的得分:2 下面程序段实现的功能是:在内存中从地址 source 开始有 一个长度为100的字符串,测试该字符串中是否存在数字,如有 则将 DL 的 D5置1,否则将这位置0。试选择【19】相关的数据。 BEGIN: M0V CX,100 MOV SI,0 REPEAT: M0V SOURCE[SI] CMP AL,30H JB GOON ;由数据存放规律及运算过程可知 ;由数据存放规律及运算过程可知 GOON: CMP AL,—— JA GOON OR DL,20H JMP EXIT INC SI LOOP REPEAT AND DL,—— EXIT: A. 39H, ODFH ;有2个字节相加所以应选 B ;循环中使用 ADC 指令,在第一个字节 39,0FFH 题目答案:A 你的答案:A 题目分析: 本题要求测试某个字符串中是否存在数字,如有则将 DL 的 第五位置 l,否则置0。程序具体实现是:将字符串中的每个数据 与30H~39H 比较,看是否在其间,若在则置 l,否则转 GOON 执 26 B. 35H, 0FFH C. 35, 0DFH D. 你的答案:C B. 5 C. 14 D. 15 你的得分:1 ;计算最高位的进位应该把0与进位 CFSTART: MOV AX,DATA MOV DS,AX MOV CX,【15】 MOV SI,0 【16】 NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0 ADC AL,【17】 MOV FIRST[SI],AL MOV AH,4CH INT 21H CODE 【11】 【12】 【13】 【14】 【15】 【16】 【17】 ENDS END START A. 8AH A. 8AH A. 8AH A. 8AH A. 3 A. CLC A. 1下列程序执行后,SI 为【18】 。题目答案:BADCBAC 你的答案:BADCBAC 题目分析: DATA SEGMENT FIRST DB 【1】,【2】,0H 应选 B、A SECOND DB 【3】,【4】 应选 D、C DATA CODE ENDS SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,【5】 MOV SI,0 【6】 相加前应先把 CF 清零,选 A NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI 行。 二、多选题 第1题(1分) 你的得分:1DATA CODE BEG:ENDS SEGMENT ASSUME CS:CODE,DS:DATA,ES:NOTHING MOV AX,DATA 【2】 【3】 MOV SI,OFFSET STRING1 【4】 MOV CX,CNT CLD REPE CMPSB 【5】 MOV FLAG,&N&当 BL 的 D3位、D7位同时为1,就将 BL 存入 Y 单元。能够完 成此功能的指令序列是【1】 。 A. AND BL,88H JZ NO JNP NO MOV Y,BL NO: C. TEST BL,88H JZ NO JNP NO MOV Y,BL NO: 题目答案:BC 你的答案:BC 题目分析: 按照题目要求:当 BL 的 D3位、D7位同时为1,就将 BL 存入 Y 单元。答案 A、D 使用的是 AND 指令,这条指令执行后要影响寄 存器 BL 原来的内容,且答案 D 中是用77H 和 BL 相与,不符合题 目要求。答案 B、 C 中使用的是测试指令 TEST, 且测试数据为88H 是合适的。另外,答案 B 中两条条件转移指令的含义是,只有当 BL 和88H(B)相与的结果最高位 (D7位)为1且结果中 1的个数为偶数个时才执行指令“MOV Y,BL”。答案 C 中两条 条件转移指令连续判断的含义是:只有当 BL 和88H(B) 相与的结果不是0且结果中1的个数为偶数个时才执行指令“MOV Y,BL”。 2. 第2题(1分) 你的得分:0 在循环程序设计中,如果需要根据不同的条件执行不同的循 环程序段,一般采用的方法是【2】控制法。 A. 条件 题目答案:ACD 你的答案:ABCD 三、填空题 第1题(12分) 你的得分:4 在下列程序的括号中填写缺失的指令,使程序可以完成两个 字符串的比较,如果相同的话,FLAG 为“Y”,否则为“N”。 DATA SEGMENT STRING1 DB &HELLO, HOW ARE YOU?& STRING2 DB &HELLO, How ARE YOU?& CNT FLAG EQU 【1】 DB &Y& 27 ;应填写表达式,不能填写数字 DONE: B. 计数 C. 逻辑尺 D. 开关 1. NO: D. AND BL,77H JNS NO JNP NO MOV Y,BL NO: CODE OVER: B. TEST BL,88H JNS NO JNP NO MOV Y,BLMOV AX,4C00H INT 21H ENDS END BEG在题目给定的两个字符串的情况,程序执行完成后,FLAG 的值应 该等于【6】 (Y/N) 。 题目答案: 【1】$-STRING2【2】MOV DS,AX【3】MOV ES,AX【4】 LEA DI,STRING2【5】JZ OVER【6】N 你的答案: 【1】$-STRING1【2】MOV BX,NOTHING【3】MOV DS,AX 【4】MOV ES,BX【5】JE OVER【6】N 第2题(4分) 请填写完整指令。 【7】 JNC L1 【8】 JZ L1 题目答案: 【7】SHR BX,1【8】TEST BX,1 你的答案: 【7】CMP BX,1【8】TEST BX,1 第3题(6分) 你的得分:4 你的得分:2若要求 BX 寄存器中 D0=0时, 程序转移到标号 L1的地方执行,二个32位带符号数分别存放在 DX:AX 和 BX:CX 中,下列程序 段从二者中选出一个较大的数送入 DX:AX 中,试完善程序段。 CMP DX,BX 【9】 JL CHANGE CMP AX,CX 【10】 CHANGE: MOV AX,CX 【11】 HLT 题目答案: 【9】JG DONE【10】JAE CHANGE【11】MOV DX,BX 你的答案: 【9】JG DONE【10】JG DONE【11】MOV DX,BX 题目分析: 两个32位数比较大小,应先比较高16位(注意符号位只存在 在高16位中) ,如果高16位相同,再比较低16位(因为低16位全部 是数值位,所以比较后应该用无符号数的条件转移指令) 。 第4题(6分) 你的得分:2LEA SI,X LEA DI,Y MOV CX,3 CLC ;第1次循环 第2次循环 第3次循环 34H 9AH 9AH 00H 00H 56H 79H 79H 79H 79H NEXT: MOV AL,[SI] ;AL=23H ADC AL,[DI] ;AL=9BH MOV [DI],AL ;[DI]=9BH DAA INC SI ;AL=01H MOV [SI],AL ;[SI]=01指出下面程序运行后 X 和 Y 单元中各自存放的内容,分别填 写在分号后面的空格中。 DATA X Y DATA CODE SEGMENT DB 23H,34H,56H DB 78H,65H,22H ENDS SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,X LEA DI,Y MOV CX,3 CLC NEXT: MOV AL,[SI] ADC AL,[DI] MOV [DI],AL DAA MOV [SI],AL INC SI INC DI LOOP NEXT MOV AH,4CH INT 21H CODE ENDS END START 题目答案: 【12】01【13】00【14】79【15】9B【16】9A【17】 79 你的答案: 【12】01【13】99【14】78【15】9B【16】99【17】 78 题目分析: DATA X Y DATA CODE SEGMENT DB 23H,34H,56H DB 78H,65H,22H ENDS SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX 28 NOA: CODE ;【12】H、 【13】H、 【14】H ;【15】H、 【16】H、 【17】HINC DI LOOP NEXT MOV AH,4CH INT 21H ENDS END START 第5题(6分) XOR BX,BX MOV CX,30 Ll: MOV AX,CX MOV DL,5 DIV DL CMP AH,0 JNE L2 ADD BX,CX L2: LOOP Ll (1)程序段执行后,BX 内容=【18】D。 (2)若将程序段中的指令“MOV DL,5”改写为“MOV DL,3“程序 段执行后,BX 的内容=【19】D。 题目答案: 【18】105【19】165 你的答案: 【18】105【19】165 第6题(8分) 你的得分:8 你的得分:6阅读下面的程序段,回答问题。下面程序查找字符串 string 中是否有字母“A”, 有则 AL=0, 否则 AL=-1,请将程序填写完整。 MOV CX,20 MOV SI,0 【20】 NEXT: CMP AL,STRING[SI] 【21】 INC SI 【22】 MOV AL,-1 【23】 YESA: MOV AL,0 DONE: ? 题目答案: 【20】MOV AL,'A'【21】JZ YESA【22】LOOP NEXT【23】 JMP DONE 你的答案: 【20】MOV AL,41H【21】JE YESA【22】LOOP NEXT【23】 JMP DONE 第7题(6分) 你的得分:6【26】 MOV AH,0 MOV CX,10 ADDR2: 【27】 OR AL,AL 【28】 ADDRl 【29】 ADDR1: INC BX 【30】 题目答案: 【26】LEA BX,CHAR【27】MOV AL,[BX]【28】JS【29】 INC AH【30】LOOP ADDR2 你的答案: 【26】LEA BX,CHAR【27】MOV AL,[BX]【28】JS【29】 INC AH【30】LOOP ADDR2 题目分析: 在 CHAR 起始的地址中存有10个有符号字节数据,统计其中 正数的个数并将正数个数放在 AH 寄存器中。 CHAR DB 19,-45,?,10 ? 【1】 MOV AH,0 MOV CX,10 ADDR2: 【2】 OR AL,AL 【3】 ADDRl 【4】 ;0F6H ADDR1: INC BX 【5】 第9题(10分) ;控制循环,LOOP ADDR2 你的得分:10 ;是负数则转移到 ADDR1,所以应填写 JS ;是正数则 AH 加一,INC AH ;取出一个数据到 AL,MOV AL,[BX] ;设置地址指针,由倒数第二条指令可知地址 指针应为 BX,所以此处填写 LEA BX,CHAR ;10个数据上述程序段执行后共向堆栈压入【24】个数,按压入的先后 次序该数列为【25】H(用逗号把它们隔开) 。 R1 DB 246 ? XOR BH,BH MOV AL,R1 MOV DL,10 LOP: CMP AL,0 JBE NEXT MOV AH,0 DIV DL MOV BL,AH PUSH BX JMP LOP NEXT: ? 题目答案: 【24】3【25】6,4,2 你的答案: 【24】3【25】02 题目分析: R1 DB 246 ? XOR BH,BH ;BH=0 MOV AL,R1 ;AL=0F6H MOV DL,10 ;DL=0AH LOP: CMP AL,0 JBE NEXT MOV AH,0 DIV DL ;AH=06H,AL=18H,AH=04H,AL=02H,AH=02H,AL=00H, MOV BL,AH PUSH BX JMP LOP NEXT: ? 第8题(10分) 你的得分:10 L1: ;BX=0006H, H ;AH=0 ;0F6H填空下列程序,使其完成统计 DATA 数据段以 BUF 为首址的 COUNT 个无符号宇数据中,大于80的数据的个数,并将结果存在 RESULT 单元中。 DATA BUF SEGMENT 【31】 1,2,100,?,54COUNT EQU ($-BUF)/2 RESULT【32】 ? DATA CODE ENDS SEGMENT ASSUME CS:CODE,DS:DATA START: MOV CX,COUNT XOR DX,DX 【33】 CMP WORD PTR [BX],80 【34】 INC DX 29在 CHAR 起始的地址中存有10个有符号字节数据,统计其中 正数的个数并将正数个数放在 AH 寄存器中。 CHAR DB 19,-45,?,10 ? ;10个数据 L2:【35】 LOOP L1 MOV RESULT,DX MOV AH,4CH INT 21HMOV AX,0 MOV BX,1 MOV CX,100 A: ADD AX,BX INC BX LOOP A HLT 执行后 BX=【2】 ,AX=【3】 。 【2】 A. 99 【3】 A. 5000 题目答案:CB 你的答案:CB 题目分析: 1) 在进入循环之前, 有三条指令分别初始化寄存器: AX 为0、 BX 为1、CX 为100; 2)由于循环的控制部分采用的是 LOOP 指令,该指令有使 CX 减1, 并判断其是否为0的功能, 所以可知该循环的执行次数为100 次; 3)循环体的主要功能是每次循环使 AX 中的内容累加 BX 的 内容,并使 BX 的内容加1。 4)直到最后一次(即第100次)循环时,加到 AX 中的 BX 的 内容为100,且使 BX 加1,即变为101后退出循环体。所以当执行 ;循环开始应设置地址指针,此处填入 LEA 完该段程序后,BX 的内容为101。 5)该段程序的功能是(AX)=1+2+??+100=5050 ;由该计算数据个数的语句可得数据应 B. 100 B. 5050 C. 101 C. 5100 D. 102 D. 5150CODEENDS END START题目答案: 【31】DW【32】DW【33】LEA BX,BUF【34】JBE L2【35】 ADD BX,2 你的答案: 【31】DW【32】DW【33】LEA BX,BUF【34】JNA L2【35】 ADD BX,2 题目分析: DATA BUF SEGMENT 【1】 1,2,100,?,54COUNT EQU ($-BUF)/2 为字,所以【1】填写 DW RESULT【2】 ? DATA CODE ENDS SEGMENTASSUME CS:CODE,DS:DATA START: MOV CX,COUNT XOR DX,DX 【3】 BX,BUF L1: CMP WORD PTR [BX],80 【4】 INC DX L2: 【5】 LOOP L1 MOV RESULT,DX MOV AH,4CH INT 21H CODE ENDS END START ;存放结果指令可得【2】应填写 DW ;调整地址指针,ADD BX,2 ;不高于则转移,JBE L2第3题(4分)你的得分:0下面是一个单字节无符号二进制整数转换为 BCD 码的子程 序。子程序入口条件是:SI 指向二进制数所在单元,转换结果以 压缩 BCD 码形式存放在 SI+1和 SI+2两个单元中。请选择正确的 答案。 BTOBCD PROC MOV AL,0 MOV [SI+1],AL MOV [SI+2],AL第7次作业一、单选题 第1题(2分) 语句是【1】 。 A. DA1 DB 4,6,5 C. DA1 DB 4,6,4,6,5 题目答案:C 你的答案:C 第2题(4分) 执行如下程序: 30 你的得分:4 SUB B. DA1 DB 2,4,6,5 D. DA1 DB 4,6,5,4,6,5 L3: 你的得分:2 语句 DA1 DB 2 DUP(4,6),5 汇编后,与该语句功能等同的 SAR D. 16 L2:MOV CX,【4】 MOV BL,[SI] 【5】 BL,1 D. TEST MOV [SI],BL MOV DL,2 INC SI MOV AL,[SI] 【6】 AL,AL D. SBB DAAA. 2B. 4C. 8A. SHRB. SHLC.A. ADDB. ADCC. MOV [SI],AL DEL DL 【7】 L3 D. JNC SUB SI,2 LOOP L2 RET BTOBCD ENDP 题目答案:CBBB 你的答案:BAAC 第4题(2分) 你的得分:2 A. JZ B. JNZ C. JC第6题(6分)你的得分:6下面的程序是将10个8位的无符号数按递减次序排序。请选 择正确的答案将程序填充完整。 DATA DATA CODE SEGMENT ENDS SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX AB1: MOV SI,OFFSET ARRAY MOV BL,0 MOV CX,10 【10】 INC CX AGAIN: MOV AL,[SI] INC SI CMP AL,[SI] 【11】 CD1 JA MOV AH,[SI] MOV [SI],AL DEC SI B. JC NEXT C. JNC NEXT D. MOV [SI],AH INC SI MOV BL,1 CD1: LOOP AGAIN DEC BL 你的得分:1 JP MOV AH,4CH INT 21H CODE ENDS END START 题目答案:CDC 你的答案:CDC A. SUB C. SUB AL,0AH AL,07H B. ADD AL,0AH D. ADD AL,07H 题目分析: 【1】数据总数为10,则循环次数应为9,所以选择 C。 【2】根据题意可知 AL 小于[SI]时应转移,可用的转移指令 D。 【3】此处判断在结束一次大循环的情况下,是否发生了两数交 换的情况:是则继续循环,否则结束循环。因此选择 C。 第7题(2分) DON: CMP AX,0 JZ NEXT 31 你的得分:2 【12】 AB1 A. JC B. JNE C. JZ D. A. JG B. JC C. JE D. A. INC BL B. INC SI C. DEC CX D. ARRAY DB 05H,78H,0FFH,7BH,00H,8CH,20H,0A0H,0F0H,60H下列子程序利用累减来完成除法操作,请选择合适的代码使 程序完善(被除数在 AX 中,除数在 CX 中,商存放在 DL 中) 。 dee_div PROC MOV DL,0 LOP: SUB AX,CX 【8】 INC DL JMP LOP NEXT: ADD AX,CX RET dee_div ENDP A. JMP NEXT JE NEXT 题目答案:B 你的答案:B 第5题(1分)下面的子程序是将 AL 寄存器低4位中的十六进制数转换为 ASCII 码,试问:该子程序中的空缺处应填写什么指令? HTOASC PROC AND ADD CMP JBE 【9】 DONE: RET HTOASC ENDP 题目答案:D 你的答案:D 题目分析: 当 AL 寄存器低4位对应的十六进制数小于0AH(AL 小于3AH) 时,程序中的 JBE 判断为真,直接输出结果;如果大于9H 时,需 要加上07H 才能转化成对应的 ASCII 码。 AL,0FH AL,30H AL,39H DONEMOV AX,1234H SHL AX,1 JNC DON INC BL JMP DON NEXT:HLT 请问:(1)该程序的功能是什么?(2)程序执行后(BL)为多少? 【13】 。 A. (1)统计 AX 寄存器中二进制为“0”的个数 (2)(BL)=05H B. (1)统计 AX 寄存器中二进制为“1”的个数 (2)(BL)=05H C. (1)统计 AX 寄存器中二进制为“0”的个数 (2)(BL)=06H D. (1)统计 AX 寄存器中二进制为“1”的个数 (2)(BL)=06H 题目答案:B 你的答案:B 题目分析:
00B 第8题(4分) 你的得分:4题目分析: 转移地址超出范围。 三、填空题 第}

我要回帖

更多关于 微机原理期末考试题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信